Difference between revisions of "MODBUS"

From DDUtilV3
Jump to: navigation, search
(File Controls)
(Setup)
 
(7 intermediate revisions by the same user not shown)
Line 16: Line 16:
 
Read more about '''MODBUS''' at these links as well as '''MANY''' more sources on the internet.
 
Read more about '''MODBUS''' at these links as well as '''MANY''' more sources on the internet.
 
* [http://en.wikipedia.org/wiki/Modbus '''Wikipedia''']
 
* [http://en.wikipedia.org/wiki/Modbus '''Wikipedia''']
* [http://http://www.simplymodbus.ca/faq.htm '''MODBUS website'''].
+
* [http://modbus.org '''MODBUS website'''].
 
* [http://www.simplymodbus.ca/faq.htm '''Simply ModBus''']  
 
* [http://www.simplymodbus.ca/faq.htm '''Simply ModBus''']  
 
* [http://www.csimn.com/CSI_pages/Modbus101.html '''MODBUS Tutorial''']
 
* [http://www.csimn.com/CSI_pages/Modbus101.html '''MODBUS Tutorial''']
Line 29: Line 29:
 
==Setup==
 
==Setup==
  
[[Image:MODBUSS.png|Frame|Setup Form]]
+
[[Image:MODBUSS_30988.png|Frame|Setup Form]]
  
 
===Controls===
 
===Controls===
Line 38: Line 38:
 
* '''OnMacro''' → Macro to execute if the point changes from false to true.
 
* '''OnMacro''' → Macro to execute if the point changes from false to true.
 
* '''OffMacro''' → Macro to execute if the point changes from true to false.
 
* '''OffMacro''' → Macro to execute if the point changes from true to false.
 +
:'''Notes:'''
 +
:: 1. The data elements can be edited directly in the '''Scan Properties''' grid.
 +
:: 2. Be sure to save the data when you're through editing by using the '''Save''' button.
 +
====Enable MODBUS====
 +
* When selected will enable the '''MODBUS''' functionality. Select this control after selecting the port and comm data.
  
 
====File Controls====
 
====File Controls====
Line 43: Line 48:
 
* '''Load''' → When pressed this button will open a file input dialog box so a file may be selected and loaded.
 
* '''Load''' → When pressed this button will open a file input dialog box so a file may be selected and loaded.
 
* '''Save''' → When pressed this button will open a file save dialog box so the loaded data can be saved.
 
* '''Save''' → When pressed this button will open a file save dialog box so the loaded data can be saved.
: <span style="color:red">'''Warning!'''</span> The file name needs to be unique to prevent future versions of '''DDUtil''' from over-writing the default data file.
+
: <span style="color:red">'''Warning!'''</span> The file name needs to be unique to prevent future versions of '''DDUtil''' from over-writing the default data file (newModBusData.xml).
  
 
====Port Controls====
 
====Port Controls====
Line 59: Line 64:
 
* '''Enable''' &rarr;  Selecting this check box enables the [[Glossary#Binary-Coded_Decimal|'''BCD''']] output to the selected module.
 
* '''Enable''' &rarr;  Selecting this check box enables the [[Glossary#Binary-Coded_Decimal|'''BCD''']] output to the selected module.
 
* '''One Of''' &rarr;  Selecting this check box changes the output from '''BCD''' to a decoded single digit.
 
* '''One Of''' &rarr;  Selecting this check box changes the output from '''BCD''' to a decoded single digit.
: As an example if the data was a decimal 5, instead of generating a binary 5 (00001001) you would get the 5th bit turned on (00010000) instead.  
+
: As an example if the data was a decimal 5, instead of generating a binary 5 (00000101) you would get the 5th bit turned on (00010000) instead.  
 
:'''Note:''' this is not a common usage, but can be handy at times.
 
:'''Note:''' this is not a common usage, but can be handy at times.
 
* '''PLC Address''' &rarr; Address of the '''PLC''' on the '''MODBUS''' (typically 1).
 
* '''PLC Address''' &rarr; Address of the '''PLC''' on the '''MODBUS''' (typically 1).
 
* '''PLC Point''' &rarr; '''PLC''' base point to access.
 
* '''PLC Point''' &rarr; '''PLC''' base point to access.
 +
 +
===Using Macros===
 +
Control of the PLC can be accessed directly by using the '''DDMK''' macro as follows:
 +
*DDMKDO:nnn:tttt:bbbb;
 +
*where nnn is the PLC address in decimal
 +
*where tttt is the point type in decimal. Y and C for now and the  point address in decimal, limit checked for valid koyo address
 +
*where bbbb is at least 1 and up to  1968 binary digits which will be set starting at bbbb
 +
*DDMKDO:1:C101:0001; Sets C101 module's relay #1 to on
 +
*DDMKDO:1:C101:0010; Sets C101 module's relay #2 to on

Latest revision as of 09:31, 3 June 2020

General

Modbus is a serial communication protocol developed by Modicon published by Modicon® in 1979 for use with its programmable logic controllers (PLCs). In simple terms, it is a method used for transmitting information over serial lines between electronic devices. The device requesting the information is called the Modbus Master and the devices supplying information are Modbus Slaves. In a standard Modbus network, there is one Master and up to 247 Slaves, each with a unique Slave Address from 1 to 247. The Master can also write information to the Slaves.

Just about any hardware can be controlled using ModBus here are a few examples.

  • Generate TTL BCD band data to band switch amps, antenna switches, low-pass filters.
  • Generate Voltage Level band data.
  • Split a single key-line into multiple key-lines for transverters.
  • Generate sequencing events for transverters.
  • Select one of multiple antennas using band data or macros.
  • Monitor (scan) digital or analog lines for predefined changes and then operate on these changes.
    • Monitor a temp sensor and turn a cooling fan on/off.
    • Monitor SWR and open the PTT line if a predetermined value is reached.
  • Activate and control remote tuners.

Info Links

Read more about MODBUS at these links as well as MANY more sources on the internet.

Hardware

The MODBUS implementation in DDUtil uses the Koyo line of PLCs (Programmable Logic Controllers). Depending on your needs you may only require a single PLC or you may need several other specialty modules depending on how involved your installation is.

User Background

  • This feature assumes you have a working knowledge of MODBUS and PLCs.
  • Some hardware assembly, construction and wiring is required to implement this feature.

Setup

Setup Form

Controls

Scan Parameters

This is data contained in the MODBUS data file and represents the inputs that need to be scanned by the PLC.

  • Addr → The location on the MODBUS of the PLC and modules.
  • Point → The specific point address of the Input or Output bit to be scanned.
  • OnMacro → Macro to execute if the point changes from false to true.
  • OffMacro → Macro to execute if the point changes from true to false.
Notes:
1. The data elements can be edited directly in the Scan Properties grid.
2. Be sure to save the data when you're through editing by using the Save button.

Enable MODBUS

  • When selected will enable the MODBUS functionality. Select this control after selecting the port and comm data.

File Controls

  • File Name → A unique file name to hold the scan data. This file is located in the %APPDATA%/DDUtil_V3/ModBus/ directory.
  • Load → When pressed this button will open a file input dialog box so a file may be selected and loaded.
  • Save → When pressed this button will open a file save dialog box so the loaded data can be saved.
Warning! The file name needs to be unique to prevent future versions of DDUtil from over-writing the default data file (newModBusData.xml).

Port Controls

  • Comm → The MODBUS port communication Baud Rate.
Note: all baud rates default to Eight Data Bits, No Parity and One Stop Bit (8N1).
  • Port → Serial port to connect with the MODBUS PLC.

Scan Controls

  • Enable Scanning → When selected will cause DDUtil to read the data points in the Scan Parameters file and execute the macros as required.

BCD Output

This is intended as another output port for the Band Data file on the LPT tab. This feature requires a Digital Output Module capable of sourcing 5 vdc at a few mills.

  • Enable → Selecting this check box enables the BCD output to the selected module.
  • One Of → Selecting this check box changes the output from BCD to a decoded single digit.
As an example if the data was a decimal 5, instead of generating a binary 5 (00000101) you would get the 5th bit turned on (00010000) instead.
Note: this is not a common usage, but can be handy at times.
  • PLC Address → Address of the PLC on the MODBUS (typically 1).
  • PLC PointPLC base point to access.

Using Macros

Control of the PLC can be accessed directly by using the DDMK macro as follows:

  • DDMKDO:nnn:tttt:bbbb;
  • where nnn is the PLC address in decimal
  • where tttt is the point type in decimal. Y and C for now and the point address in decimal, limit checked for valid koyo address
  • where bbbb is at least 1 and up to 1968 binary digits which will be set starting at bbbb
  • DDMKDO:1:C101:0001; Sets C101 module's relay #1 to on
  • DDMKDO:1:C101:0010; Sets C101 module's relay #2 to on