PLX3x User Manual
PLX3x User Manual
PLX3x User Manual
USER MANUAL
Your Feedback Please
We always want you to feel that you made the right decision to use our products. If you have suggestions, comments,
compliments or complaints about our products, documentation, or support, please write or call us.
How to Contact Us
ProSoft Technology, Inc.
9201 Camino Media, Suite #200
Bakersfield, CA 93311
+1 (661) 716-5100
+1 (661) 716-5101 (Fax)
www.prosoft-technology.com
support@prosoft-technology.com
No part of this document may be reproduced in any form or by any means, electronic or mechanical, including
photocopying, without express written permission of ProSoft Technology. All pertinent state, regional, and local safety
regulations must be observed when installing and using this product. For reasons of safety and to help ensure
compliance with documented system data, only the manufacturer should perform repairs to components. When
devices are used for applications with technical safety requirements, the relevant instructions must be followed.
Failure to use ProSoft Technology software or approved software with our hardware products may result in injury,
harm, or improper operating results. Failure to observe this information can result in injury or equipment damage.
© 2017 ProSoft Technology. All rights reserved.
Important Installation Instructions
Power, Input, and Output (I/O) wiring must be in accordance with Class I, Division 2 wiring methods, Article 501-4 (b)
of the National Electrical Code, NFPA 70 for installation in the U.S., or as specified in Section 18-1J2 of the Canadian
Electrical Code for installations in Canada, and in accordance with the authority having jurisdiction. The following
warnings must be heeded:
This Equipment is Suitable For Use in Class I, Division 2, Groups A, B, C, D or Non-Hazardous Locations Only
WARNING – Explosion Hazard – Substitution of Any Components May Impair Suitability for Class I, Division 2
WARNING – Explosion Hazard – Do Not Disconnect Equipment Unless Power Has Been Switched Off Or The Area
is Known To Be Non-Hazardous
CE Mark
UL/cUL Class I Div II
ATEX Zone 2
CB Safety
RoHS
PLX3x Series Contents
Ethernet and Serial Gateways User Manual
Contents
Your Feedback Please ........................................................................................................................ 2
How to Contact Us .............................................................................................................................. 2
ProSoft Technology® Product Documentation .................................................................................... 2
Literature Content Disclaimer ............................................................................................................. 2
Important Installation Instructions ....................................................................................................... 3
Agency Approvals and Certifications .................................................................................................. 3
1 Start Here 9
1.1 System Requirements ............................................................................................... 9
1.2 Package Contents ................................................................................................... 10
1.3 Mounting the Gateway on a DIN-rail ....................................................................... 11
1.4 Jumper Settings ...................................................................................................... 12
1.5 SD Card ................................................................................................................... 12
1.6 Connecting Power to the PLX3x Gateway .............................................................. 13
4 Hardware Information 45
4.1 Hardware Specifications.......................................................................................... 46
4.1.1 Serial Port Specifications ........................................................................................ 47
4.2 Serial Port Cables (for Gateways with Serial Ports) ............................................... 48
5 EIP Protocol 51
5.1 EIP Functional Overview ........................................................................................ 52
5.1.1 EtherNet/IP™ Client ............................................................................................... 53
5.2 EIP Configuration .................................................................................................... 54
5.2.1 EIP Class 3 Server Connection .............................................................................. 54
5.2.2 EIP Class 1 Connection .......................................................................................... 56
5.2.3 EIP Class 3 Client/UClient [x] Connection .............................................................. 58
5.3 EIP Diagnostics....................................................................................................... 69
5.3.1 PCB Diagnostics Menu ........................................................................................... 69
5.3.2 EIP Status Data in Upper Memory.......................................................................... 69
5.3.3 EIP Error Codes ...................................................................................................... 72
5.4 EIP Reference......................................................................................................... 76
5.4.1 SLC and MicroLogix Specifics ................................................................................ 76
5.4.2 PLC5 Processor Specifics ...................................................................................... 80
5.4.3 ControlLogix and CompactLogix Processor Specifics ............................................ 84
5.4.4 EIP Command Entry Form ...................................................................................... 91
6 MBTCP Protocol 93
6.1 MBTCP Functional Overview.................................................................................. 94
6.1.1 General Specifications - Modbus TCP/IP ............................................................... 94
6.1.2 Internal Database ................................................................................................... 95
6.2 MBTCP Configuration ............................................................................................. 98
6.2.1 MBTCP Servers ...................................................................................................... 98
6.2.2 MBTCP Client[x] ................................................................................................... 100
6.2.3 MBTCP Client[x] Commands ................................................................................ 102
6.3 MBTCP Diagnostics .............................................................................................. 106
6.3.1 PCB Diagnostics ................................................................................................... 106
6.3.2 MBTCP Status Data in Upper Memory ................................................................. 106
6.3.3 MBTCP Error Codes ............................................................................................. 109
6.4 MBTCP Reference ................................................................................................ 110
6.4.1 Modbus Protocol Specification ............................................................................. 110
Index 221
1 Start Here
In This Chapter
System Requirements........................................................... 9
Package Contents............................................................... 10
Mounting the Gateway on a DIN-rail ................................... 11
Jumper Settings .................................................................. 12
SD Card .............................................................................. 12
Connecting Power to the PLX3x Gateway .......................... 13
Important: Before beginning the installation, please verify that all of the following items are
present.
MODE 1 - Development Mode Jumper: This is the top jumper, used for
firmware updates only. The two pins should NOT be jumpered during
normal operation.
1.5 SD Card
PLX3x products can be ordered with an optional SD card (Part Number SDI-1G).
In the event of a disaster, the SD card can be moved from one module to the
next and resume operation. Below is a list of how the module will act - with and
without an SD card.
Without an SD Card
Configuration data is downloaded to the internal memory of the module.
If a blank SD Card is inserted in to the module after the module has been
configured, the configuration data will not be transferred to the SD card.
The configuration data would need to be downloaded to the module while
the SD card is in place.
With an SD Card
Configuration data is downloaded to the SD Card
The configuration data is not transferred from the SD card to the internal
memory of the module. If the SD card is removed and power is cycled to
the module, the module will load the configuration data from the module’s
memory. If there is no configuration data in the module’s memory, it will
be restored to factory default.
WARNING: Ensure that polarity is not reversed when applying power to the gateway. This will
cause damage to the gateway’s power supply.
In This Chapter
2 On the shortcut menu, select CHOOSE MODULE TYPE. This action opens
the Choose Module Type dialog box.
3 In the Product Line Filter area of the dialog box, select the PLX30 radio
button.
4 In the STEP 1: Select Module Type drop-down list, select the model number
that matches your gateway, and then click OK to save your settings and
return to the PCB Main window.
The Default Project and Default Location folders may be renamed in the tree
view. Select the object, and then click the right mouse button to open a shortcut
menu. From the shortcut menu, choose RENAME.
Note: Depending on the parameter, the editable field will accept typed input in the form of text or a
valid numerical value, or it will have a dropdown list with options to choose from.
5 Double-clicking any icon will open an Edit dialog box with a table.
7 To edit the row, click the Edit Row button. This will open an Edit dialog box
where you can edit the row parameters.
Note: This is an advanced configuration feature and is not required for the basic operation of the
gateway.
The Data Map section allows data to be copied between areas in the gateway's
internal database.
The Data Map is especially useful for copying protocol-specific error and status
data from the gateway’s upper memory registers (address 4000 and up) to the
user-accessible memory registers (addresses 0 to 3999). The error and status
data copied into the user memory area can then be accessed by a remote
device, such as an HMI or processor.
Information about upper memory addresses where the gateway places protocol-
specific error and status data can be found in the Diagnostics section in the
appropriate protocol chapter of this manual:
The Data Map can also be used to condense widely dispersed data into one
contiguous data block, for simplified access.
A maximum of 100 registers per Data Map command can be copied, and a
maximum of 200 separate copy commands can be configured.
The byte and/or word order can be rearranged during the copy process. For
example, by rearranging byte or word order, floating-point values can be
converted to the correct format for a different protocol.
The following table describes the parameters for configuring the Data Map.
Note: The PLX32 module contains two Ethernet ports. In this case, you would specify network
settings for the first Ethernet protocol on Enet P1 and another set of settings for the second
Ethernet Protocol on Enet P2.
1 Determine the network settings for your Gateway, with the help of your
network administrator if necessary. You will need the following information:
o IP address (fixed IP required) _____ . _____ . _____ . _____
o Subnet mask _____ . _____ . _____ . _____
o Gateway address _____ . _____ . _____ . _____
Note: The gateway address is optional, and is not required for networks that do not use a default
gateway.
3 Edit the values for my_ip, netmask (subnet mask) and gateway (default
gateway).
Note: If you are using a PLX32 module, you must specify values for both ports. My_ip is used to
specify values for the first protocol. For example, if you are configuring a PLX32-EIP-MBTCP, you
would specify the network values for the EIP protocol first. A second set of values are available for
the second protocol; in this case, MBTCP.
4 When you are finished editing, click OK to save your changes and return to
the ProSoft Configuration Builder window.
5 Enter the same IP address and network mask that you entered in the
Ethernet configuration of the gateway. Click OK. The gateway will reboot.
6 Close the ProSoft Discovery Service window to return to the Download dialog
box.
7 Click the DOWNLOAD button.
The gateway will perform a platform check to read and load its new settings.
When the platform check is complete, the status bar in the Download dialog
box will display the message Module Running.
In This Chapter
Tip: You can have a ProSoft Configuration Builder Diagnostics window open for more than one
gateway at a time.
2 Click the Connect button. Verify that the Ethernet is connected properly
between your computer’s communication port and the gateway.
If you are still not able to establish a connection, contact ProSoft Technology
for assistance.
The menu commands available will depend on the protocol combination of your
gateway.
Caution: Some of the commands available to you from this menu are designed for advanced
debugging and system testing only, and can cause the gateway to stop communicating with the
processor or with other devices, resulting in potential data loss or other communication failures.
Use these commands only if you fully understand their potential effects, or if you are specifically
directed to do so by ProSoft Technology Technical Support Engineers.
3 To view the log file created, click the View Log File button. The log file will
open as a text file, which can be renamed and saved to a different location.
4 To email the log file to ProSoft Technology’s technical support team, click the
Email Log File button. (For this to work, Microsoft Outlook must be installed
on your PC.)
5 If you do multiple sequential captures, PCB will append data from a new
capture to the end of the previously captured data. If you want previous data
to be cleared from the log file each time you start a new capture, click the
Clear Data button.
Note: The PCB Data Analyzer is for serial ports only. To analyze data traffic on an Ethernet port,
we recommend using a network protocol analyzer available on the Internet, such as Wireshark.
3 In the Data Analyzer Setup dialog box, specify the time tick interval, the serial
port number, and whether the data packet contents should be displayed in
hexadecimal number or ASCII character format. Click OK.
Note: The time tick is a symbol (_TT_) displayed on the Data Analyzer screen that allows you to
estimate time intervals during a Data Analyzer session. The time tick will print at the time interval
you specify in the Data Analyzer Setup dialog box. For example, if you select 10 mS Ticks, it will
print every 10 milliseconds.
4 If you wish to capture the Data Analyzer session to a log file, click the Log
File button.
5 Click the Start Data Analyzer button to start the Data Analyzer. Click it again
to stop it.
For Modbus protocol users: To interpret the data packets, refer to the Modbus Protocol
Specification, which can be found in this manual (page 141) or at www.modbus.org.
4 Hardware Information
In This Chapter
Specification Description
Power Supply 24 VDC nominal
10 VDC to 36 VDC allowed
Positive, Negative, GND Terminals
Current Load 208mA normal @ 24 VDC normal
300 mA maximum @ 36 VDC maximum
Operating Temperature -25°C to 70°C (-13°F to 158°F)
Storage Temperature -40°C to 80°C (-40°F to 176°F)
Relative Humidity 5% to 95% RH with no condensation
Dimensions Standard: 5.38 in x 1.99 in x 4.38 in
(Height x Width x (13.67 cm x 5.05 cm x 11.13 cm)
Depth)
LED Indicators Configuration (CFG) and Error (ERR) Communication
(On all gateways) Status
Power (PWR) and Hardware Fault (FLT)
Network Status (NS) EtherNet/IP™ Class I or Class III
Connection Status (EtherNet/IP Only)
Module Status (MS) Module Configuration Status
(EtherNet/IP Only)
Ethernet Communication Port Link/Activity and 100mbit
Serial Communication Port Receive (RX) and Transmit
(TX)
Ethernet Port (S) 10/100Mbit full-duplex RJ45 Connector Electrical Isolation
1500 Vrms at 50 Hz to 60 Hz for 60 seconds, applied as
specified in section 5.3.2 of IEC 60950: 1991
Ethernet Broadcast Storm Resiliency = less than or equal
to 5000 [ARP] frames-per-second and less than or equal to
5 minutes duration
Serial Port Isolation 2500 Vrms port signal isolation per UL 1577
serial port communication signal uses RF(Radio
Frequency) modulation signal as isolation media, IC chip
model is Silicon Labs Si844x(Si8440,Si8441,Si8442).
Shipped With Each Unit 2.5 mm screwdriver
J180 Power Connector
(1 to 4) RJ45-DB9M Serial Adapter Cable (serial protocol
only)
(1 to 4) DB9 to Screw Terminal Adapter (serial protocol
only)
Type Specifications
Serial Port Isolation 2500 Vrms port signal isolation per UL 1577
serial port communication signal uses RF (Radio
Frequency) modulation signal as isolation media, IC
chip model is Silicon Labs Si844x
(Si8440,Si8441,Si8442).
Serial Port Protection RS-485/422 port interface lines TVS diode protected
at +/- 27V standoff voltage.
RS-232 port interface lines fault protected to +/- 36V
power on, +/- 40V power off.
Note:
The PLX31-EIP-MBS4 gateway contains four serial communication ports.
Each physical serial port has a RJ45 jack connector. A six-inch RJ45 to DB9Male
adapter cable is provided for each serial port. The DB9Male adapter cable
provides connections for RS-232, wired as Data Terminal Equipment (DTE), RS-
422 and RS-485.
Note: If the port is configured to use RTS/CTS handshaking, then a jumper is required between the
RTS and the CTS line on the gateway connection.
NOTE: This type of connection is commonly called a RS-485 half-duplex, 2-wire connection. If you
have RS-485 4-wire, full-duplex devices, they can be connected to the gateway's serial ports by
wiring together the TxD+ and RxD+ from the two pins of the full-duplex device to Pin 1 on the
gateway and wiring together the TxD- and RxD- from the two pins of the full-duplex device to Pin 8
on the gateway. As an alternative, you could try setting the gateway to use the RS-422 interface
and connect the full-duplex device according to the RS-422 wiring diagram. For additional
assistance, please contact ProSoft Technical Support.
5 EIP Protocol
In This Chapter
Data Type Tag Name Length of Each Element in Array Range for 4000
CIP Message Element Database
BOOL BOOLData[ ] 1 0 to 63999
Bit Array BITAData[ ] 4 0 to 1999
SINT SINTData[ ] 1 0 to 7999
INT INT_Data[ ] 2 0 to 3999
DINT DINTData[ ] 4 0 to 1999
REAL REALData[ ] 4 0 to 1999
The following tables define the relationship of the gateway’s internal database to
the addresses required in the MSG instructions:
4. Once RSLogix5000 has been restarted, add a New Module under the
EtherNet/IP bridge in the I/O tree.
5. In the Module Type Vendor Filters window set the filter options to ProSoft
Technology.
6. Select the corresponding PLX3x gateway and click Create
7. In the next window set the IP address to the address of the PLX3x
gateway. To add I/O connections click the Change button.
8. Here up to eight I/O connections can be added. The I/O connections have
a fixed size of 496 bytes of input data and 496 bytes of output data. When
finished click ok.
9. In the Module properties window each I/O connection can be configured
with its own RPI time.
1. Add a New Module under the EtherNet/IP bridge in the I/O tree.
2. Click Find and search for Generic EtherNet Bridge click Create.
3. Set the IP address to the gateway. This creates the communication path
from the processor to the PLX3x gateway
4. Next add a New Module under the Generic EtherNet Bridge and add a
CIP Connection. Here the parameters for the I/O connection are
specified. The input and output sizes need to match the input and output
sizes configured in PCB. The Address field value represents the
connection number in PCB. By default all of the connections have 248
Input words, 248 Output words, and 0 Configuration words. The Comm
format should be set to Data type INT, and the Assembly instances
should be "1" for input, "2" for output, and "4" for configuration.
5. A CIP Connection will need to be added and configured for each I/O
connection.
Input Size 0 to 248 This parameter specifies the number of Integers being
transferred to the PLC's input image (248 integers max)
Output Data 0 to 3999 This parameter specifies the starting address within the
Address gateway’s virtual database for data transferred from the
module to the PLC
Output Size 0 to 248 This parameter specifies the number of integers being
transferred to the PLC's output image (248 integers max)
The following tables describe the command list parameters for each message
type.
Swap Code None Specifies if the data from the server is to be ordered
Word swap differently than it was received. This parameter is typically
Word and Byte used when dealing with floating-point or other multi-
swap register values.
Byte swap None - No change is made (abcd)
Word swap - The words are swapped (cdab)
Word and Byte swap - The words and bytes are
swapped (dcba)
Byte swap - The bytes are swapped (badc)
IP Address xxx.xxx.xxx.xxx Specifies the IP address of the target device to be
addressed by this command
Slot -1 Use a value of -1 when interfacing to an SLC 5/05. These
devices do not have a slot parameter. When addressing a
processor in a ControlLogix or CompactLogix rack, the
slot number corresponds to the slot in the rack containing
the controller being addressed.
Func Code 501 Specifies the function code to be used in the command.
509 501 – Protected Typed Read
509 – Protected Typed Write
File Type Binary Specifies the file type to be associated with the command.
Counter
Timer
Control
Integer
Float
Swap Code None Specifies if the data from the server is to be ordered
Word swap differently than it was received. This parameter is
Word and Byte typically used when dealing with floating-point or other
swap multi-register values.
Byte swap None - No change is made (abcd)
Word swap - The words are swapped (cdab)
Word and Byte swap - The words and bytes are
swapped (dcba)
Byte swap - The bytes are swapped (badc)
IP Address xxx.xxx.xxx.xxx Specifies the IP address of the target device to be
addressed by this command
Slot -1 Use a value of -1 when interfacing to an SLC 5/05.
These devices do not have a slot parameter. When
addressing a processor in a ControlLogix or
CompactLogix, the slot number corresponds to the slot
in the rack containing the controller being addressed.
Func Code 502 Specifies the function code to be used in the command.
510 502 - Protected Typed Read
511 510 - Protected Typed Write
511 - Protected Typed Write w/Mask
Swap Code None Specifies if the data from the server is to be ordered
Word swap differently than it was received. This parameter is
Word and Byte typically used when dealing with floating-point or other
swap multi-register values.
Byte swap None - No change is made (abcd)
Word swap - The words are swapped (cdab)
Word and Byte swap - The words and bytes are
swapped (dcba)
Byte swap - The bytes are swapped (badc)
IP Address xxx.xxx.xxx.xxx Specifies the IP address of the target device to be
addressed by this command
Slot -1 Use a value of -1 when interfacing to a PLC5 These
devices do not have a slot parameter. When addressing
a processor in a ControlLogix or CompactLogix, the slot
number corresponds to the slot in the rack containing
the controller being addressed.
Func Code 100 Specifies the function code to be used in the command.
101 100 - Word Range Write
102 101 - Word Range Read
102 - Read-Modify-Write
File Number -1 Specifies the PLC5 file number to be associated with
the command. If a value of -1 is entered for the
parameter, the field will not be used in the command,
and the default file will be used.
Swap Code None Specifies if the data from the server is to be ordered
Word swap differently than it was received. This parameter is
Word and Byte typically used when dealing with floating-point or other
swap multi-register values.
Byte swap None - No change is made (abcd)
Word swap - The words are swapped (cdab)
Word and Byte swap - The words and bytes are
swapped (dcba)
Byte swap - The bytes are swapped (badc)
IP Address xxx.xxx.xxx.xxx Specifies IP address of the target device to be
addressed by this command
Slot -1 Use a value of -1 when interfacing to a PLC5 These
devices do not have a slot parameter. When addressing
a processor in a ControlLogix or CompactLogix, the slot
number corresponds to the slot in the rack containing
the controller being addressed.
Func Code 150 Specifies the function code to be used in the command.
151 150 - Word Range Write
152 151 - Word Range Read
152 - Read-Modify-Write
File String Specifies the PLC-5 Address as a string. For example
N10:300
Swap Code None Specifies if the data from the server is to be ordered
Word swap differently than it was received. This parameter is
Word and Byte typically used when dealing with floating-point or other
swap multi-register values.
Byte swap None - No change is made (abcd)
Word swap - The words are swapped (cdab)
Word and Byte swap - The words and bytes are
swapped (dcba)
Byte swap - The bytes are swapped (badc)
IP Address xxx.xxx.xxx.xxx Specifies the IP address of the target device to be
addressed by this command
Slot -1 Use a value of -1 when interfacing to a PLC5 These
devices do not have a slot parameter. When addressing
a processor in a ControlLogix or CompactLogix, the slot
number corresponds to the slot in the rack containing
the controller being addressed.
Func Code 332 Specifies the function code to be used in the command.
333 332 - CIP Data Table Read
333 - CIP Data Table Write
Data Type Bool Specifies the data type of the target controller tag
SINT name.
INT
DINT
REAL
DWORD
Tag Name Specifies the controller tag in the target PLC.
Swap Code None Specifies if the data from the server is to be ordered
Word swap differently than it was received. This parameter is
Word and Byte swap typically used when dealing with floating-point or other
multi-register values.
Byte swap
None - No change is made (abcd)
Word swap - The words are swapped (cdab)
Word and Byte swap - The words and bytes are
swapped (dcba)
Byte swap - The bytes are swapped (badc)
IP Address xxx.xxx.xxx.xxx Specifies the IP address of the target device to be
addressed by this command
Slot -1 Use a value of -1 when interfacing to an SLC 5/05.
These devices do not have a slot parameter. When
addressing a processor in a ControlLogix or
CompactLogix, the slot number corresponds to the slot
in the rack containing the controller being addressed.
Func Code 1 Specifies the function code to be used in the command.
2 1 - Protected Write
3 2 - Unprotected Read
4 3 - Protected Bit Write
5 4 - Unprotected Bit Write
5 - Unprotected Write
Word Address Specifies the word address where to start the operation.
Comment This field can be used to give a 32 character comment
to the command.
The content of each Client’s status data area is structured the same. The
following table describes the content of each register in the status data area.
Offset Description
0 Number of Command Requests
1 Number of Command Responses
2 Number of Command Errors
3 Number of Requests
4 Number of Responses
5 Number of Errors Sent
6 Number of Errors Received
7 Reserved
8 Current Error Code
9 Last Error Code
The first word in each Client’s command list error data area contains the
status/error code for the first command in the Client’s command list. Each
successive word in the command error list is associated with the next command
in the list. Therefore, the size of the command list error data area depends on the
number of commands defined.
The structure of the command list error data area (which is the same for all
Clients) is displayed in the following table.
Offset Description
0 Command #1 Error Code
1 Command #2 Error Code
2 Command #3 Error Code
3 Command #4 Error Code
4 Command #5 Error Code
. .
. .
. .
97 Command #98 Error Code
98 Command #99 Error Code
99 Command #100 Error Code
A non-zero error code indicates an error. To interpret the status/error codes, refer
to EIP Error Codes (page 72).
The content of each server’s status data area is structured the same. The
following table describes the content of each register in the status data area.
Offset Description
0 through 1 Connection State
2 through 3 Open Connection Count
4 through 5 Socket Read Count
6 through 7 Socket Write Count
8 through 15 Peer IP
Note: The gateway specific error codes (not EtherNet/IP/PCCC compliant) are returned from within
the gateway and never returned from an attached EtherNet/IP/PCCC slave device. These are error
codes that are part of the EtherNet/IP/PCCC protocol or are extended codes unique to this
gateway. The most common errors for the EtherNet/IP/PCCC protocol are shown in the following
tables:
The TARGET DEVICE DATA TABLE ADDRESS must be set to a valid file
element (such as, N11:0) for SLC and PLC5 messages. The MULTIHOP option
must be set to YES. The MULTIHOP tab portion of the dialog box must be
completed as displayed in the following window:
Set the IP address value to the gateway’s Ethernet IP address. The "Insert" key
must be pressed to add the second line for ControlLogix Backplane and set the
slot number to zero.
The TARGET DEVICE DATA TABLE ADDRESS must be set to a valid file
element (such as, N11:0) for SLC and PLC5 messages. The MULTIHOP option
must be set to YES.
Fill in the MULTIHOP tab portion of the dialog box as shown in the following
illustration.
Set the IP address value to the gateway’s Ethernet IP address. The "Insert" key
must be pressed to add the second line for ControlLogix Backplane and set the
slot number to zero.
The File Type Command Code is the ASCII character code value of the File Type
letter. This is the value to enter into the "File Type" parameter of the PCCC
Command configurations in the data tables in the ladder logic.
Additionally, the SLC specific functions (502, 510 and 511) support a sub-
element field. This field selects a sub-element field in a complex data table. For
example, to obtain the current accumulated value for a counter or timer, the sub-
element field should be set to 2.
In order to complete the configuration of the MSG instruction, select the SETUP
SCREEN area of the MSG object. This displays the following dialog box.
The TARGET DEVICE DATA TABLE ADDRESS must be set to a valid file
element (such as, N11:0) for SLC and PLC5 messages. For the PLC2
Unprotected Write message, set the address to the database index (such as,
1000) to consider with the command.
The MULTIHOP option must be set to YES. The MULTIHOP tab portion of the
dialog box must be completed as shown in the following window:
Set the IP address value to the gateway’s Ethernet IP address. The "Insert" key
must be pressed to add the second line for ControlLogix Backplane and set the
slot number to zero.
In order to complete the configuration of the MSG instruction, select the SETUP
SCREEN area of the MSG object. This displays the following dialog box.
Set the IP address value to the gateway’s Ethernet IP address. The "Insert" key
must be pressed to add the second line for ControlLogix Backplane and set the
slot number to zero.
Timer / Counter
Code Description
0 Control
1 Preset
2 Accumulated
Control
Code Description
0 Control
1 Length
2 Position
PD*
Code Description
0 Control
2 SP
4 Kp
6 Ki
8 Kd
26 PV
*All PD values are floating point values, so they are two words long.
BT
Code Description
0 Control
1 RLEN
2 DLEN
3 Data file #
4 Element #
5 Rack/Grp/Slot
MG
Code Description
0 Control
1 Error
2 RLEN
3 DLEN
Complete the dialog box for the data area to be transferred. For PLC5 and SLC
messages, the DESTINATION ELEMENT should be an element in a data file
(such as, N10:0). For the PLC2 Unprotected Write message, the DESTINATION
ELEMENT is the address in the gateway’s internal database and cannot be set
to a value less than ten. This is not a limitation of the gateway but of the RSLogix
software. For a PLC2 unprotected write or read function, the database address
should be entered in octal format. The COMMUNICATION information must also
be configured. The following is an example of the dialog box.
Complete the dialog box for the data area to be transferred. For PLC5 and SLC
messages, the SOURCE ELEMENT should be an element in a data file (such as,
N10:0). For the PLC2 Unprotected Read message, the SOURCE ELEMENT is
the address in the gateway’s internal database and cannot be set to value less
than ten. This is not a limitation of the gateway but of the RSLogix software. The
COMMUNICATION information must also be configured. An example of the
dialog box follows:
Complete the dialog box for the data area to be transferred. CIP Data Table
messages require a tag database element for both the source and destination.
The SOURCE TAG is a tag defined in the Controller Tag database. The
DESTINATION ELEMENT is the tag element in the gateway.
The gateway simulates a tag database as an array of elements defined by the
maximum register size for the gateway (user configuration parameter "Maximum
Register" in the [Gateway] section) with the tag name INT_DATA.
In the previous example, the first element in the database is the starting location
for the write operation of ten elements. The COMMUNICATION information must
also be configured. An example of the dialog box follows:
Complete the dialog box for the data area to be transferred. CIP Data Table
messages require a tag database element for both the source and destination.
The DESTINATION TAG is a tag defined in the Controller Tag database. The
SOURCE ELEMENT is the tag element in the EIP gateway. The gateway
simulates a tag database as an array of elements defined by the maximum
register size for the gateway (user configuration parameter "Maximum Register"
in the [Gateway] section) with the tag name INT_DATA. In the example above,
the first element in the database is the starting location for the read operation of
ten elements. Additionally, the COMMUNICATION information must also be
configured. An example of the dialog box follows:
6 MBTCP Protocol
In This Chapter
Modbus Commands 1: Read Coil Status 15: Force (Write) Multiple Coils
Supported 2: Read Input Status 16: Preset (Write) Multiple
(Client and Server) 3: Read Holding Registers Holding Registers
4: Read Input Registers 22: Mask Write Holding
5: Force (Write) Single Coil Register (Slave Only)
6: Preset (Write) Single 23: Read/Write Holding
Holding Register Registers (Slave Only)
Configurable Gateway IP Address
Parameters: PLC Read Start Register (%MW)
(Client and Server) PLC Write Start Register (%MW)
Number of MBAP and MBTCP servers
Gateway Modbus Read Start Address
Gateway Modbus Write Start Address
Configurable Minimum Command Delay
Parameters: Response Timeout
(Client Only) Retry Count
Command Error Pointer
Command List Up to 160 Modbus commands (one tag per command)
Status Data Error codes reported individually for each command.
High-level status data available from Modbus TCP/IP Client
(for example PLC)
Command List Polling Each command can be individually enabled or disabled;
write-only-on-data-change is available
The following virtual addresses are not part of the normal gateway user database
and are not valid addresses for standard data. However, these addresses may
be used for incoming commands that are requesting floating-point data.
To use addresses in this upper range requires the following
Set the Float Flag in the MBTCP server configuration to Yes
Set the Float Start to a database address in the range below
Set the Float Offset to a database address in the gateway user memory
area shown above.
Remember that, once this is done, all data above the Float Start address must be
floating-point data.
The MBTCP gateway must be correctly configured and connected to the network
before any attempt is made to use it. Use a network verification program, such as
ProSoft Discovery Service or the command prompt PING instruction, to verify
that the gateway can be seen on the network. Use ProSoft Configuration Builder
to confirm proper configuration of the gateway and to transfer the configuration
files to and from the gateway.
Float Flag Yes or No This flag specifies if the floating-point data access functionality is to
be implemented. If the float flag is set to Yes, Modbus functions 3,
6, and 16 will interpret floating-point values for registers as specified
by the two following parameters.
Float Start 0 to 65535 This parameter specifies the first register of floating-point data. All
requests with register values greater than or equal to this value will
be considered floating-point data requests. This parameter is only
used if the Float Flag is enabled. For example, if a value of 7000 is
entered, all requests for registers 7000 and above will be
considered floating-point data.
Float Offset 0 to 3999 This parameter specifies the start register for floating-point data in
the internal database. This parameter is used only if the Float Flag
is enabled. For example, if the Float Offset value is set to 3000 and
the float start parameter is set to 7000, data requests for register
7000 will use the internal Modbus register 3000.
Output 0 to 3999 When the port is configured as a slave, this parameter specifies the
Offset internal database address to use as the zero address or starting
point for binary output Coil data. Coil data is read by Modbus
Function Code 1 commands (Read Coils) and written by Function
Codes 5 (Force Single Coil) or Function Code 15 (Force Multiple
Word Input 0 to 3999 This parameter specifies the offset address in the internal Modbus
Offset database for network requests for Modbus function 4 commands.
For example, if the value is set to 150, an address request of 0 will
return the value at register 150 in the database.
Connection 0 to 1200 This parameter specifies the number of seconds the server will wait
Timeout to receive new data. If the server does not receive any new data
during this time, it will close the connection.
Float Flag Yes or No This flag specifies if the floating-point data access functionality
is to be implemented. If the float flag is set to Yes, Modbus
functions 3, 6, and 16 will interpret floating-point values for
registers as specified by the two following parameters.
Float Start 0 to 32767 This parameter specifies the first register of floating-point data.
All requests with register values greater-than or equal to this
value will be considered floating-point data requests. This
parameter is only used if the Float Flag is enabled. For
example, if a value of 7000 is entered, all requests for registers
7000 and above will be considered as floating-point data.
Float Offset 0 to 3998 This parameter specifies the starting register for floating-point
data in the internal gateway database. This parameter is used
In order to interface the PLX3x gateway with Modbus TCP/IP server devices, a
command list must be constructed. The commands in the list specify the server
device to be addressed, the function to be performed (read or write), the data
area in the device to interface with and the registers in the internal database to
be associated with the device data. The Client command list supports up to 16
commands per Client. The command list is processed from top (command #0) to
bottom.
The following table describes the command list configuration parameters.
Parameter Value Description
Enable YES Specifies if the command is to be executed and under what
NO conditions.
CONDITONAL No (0) - the command is disabled and will not be executed in the
normal polling sequence.
Yes (1)- the command will be executed upon each scan of the
Command List if the Poll Interval is set to zero (0). If the Poll
Interval is set to a non-zero value, the command will be executed
when the interval timer for that command expires.
Conditional (2)- the command will execute only if the internal bit
data associated with the command changes. It will also clear the
bit or bits in the internal database after the write command is built.
This parameter is valid only for bit-level write commands (FC 5
and 15).
Internal 0 to 3999 (for Specifies the database address in the gateway's internal
Address register-level database to use as the destination for data brought in by a read
Reg Count 1 to 125 (for This parameter specifies the number of 16-bit registers or binary
registers) bits to be transferred by the command.
or Modbus functions 5 and 6 ignore this field as they apply only to a
1 to 800 (for single data point.
coils) For Modbus functions 1, 2, and 15, this parameter sets the
number of bits (inputs or coils) to be transferred by the command.
For Modbus functions 3, 4, and 16, this parameter sets the
number of registers to be transferred by the command.
Swap Code No Change Specifies if and how the order of bytes in data received or sent is
Word Swap to be rearranged. This option exists to allow for the fact that
Word and Byte different manufacturers store and transmit multi-byte data in
Swap different combinations. This parameter is helpful when dealing
with floating-point or other multi-byte values, as there is no one
Byte Swap
standard method of storing these data types. The parameter can
be set to rearrange the byte order of data received or sent into an
order more useful or convenient for other applications.
No change(0) - No change is made in the byte ordering (1234 =
1234)
Word Swap (1) -The words are swapped (1234=3412)
Word and Byte Swap (2) - The words are swapped, then the
bytes in each word are swapped (1234=4321)
Byte Swap (3) - The bytes in each word are swapped
(1234=2143)
These swap operations affect 4-byte (or 2-word) groups of data.
Therefore, data swapping using these Swap Codes should be
done only when using an even number of words, such as when
32-bit integer or floating-point data is involved.
Node IP xxx.xxx.xxx.xxx IP address of the device being addressed by the command.
Address
Serv Port 502 or other Service port on which communication will occur. Use a value of
supported port 502 when addressing Modbus TCP/IP servers which are
on server compatible with the Schneider Electric MBAP specifications (this
will be most devices). If the server device supports another
service port, enter the value here.
Slave 1 to 255 (0 is a Specifies the node address of a remote Modbus Serial device
Address broadcast) through a Modbus Ethernet to Serial converter. Values of 1 to 255
are permitted.
Note: Most Modbus devices only accept addresses in the range
of 1 to 247, so check with the slave device manufacturer to see if
The content of each server port’s status data area is structured the same. The
following table describes the content of each register in the status data area.
Offset Description
0 Number of Command Requests
1 Number of Command Responses
2 Number of Command Errors
3 Number of Requests
4 Number of Responses
5 Number of Errors Sent
6 Number of Errors Received
7 Configuration Error Word
8 Current Error Code
9 Last Error Code
. .
The content of each Client’s status data area is structured the same. The
following table describes the content of each register in the status data area.
Offset Description
0 Command Request Count (total Client commands sent)
1 Command Response Count (total command responses received)
2 Command Error Count
3 Number of Request Packets
4 Number of Response Packets
5 Errors Sent
6 Errors Received
7 Reserved
8 Current Error
9 Last Error
Offsets 8 and 9 contain information about the most recent communication errors.
The Current Error (offset 8) will have a non-zero value if the currently executing
Client command experiences an error.
The Last Error (offset 9) will store the most recent non-zero value error code that
was reported by the Client the last time it experienced an error. Note that this
value is retentive. This register will hold the last error value until the memory is
cleared by a restart, reset, cold-boot, or warm-boot operation. Therefore, any
value you see here may indicate an error that could have occurred at any time
since the gateway was last restarted and may not indicate a current or recent
error. For details on error codes, see MBTCP Client Command List Error Data
(page 109).
. .
The first word in each Client’s command list error data area contains the
status/error code for the first command in the Client’s Command List. Each
successive word in the Command Error List is associated with the next command
in the Client Command List. Therefore, the number of valid error values is
dependent upon the number of commands defined.
The structure of the command list error data area (which is the same for all
Clients) is displayed in the following table.
Offset Description
0 Command #1 Error Code
1 Command #2 Error Code
2 Command #3 Error Code
3 Command #4 Error Code
4 Command #5 Error Code
. .
. .
13 Command #14 Error Code
14 Command #15 Error Code
15 Command #16 Error Code
Query
This function allows the user to obtain the ON/OFF status of logic coils used to
control discrete outputs from the addressed server only. Broadcast mode is not
supported with this function code. In addition to the server address and function
fields, the message requires that the information field contain the initial coil
address to be read (Starting Address) and the number of locations that will be
interrogated to obtain status data.
The addressing allows up to 2000 coils to be obtained at each request; however,
the specific server device may have restrictions that lower the maximum quantity.
The coils are numbered from zero; (coil number 1 = zero, coil number 2 = one,
coil number 3 = two, and so on).
The following table is a sample read output status request to read coils 0020 to
0056 from server device number 11.
Adr Func Data Start Pt Hi Data Start Pt Lo Data # Of Pts Ho Data # Of Pts Lo Error Check Field
11 01 00 13 00 25 CRC
Response
An example response to Read Coil Status is as shown in Figure C2. The data is
packed one bit for each coil. The response includes the server address, function
code, quantity of data characters, the data characters, and error checking. Data
will be packed with one bit for each coil (1 = ON, 0 = OFF). The low order bit of
the first character contains the addressed coil, and the remainder follows. For coil
quantities that are not even multiples of eight, the last characters will be filled in
with zeros at high order end. The quantity of data characters is always specified
as quantity of RTU characters, that is, the number is the same whether RTU or
ASCII is used.
Because the server interface device is serviced at the end of a controller's scan,
data will reflect coil status at the end of the scan. Some servers will limit the
quantity of coils provided each scan; thus, for large coil quantities, multiple PC
transactions must be made using coil status from sequential scans.
Adr Func Byte Data Coil Data Coil Data Coil Data Coil Data Coil Error
Count Status 20 to Status 28 to Status 36 to Status 44 to Status 52 to Check
27 35 43 51 56 Field
11 01 05 CD 6B B2 OE 1B CRC
Query
This function allows the user to obtain the ON/OFF status of discrete inputs in the
addressed server PC Broadcast mode is not supported with this function code. In
addition to the server address and function fields, the message requires that the
information field contain the initial input address to be read (Starting Address)
and the number of locations that will be interrogated to obtain status data.
The addressing allows up to 2000 inputs to be obtained at each request;
however, the specific server device may have restrictions that lower the
maximum quantity. The inputs are numbered form zero; (input 10001 = zero,
input 10002 = one, input 10003 = two, and so on, for a 584).
The following table is a sample read input status request to read inputs 10197 to
10218 from server number 11.
Adr Func Data Start Pt Hi Data Start Pt Lo Data #of Pts Hi Data #of Pts Lo Error Check Field
11 02 00 C4 00 16 CRC
Response
An example response to Read Input Status is as shown in Figure C4. The data is
packed one bit for each input. The response includes the server address,
function code, quantity of data characters, the data characters, and error
checking. Data will be packed with one bit for each input (1=ON, 0=OFF). The
lower order bit of the first character contains the addressed input, and the
remainder follows. For input quantities that are not even multiples of eight, the
last characters will be filled in with zeros at high order end. The quantity of data
characters is always specified as a quantity of RTU characters, that is, the
number is the same whether RTU or ASCII is used.
Because the server interface device is serviced at the end of a controller's scan,
data will reflect input status at the end of the scan. Some servers will limit the
quantity of inputs provided each scan; thus, for large coil quantities, multiple PC
transactions must be made using coil status for sequential scans.
Adr Func Byte Data Discrete Input Data Discrete Input Data Discrete Input Error Check Field
Count 10197 to 10204 10205 to 10212 10213 to 10218
11 02 03 AC DB 35 CRC
Query
Read Holding Registers (03) allows the user to obtain the binary contents of
holding registers 4xxxx in the addressed server. The registers can store the
numerical values of associated timers and counters which can be driven to
external devices. The addressing allows up to 125 registers to be obtained at
each request; however, the specific server device may have restrictions that
lower this maximum quantity. The registers are numbered form zero (40001 =
zero, 40002 = one, and so on). The broadcast mode is not allowed.
The example below reads registers 40108 through 40110 from server 584
number 11.
Adr Func Data Start Reg Hi Data Start Reg Lo Data #of Regs Hi Data #of Regs Lo Error Check Field
11 03 00 6B 00 03 CRC
Response
The addressed server responds with its address and the function code, followed
by the information field. The information field contains 1 byte describing the
quantity of data bytes to be returned. The contents of the registers requested
(DATA) are two bytes each, with the binary content right justified within each pair
of characters. The first byte includes the high order bits and the second, the low
order bits.
Because the server interface device is normally serviced at the end of the
controller's scan, the data will reflect the register content at the end of the scan.
Some servers will limit the quantity of register content provided each scan; thus
for large register quantities, multiple transmissions will be made using register
content from sequential scans.
In the example below, the registers 40108 to 40110 have the decimal contents
555, 0, and 100 respectively.
Adr Func ByteCnt Hi Data Lo Data Hi Data Lo Data Hi Data Lo Data Error Check Field
11 03 06 02 2B 00 00 00 64 CRC
Query
Function code 04 obtains the contents of the controller's input registers at
addresses 3xxxx. These locations receive their values from devices connected to
the I/O structure and can only be referenced, not altered from within the
controller, The addressing allows up to 125 registers to be obtained at each
request; however, the specific server device may have restrictions that lower this
maximum quantity. The registers are numbered for zero (30001 = zero, 30002 =
one, and so on). Broadcast mode is not allowed.
The example below requests the contents of register 3009 in server number 11.
Adr Func Data Start Reg Hi Data Start Reg Lo Data #of Regs Hi Data #of Regs Lo Error Check Field
11 04 00 08 00 01 CRC
Response
The addressed server responds with its address and the function code followed
by the information field. The information field contains 1 byte describing the
quantity of data bytes to be returned. The contents of the registers requested
(DATA) are 2 bytes each, with the binary content right justified within each pair of
characters. The first byte includes the high order bits and the second, the low
order bits.
Because the server interface is normally serviced at the end of the controller's
scan, the data will reflect the register content at the end of the scan. Each PC will
limit the quantity of register contents provided each scan; thus for large register
quantities, multiple PC scans will be required, and the data provided will be form
sequential scans.
In the example below the register 3009 contains the decimal value 0.
Adr Func Byte Count Data Input Reg Hi Data Input Reg Lo Error Check Field
11 04 02 00 00 E9
Query
This message forces a single coil either ON or OFF. Any coil that exists within
the controller can be forced to either state (ON or OFF). However, because the
controller is actively scanning, unless the coil is disabled, the controller can also
alter the state of the coil. Coils are numbered from zero (coil 0001 = zero, coil
0002 = one, and so on). The data value 65,280 (FF00 HEX) will set the coil ON
and the value zero will turn it OFF; all other values are illegal and will not affect
that coil.
The use of server address 00 (Broadcast Mode) will force all attached servers to
modify the desired coil.
Note: Functions 5, 6, 15, and 16 are the only messages that will be recognized as valid for
broadcast.
Adr Func Data Coil # Hi Data Coil # Lo Data On/off Ind Data Error Check Field
11 05 00 AC FF 00 CRC
Response
The normal response to the Command Request is to re-transmit the message as
received after the coil state has been altered.
Adr Func Data Coil # Hi Data Coil # Lo Data On/ Off Data Error Check Field
11 05 00 AC FF 00 CRC
Note: The Modbus protocol does not include standard functions for testing or changing the
DISABLE state of discrete inputs or outputs. Where applicable, this may be accomplished via
device specific Program commands (In ProSoft products, this is only accomplished through ladder
logic programming).
Coils that are reprogrammed in the controller logic program are not automatically
cleared upon power up. Thus, if such a coil is set ON by function Code 5 and
(even months later), an output is connected to that coil, the output will be "hot".
Query
Function (06) allows the user to modify the contents of a holding register. Any
holding register that exists within the controller can have its contents changed by
this message. However, because the controller is actively scanning, it also can
alter the content of any holding register at any time. The values are provided in
binary up to the maximum capacity of the controller unused high order bits must
be set to zero. When used with server address zero (Broadcast mode) all server
controllers will load the specified register with the contents specified.
Note Functions 5, 6, 15, and 16 are the only messages that will be recognized as valid for
broadcast.
Adr Func Data Start Reg Data Start Reg Data #of Regs Hi Data #of Regs Lo Error Check Field
Hi Lo
11 06 00 01 00 03 CRC
Response
The response to a preset single register request is to re-transmit the query
message after the register has been altered.
Adr Func Data Reg Hi Data Reg Lo Data Input Reg Hi Data Input Reg Lo Error Check Field
11 06 00 01 00 03 CRC
Request Response
Field Name (Hex) Field Name (Hex)
Function 08 Function 08
Sub-function Hi 00 Sub-function Hi 00
Sub-function Lo 00 Sub-function Lo 00
Data Hi A5 Data Hi A5
Data Lo 37 Data Lo 27
The data fields in responses to other kinds of queries could contain error counts
or other data requested by the sub-function code.
Request Response
Field Name (Hex) Field Name (Hex)
Function 01 Function 81
Starting Address Hi 04 Exception Code 02
Starting Address Lo A1
Quantity of Outputs Hi 00
Quantity of Outputs Lo 01
In this example, the Master addresses a request to server device. The function
code (01) is for a Read Output Status operation. It requests the status of the
output at address 1245 (04A1 hex). Note that only that one output is to be read,
as specified by the number of outputs field (0001).
If the output address does not exist in the server device, the server will return the
exception response with the exception code shown (02). This specifies an illegal
data address for the server.
Modbus Exception Codes
Code Name Meaning
01 Illegal Function The function code received in the query is not an allowable
action for the server. This may be because the function
code is only applicable to newer devices, and was not
implemented in the unit selected. It could also indicate that
the server is in the wrong state to process a request of this
type, for example because it is unconfigured and is being
asked to return register values.
02 Illegal Data Address The data address received in the query is not an allowable
address for the server. More specifically, the combination
of reference number and transfer length is invalid. For a
controller with 100 registers, a request with offset 96 and
length 4 would succeed; a request with offset 96 and length
5 will generate exception 02.
03 Illegal Data Value A value contained in the query data field is not an allowable
value for server. This indicates a fault in the structure of the
remainder of a complex request, such as that the implied
length is incorrect. It specifically does not mean that a data
item submitted for storage in a register has a value outside
the expectation of the application program, because the
Modbus protocol is unaware of the significance of any
particular value of any particular register.
04 Slave Device Failure An unrecoverable error occurred while the server was
attempting to perform the requested action.
05 Acknowledge Specialized use in conjunction with programming
commands. The server has accepted the request and is
processing it, but a long duration of time will be required to
do so. This response is returned to prevent a timeout error
from occurring in the Master. The Master can next issue a
poll program complete message to determine if processing
is completed.
06 Slave Device Busy Specialized use in conjunction with programming
commands. The server is engaged in processing a long-
duration program command. The Master should retransmit
the message later when the server is free.
08 Memory Parity Error Specialized use in conjunction with function codes 20 and
21 and reference type 6, to indicate that the extended file
area failed to pass a consistency check. The server
attempted to read record file, but detected a parity error in
the memory. The Master can retry the request, but service
may be required on the server device.
0a Gateway Path Unavailable Specialized use in conjunction with gateways, indicates
that the gateway was unable to allocate an internal
communication path from the input port to the output port
for processing the request. Usually means that the gateway
is misconfigured or overloaded.
0b Gateway Target Device Specialized use in conjunction with gateways, indicates
Failed To Respond that no response was obtained from the target device.
Usually means that the device is not present on the
network.
Query
This message forces each coil in a consecutive block of coils to a desired ON or
OFF state. Any coil that exists within the controller can be forced to either state
(ON or OFF). However, because the controller is actively scanning, unless the
coils are disabled, the controller can also alter the state of the coil. Coils are
numbered from zero (coil 00001 = zero, coil 00002 = one, and so on). The
desired status of each coil is packed in the data field, one bit for each coil (1=
ON, 0= OFF). The use of server address 0 (Broadcast Mode) will force all
attached servers to modify the desired coils.
Note: Functions 5, 6, 15, and 16 are the only messages (other than Loopback Diagnostic Test) that
will be recognized as valid for broadcast.
The following example forces 10 coils starting at address 20 (13 HEX). The two
data fields, CD =1100 and 00 = 0000 000, indicate that coils 27, 26, 23, 22, and
20 are to be forced on.
Adr Func Hi Add Lo Quantity Byte Data Coil Status Data Coil Status Error Check
Add Cnt 20 to 27 28 to 29 Field
11 0F 00 13 00 0A 02 CD 00 CRC
Response
The normal response will be an echo of the server address, function code,
starting address, and quantity of coils forced.
Query
Holding registers existing within the controller can have their contents changed
by this message (a maximum of 60 registers). However, because the controller is
actively scanning, it also can alter the content of any holding register at any time.
The values are provided in binary up to the maximum capacity of the controller
(16-bit for the 184/384 and 584); unused high order bits must be set to zero.
Note: Function codes 5, 6, 15, and 16 are the only messages that will be recognized as valid for
broadcast.
Response
The normal response to a function 16 query is to echo the address, function
code, starting address and number of registers to be loaded.
7 MBS Protocol
In This Chapter
Enabled YES or NO Specifies if the port will be used. If the parameter is set to No, the
port will not be used. If the parameter is set to Yes, the port will be
used.
RS Interface RS-232 Specifies the electrical interface for the ports.
RS-485
RS-422
Type MASTER Specifies if the port will emulate a Master or slave device.
or Master - The gateway initiates Modbus commands to one or more
SLAVE Modbus devices
Slave- The gateway responds to Modbus commands initiated by a
Modbus master
Float Flag YES or NO Specifies if the floating-point data access functionality is to be
implemented. If the float flag is set to YES, Modbus functions 3, 6,
and 16 will interpret floating-point values for registers as specified
by the two following parameters.
Float Start 0 to 32767 Specifies the first register of floating-point data. All requests with
register values greater than or equal to this value will be considered
floating-point data requests. This parameter is only used if the Float
Flag is enabled. For example, if a value of 7000 is entered, all
requests for registers 7000 and above will be considered as
floating-point data.
Float Offset 0 to 3998 Specifies the start register for floating-point data in the internal
database. This parameter is used only if the Float Flag is enabled.
For example, if the Float Offset value is set to 3000 and the float
start parameter is set to 7000, data requests for register 7000 will
use the internal Modbus register 3000.
Protocol RTU or Specifies the Modbus protocol version to be used on the port.
ASCII
Baud Rate Various Specifies the baud rate to be used on the port.
Parity None Parity is a simple error checking algorithm used in serial
Odd communication. This parameter specifies the type of parity checking
Even to use. All devices communicating through this port must use the
same parity setting.
Data Bits 7 or 8 Specifies the number of data bits for each word used by the
protocol. All devices communicating through this port must use the
same number of data bits.
Stop Bits 1 or 2 Stop bits signal the end of a character in the data stream. For most
applications, use one stop bit. For slower devices that require more
RTS Off 0 to 65535 Specifies the number of milliseconds to delay after the last byte of
data is sent before the RTS modem signal is set low.
Use CTS YES or NO This parameter specifies if the Clear To Send (CTS) modem control
Line line is to be used or not. If the parameter is set to NO, the CTS line
will not be monitored. If the parameter is set to YES, the CTS line
will be monitored and must be high before the gateway will send
data. Normally, this parameter is required when half-duplex
modems are used for communication (2-wire). This procedure is
commonly referred to as hardware handshaking.
Retry Count 0 to 10 Specifies the number of times a command will be retried if it fails.
Internal 0 to 247 Defines the virtual Modbus slave address for the port. Any
Slave ID commands received on the slave port, addressed to the node
address entered here, will be processed by the gateway. Each slave
device on the network must be assigned a unique address.
Bit Input 0 to 3998 Specifies the internal database address to use as the zero address
Offset or starting point for binary Input Status data. Input Status data is
read-only data, requested by Modbus Function Code 2 commands
(Read Input Status). For example, if this parameter is set to 150 and
a Function Code 2 command is received requesting Input Status
address 0 (virtual Modbus Address 10001 or 100001), the data
returned in the response will be the bit value at register 150, bit 0 in
the gateway's database.
Word Input 0 to 3998 Specifies the internal database address to use as the zero address
Offset or starting point for Input Register (16-bit integer) data. Input
Register data is read-only data, requested by Modbus Function
Code 4 commands (Read Input Registers). For example, if this
parameter is set to 500 and a Function Code 4 command is
received requesting Input Register address 0 (virtual Modbus
address 30001 or 300001), the data returned in the response will be
the value at register 500 in the gateway's database.
Output 0 to 3998 Specifies the internal database address to use as the zero address
Offset or starting point for binary output Coil data. Coil data is read by
Modbus Function Code 1 commands (Read Coils) and written by
Function Codes 5 (Force Single Coil) or Function Code 15 (Force
Multiple Coils). For example, if this parameter is set to 50 and a
Function Code 1 command is received requesting Coil address 0
(virtual Modbus Coil address 00001 or 000001), the data returned in
the response will be the value at register 50, bit 0 in the gateway's
database.
Holding 0 to 3998 Specifies the internal database address to use as the zero address
Register or starting point for Holding Register (16-bit integer) data. Holding
Offset Register data is read by Modbus Function Code 3 commands (Read
Holding Registers) and written by Function Code 6 (Preset Single
Register) or Function Code 16 (Preset Multiple Registers).
For example, if this parameter is set to 1000 and a Function Code 3
command is received requesting Holding Register address 0 (virtual
Modbus address 40001 or 400001), the data returned in the
response will be the value at register 1000 in the gateway's
database.
End of 0 to 65535 Specifies a time delay in milliseconds to be added to the 3.5
Message character time delay used by the module to recognize the end of a
Delay message. Certain applications may require validation of Modbus
messages with more than 3.5 character time between consecutive
bytes (example: modem applications). A value of 0 will cause the
default end of message delay to be used.
Reg Count 1 to 125 (for Specifies the number of 16-bit registers or binary bits to be
registers) transferred by the command.
or Modbus functions 5 and 6 ignore this field as they apply only to a
1 to 800 (for single data point.
coils) For Modbus functions 1, 2, and 15, this parameter sets the number
of bits (inputs or coils) to be transferred by the command.
For Modbus functions 3, 4, and 16, this parameter sets the number
of registers to be transferred by the command.
Swap Code No Change Specifies if and how the order of bytes in data received or sent is to
Word Swap be rearranged. This option exists to allow for the fact that different
Word and manufacturers store and transmit multi-byte data in different
Byte Swap combinations. This parameter is helpful when dealing with floating-
point or other multi-byte values, as there is no one standard method
Byte Swap of storing these data types. The parameter can be set to rearrange
the byte order of data received or sent into an order more useful or
Note: None of the addresses are available in the Modbus address range. In order for them to be
accessed via a Modbus request, they must be moved into the 0 to 3999 address range. See Using
the CommonNet Data Map (page 25).
The status data area is initialized with zeros whenever the gateway is restarted.
This occurs during a cold-start (power-on), reset (reset push-button pressed) or a
warm-boot operation (commanded from a debug screen or after downloading a
new configuration).
Note: There are two additional port status parameters that are not available from the General
Modbus Error and Status Data area. The status values, Port STATE and Port COMM STATE
(circled in red), can be found only in the PCB diagnostic menus under Comm Status for a port as
shown in the following graphic.
These status values are state registers. They are used as ‘scratchpad’ areas by
the operating firmware to keep track of the current logical state of activities on a
slave port. These state registers are constantly changing as the gateway
progresses through the various stages needed to process communication on the
serial ports. This processing happens faster than can be followed, unless a port
error causes the value to remain constant for some noticeable length of time.
The diagnostic screen displays are 'snapshot' type screens; that is, they display
the current value at the time they are called but do not continue to automatically
update the data displayed. They are not live-data screens. Therefore, to see a
change in STATE or COMM STATE, you must repeatedly call the screen by
pressing the appropriate menu key to have the screen refreshed. Depending on
the refresh timing you may or may not see a change in the displayed values
every time you call for an update.
The STATE register may display any of the following values.
The COMM STATE register may display any of the following values.
Note that the values in the Command Error List tables are initialized to zero (0) at
power-up, cold boot, and warm boot. If a command executes successfully, the
value in the associated register will remain at zero (0), indicating no command
error was detected. Any non-zero value in this table indicates the corresponding
command experienced an error.
The slave status list contains the current poll status of each slave device on a
Master port. Slaves attached to a Master port can have one of three states.
0 The slave has not defined in the command list for the Master port and will not be polled
from the Command List.
1 The slave is configured to be polled by the Master port and the most recent
communication attempt was successful.
2 The Master port has failed to communicate with the slave device. Communication with
the slave is suspended for a user defined period based on the scanning of the
command list.
Slaves are defined to the system when the gateway loads the Master Command
List during start-up and initialization. Each slave defined will be set to a state
value of 1 in this initial step. If the Master port fails to communicate with a slave
device (timeout expired on a command, retries failed), the Master will set the
state of the slave to a value of 2 in this status table. This suspends
communication with the slave device for a user-specified Error Delay Count.
When the Master first suspends polling of a particular slave, it creates an Error
Delay Counter for this slave address and set the value in that counter equal to
the Error Delay Counter parameter in the configuration file. Then, each time a
command in the list is scanned that has the address of a suspended slave, the
delay counter value for that slave will be decremented. When the value reaches
zero, the slave state will be set to 1. This will re-enable polling of the slave.
The first word in the defined register locations contains the status code for slave
node address 1. Each successive word in the list is associated with the next
node in sequence, up to slave node address 247.
Note: The values in the slave List Status tables are initialized to zero (0) at power-up, cold boot
and during warm boot.
Code Description
1 Illegal Function
2 Illegal Data Address
3 Illegal Data Value
4 Failure in Associated Device
5 Acknowledge
6 Busy, Rejected Message
Code Description
-1 CTS modem control line not set before transmit
-2 Timeout while transmitting message
-11 Timeout waiting for response after request
253 Incorrect slave address in response
254 Incorrect function code in response
255 Invalid CRC/LRC value in response
Code Description
-41 Invalid enable code
-42 Internal address > maximum address
-43 Invalid node address (<0 or > 255)
-44 Count parameter set to 0
-45 Invalid function code
-46 All parameters set to 0
-47 All parameters set to -1
Query
This function allows the user to obtain the ON/OFF status of logic coils used to
control discrete outputs from the addressed server only. Broadcast mode is not
supported with this function code. In addition to the server address and function
fields, the message requires that the information field contain the initial coil
address to be read (Starting Address) and the number of locations that will be
interrogated to obtain status data.
The addressing allows up to 2000 coils to be obtained at each request; however,
the specific server device may have restrictions that lower the maximum quantity.
The coils are numbered from zero; (coil number 1 = zero, coil number 2 = one,
coil number 3 = two, and so on).
The following table is a sample read output status request to read coils 0020 to
0056 from server device number 11.
Adr Func Data Start Pt Hi Data Start Pt Lo Data # Of Pts Ho Data # Of Pts Lo Error Check Field
11 01 00 13 00 25 CRC
Response
An example response to Read Coil Status is as shown in Figure C2. The data is
packed one bit for each coil. The response includes the server address, function
code, quantity of data characters, the data characters, and error checking. Data
will be packed with one bit for each coil (1 = ON, 0 = OFF). The low order bit of
the first character contains the addressed coil, and the remainder follows. For coil
quantities that are not even multiples of eight, the last characters will be filled in
with zeros at high order end. The quantity of data characters is always specified
as quantity of RTU characters, that is, the number is the same whether RTU or
ASCII is used.
Because the server interface device is serviced at the end of a controller's scan,
data will reflect coil status at the end of the scan. Some servers will limit the
quantity of coils provided each scan; thus, for large coil quantities, multiple PC
transactions must be made using coil status from sequential scans.
Adr Func Byte Data Coil Data Coil Data Coil Data Coil Data Coil Error
Count Status 20 to Status 28 to Status 36 to Status 44 to Status 52 to Check
27 35 43 51 56 Field
11 01 05 CD 6B B2 OE 1B CRC
Query
This function allows the user to obtain the ON/OFF status of discrete inputs in the
addressed server PC Broadcast mode is not supported with this function code. In
addition to the server address and function fields, the message requires that the
information field contain the initial input address to be read (Starting Address)
and the number of locations that will be interrogated to obtain status data.
The addressing allows up to 2000 inputs to be obtained at each request;
however, the specific server device may have restrictions that lower the
maximum quantity. The inputs are numbered form zero; (input 10001 = zero,
input 10002 = one, input 10003 = two, and so on, for a 584).
The following table is a sample read input status request to read inputs 10197 to
10218 from server number 11.
Adr Func Data Start Pt Hi Data Start Pt Lo Data #of Pts Hi Data #of Pts Lo Error Check Field
11 02 00 C4 00 16 CRC
Response
An example response to Read Input Status is as shown in Figure C4. The data is
packed one bit for each input. The response includes the server address,
function code, quantity of data characters, the data characters, and error
checking. Data will be packed with one bit for each input (1=ON, 0=OFF). The
lower order bit of the first character contains the addressed input, and the
remainder follows. For input quantities that are not even multiples of eight, the
last characters will be filled in with zeros at high order end. The quantity of data
characters is always specified as a quantity of RTU characters, that is, the
number is the same whether RTU or ASCII is used.
Because the server interface device is serviced at the end of a controller's scan,
data will reflect input status at the end of the scan. Some servers will limit the
quantity of inputs provided each scan; thus, for large coil quantities, multiple PC
transactions must be made using coil status for sequential scans.
Adr Func Byte Data Discrete Input Data Discrete Input Data Discrete Input Error Check Field
Count 10197 to 10204 10205 to 10212 10213 to 10218
11 02 03 AC DB 35 CRC
Query
Read Holding Registers (03) allows the user to obtain the binary contents of
holding registers 4xxxx in the addressed server. The registers can store the
numerical values of associated timers and counters which can be driven to
external devices. The addressing allows up to 125 registers to be obtained at
each request; however, the specific server device may have restrictions that
lower this maximum quantity. The registers are numbered form zero (40001 =
zero, 40002 = one, and so on). The broadcast mode is not allowed.
The example below reads registers 40108 through 40110 from server 584
number 11.
Adr Func Data Start Reg Hi Data Start Reg Lo Data #of Regs Hi Data #of Regs Lo Error Check Field
11 03 00 6B 00 03 CRC
Response
The addressed server responds with its address and the function code, followed
by the information field. The information field contains 1 byte describing the
quantity of data bytes to be returned. The contents of the registers requested
(DATA) are two bytes each, with the binary content right justified within each pair
of characters. The first byte includes the high order bits and the second, the low
order bits.
Because the server interface device is normally serviced at the end of the
controller's scan, the data will reflect the register content at the end of the scan.
Some servers will limit the quantity of register content provided each scan; thus
for large register quantities, multiple transmissions will be made using register
content from sequential scans.
In the example below, the registers 40108 to 40110 have the decimal contents
555, 0, and 100 respectively.
Adr Func ByteCnt Hi Data Lo Data Hi Data Lo Data Hi Data Lo Data Error Check Field
11 03 06 02 2B 00 00 00 64 CRC
Query
Function code 04 obtains the contents of the controller's input registers at
addresses 3xxxx. These locations receive their values from devices connected to
the I/O structure and can only be referenced, not altered from within the
controller, The addressing allows up to 125 registers to be obtained at each
request; however, the specific server device may have restrictions that lower this
maximum quantity. The registers are numbered for zero (30001 = zero, 30002 =
one, and so on). Broadcast mode is not allowed.
The example below requests the contents of register 3009 in server number 11.
Adr Func Data Start Reg Hi Data Start Reg Lo Data #of Regs Hi Data #of Regs Lo Error Check Field
11 04 00 08 00 01 CRC
Response
The addressed server responds with its address and the function code followed
by the information field. The information field contains 1 byte describing the
quantity of data bytes to be returned. The contents of the registers requested
(DATA) are 2 bytes each, with the binary content right justified within each pair of
characters. The first byte includes the high order bits and the second, the low
order bits.
Because the server interface is normally serviced at the end of the controller's
scan, the data will reflect the register content at the end of the scan. Each PC will
limit the quantity of register contents provided each scan; thus for large register
quantities, multiple PC scans will be required, and the data provided will be form
sequential scans.
In the example below the register 3009 contains the decimal value 0.
Adr Func Byte Count Data Input Reg Hi Data Input Reg Lo Error Check Field
11 04 02 00 00 E9
Query
This message forces a single coil either ON or OFF. Any coil that exists within
the controller can be forced to either state (ON or OFF). However, because the
controller is actively scanning, unless the coil is disabled, the controller can also
alter the state of the coil. Coils are numbered from zero (coil 0001 = zero, coil
0002 = one, and so on). The data value 65,280 (FF00 HEX) will set the coil ON
and the value zero will turn it OFF; all other values are illegal and will not affect
that coil.
The use of server address 00 (Broadcast Mode) will force all attached servers to
modify the desired coil.
Note: Functions 5, 6, 15, and 16 are the only messages that will be recognized as valid for
broadcast.
Adr Func Data Coil # Hi Data Coil # Lo Data On/off Ind Data Error Check Field
11 05 00 AC FF 00 CRC
Response
The normal response to the Command Request is to re-transmit the message as
received after the coil state has been altered.
Adr Func Data Coil # Hi Data Coil # Lo Data On/ Off Data Error Check Field
11 05 00 AC FF 00 CRC
Note: The Modbus protocol does not include standard functions for testing or changing the
DISABLE state of discrete inputs or outputs. Where applicable, this may be accomplished via
device specific Program commands (In ProSoft products, this is only accomplished through ladder
logic programming).
Coils that are reprogrammed in the controller logic program are not automatically
cleared upon power up. Thus, if such a coil is set ON by function Code 5 and
(even months later), an output is connected to that coil, the output will be "hot".
Query
Function (06) allows the user to modify the contents of a holding register. Any
holding register that exists within the controller can have its contents changed by
this message. However, because the controller is actively scanning, it also can
alter the content of any holding register at any time. The values are provided in
binary up to the maximum capacity of the controller unused high order bits must
be set to zero. When used with server address zero (Broadcast mode) all server
controllers will load the specified register with the contents specified.
Note: Functions 5, 6, 15, and 16 are the only messages that will be recognized as valid for
broadcast.
Adr Func Data Start Reg Data Start Reg Data #of Regs Hi Data #of Regs Lo Error Check Field
Hi Lo
11 06 00 01 00 03 CRC
Response
The response to a preset single register request is to re-transmit the query
message after the register has been altered.
Adr Func Data Reg Hi Data Reg Lo Data Input Reg Hi Data Input Reg Lo Error Check Field
11 06 00 01 00 03 CRC
Request Response
Field Name (Hex) Field Name (Hex)
Function 08 Function 08
Sub-function Hi 00 Sub-function Hi 00
Sub-function Lo 00 Sub-function Lo 00
Data Hi A5 Data Hi A5
Data Lo 37 Data Lo 27
The data fields in responses to other kinds of queries could contain error counts
or other data requested by the sub-function code.
Request Response
Field Name (Hex) Field Name (Hex)
Function 01 Function 81
Starting Address Hi 04 Exception Code 02
Starting Address Lo A1
Quantity of Outputs Hi 00
Quantity of Outputs Lo 01
In this example, the Master addresses a request to server device. The function
code (01) is for a Read Output Status operation. It requests the status of the
output at address 1245 (04A1 hex). Note that only that one output is to be read,
as specified by the number of outputs field (0001).
If the output address does not exist in the server device, the server will return the
exception response with the exception code shown (02). This specifies an illegal
data address for the server.
Modbus Exception Codes
Code Name Meaning
01 Illegal Function The function code received in the query is not an allowable
action for the server. This may be because the function
code is only applicable to newer devices, and was not
implemented in the unit selected. It could also indicate that
the server is in the wrong state to process a request of this
type, for example because it is unconfigured and is being
asked to return register values.
02 Illegal Data Address The data address received in the query is not an allowable
address for the server. More specifically, the combination
of reference number and transfer length is invalid. For a
controller with 100 registers, a request with offset 96 and
length 4 would succeed; a request with offset 96 and length
5 will generate exception 02.
03 Illegal Data Value A value contained in the query data field is not an allowable
value for server. This indicates a fault in the structure of the
remainder of a complex request, such as that the implied
length is incorrect. It specifically does not mean that a data
item submitted for storage in a register has a value outside
the expectation of the application program, because the
Modbus protocol is unaware of the significance of any
particular value of any particular register.
04 Slave Device Failure An unrecoverable error occurred while the server was
attempting to perform the requested action.
05 Acknowledge Specialized use in conjunction with programming
commands. The server has accepted the request and is
processing it, but a long duration of time will be required to
do so. This response is returned to prevent a timeout error
from occurring in the Master. The Master can next issue a
poll program complete message to determine if processing
is completed.
06 Slave Device Busy Specialized use in conjunction with programming
commands. The server is engaged in processing a long-
duration program command. The Master should retransmit
the message later when the server is free.
08 Memory Parity Error Specialized use in conjunction with function codes 20 and
21 and reference type 6, to indicate that the extended file
area failed to pass a consistency check. The server
attempted to read record file, but detected a parity error in
the memory. The Master can retry the request, but service
may be required on the server device.
0a Gateway Path Unavailable Specialized use in conjunction with gateways, indicates
that the gateway was unable to allocate an internal
communication path from the input port to the output port
for processing the request. Usually means that the gateway
is misconfigured or overloaded.
0b Gateway Target Device Specialized use in conjunction with gateways, indicates
Failed To Respond that no response was obtained from the target device.
Usually means that the device is not present on the
network.
Query
This message forces each coil in a consecutive block of coils to a desired ON or
OFF state. Any coil that exists within the controller can be forced to either state
(ON or OFF). However, because the controller is actively scanning, unless the
coils are disabled, the controller can also alter the state of the coil. Coils are
numbered from zero (coil 00001 = zero, coil 00002 = one, and so on). The
desired status of each coil is packed in the data field, one bit for each coil (1=
ON, 0= OFF). The use of server address 0 (Broadcast Mode) will force all
attached servers to modify the desired coils.
Note: Functions 5, 6, 15, and 16 are the only messages (other than Loopback Diagnostic Test) that
will be recognized as valid for broadcast.
The following example forces 10 coils starting at address 20 (13 HEX). The two
data fields, CD =1100 and 00 = 0000 000, indicate that coils 27, 26, 23, 22, and
20 are to be forced on.
Adr Func Hi Add Lo Quantity Byte Data Coil Status Data Coil Status Error Check
Add Cnt 20 to 27 28 to 29 Field
11 0F 00 13 00 0A 02 CD 00 CRC
Response
The normal response will be an echo of the server address, function code,
starting address, and quantity of coils forced.
Query
Holding registers existing within the controller can have their contents changed
by this message (a maximum of 125 registers). However, because the controller
is actively scanning, it also can alter the content of any holding register at any
time. The values are provided in binary up to the maximum capacity of the
controller (16-bit for the 184/384 and 584); unused high order bits must be set to
zero.
Note: Function codes 5, 6, 15, and 16 are the only messages that will be recognized as valid for
broadcast.
Response
The normal response to a function 16 query is to echo the address, function
code, starting address and number of registers to be loaded.
8 ASCII Protocol
In This Chapter
Data received from the ASCII device is accepted by the receive driver and placed
in the receive database location configured by the user. The receive driver waits
until the user-configured termination condition is recognized while receiving the
data before placing the new data into the database.
For example, if the carriage-return character (ASCII 13) is used as the
termination condition for a received message, this signals the end of the
message. When the receive driver observes this character in the input stream, it
takes all received characters and places them in the internal database.
In both receive and transmit operations, a signal is required to determine when
new data is received or must be transmitted. The first word in the two data area
is used for this purpose. There is new data available when the first word
changes.
Example:
The sequence number in the receive data block has a value of 0 as set when the
gateway initializes. The ASCII device sends a new data packet and the
termination condition is present. The receive driver copies the data into the
internal data area, sets the message length in the data area, and finally, sets the
new sequence number. Receive and transmit data block structure is discussed in
the following topics.
Receive Data
Data received by the receive driver is placed in the gateway’s internal database
in a fixed format at the location selected by the user. The receiver driver is
disabled if the database start location is set to a value of -1. The following table
shows the structure of the received data.
Transmit Data
Data to transmit by the transmit driver is placed in the gateway’s internal
database in a fixed format at the location selected by the user. The transmit
driver is disabled if the database start location is set to a value of -1. The
following table shows the structure of transmit data.
The first word of the data block is used to signal when new transmit data is
available. Word 1 of the block may optionally contain the number of characters
processed in the last receive message. Word 2 of the message is used to pace
the characters during the transmission process. This may be required when
interfacing with slow ASCII devices (that is, modems in command mode).
If the word is set to a value other than zero, a time delay corresponding to the
number of milliseconds entered will be placed between each character
transmitted. If the word is set to zero, the whole data packet will be transmitted
as fast as the transmit driver can function. Word 3 of the data block contains the
number of bytes present in the transmit data area to send out the ASCII serial
communication port. Words 4 to 131 contain the actual data to transmit. If the
swap option is utilized, the transmit driver will swap each byte in the words
received before transmitting them.
Note: If an odd number of bytes are sent by the end device when the swap option is used, then the
last byte of the message may be lost.
Receive-Only Mode
A port on the gateway configured to function in receive-only mode is set up to
only receive data from some sort of ASCII device. In this mode, the PLX3x
gateway will never transmit data back to the ASCII device. Any data received
from the ASCII device is passed from the receiver driver (Rx Driver) to the PLX3x
Gateway’s internal database (Rx Data). The following illustration shows the flow
of data on a port configured for receive-only mode.
Transmit-Only Mode
A port on the gateway configured to function in transmit-only mode is set up to
only transmit data from the PLX3x gateway’s internal database (received from an
external source) to an ASCII device. When the transmit driver (Tx Driver)
recognizes a new write block containing data (data placed in the gateway’s
internal database), it transmits this data out to the port. The sequence number
used in the block will be different than that of the previous block, and therefore,
signals that the packet is fully assembled and ready to send. The following
illustration shows data flow for a transmit-only device.
Transmit-Receive Mode
A port configured in transmit-receive mode can send and receive data from an
ASCII device such as a terminal. This mode functions the same way as transmit-
only mode or receive-only mode, but handles both the transmit and receive
functions. Data flow to and from an ASCII device is handled by the gateway’s
transmit and receive drivers. Data received from the ASCII device is stored in the
gateway’s internal database until ready to be sent to an external device. Data
received by an external device is also stored in the gateway’s internal database
until ready to be transmitted to the ASCII device. The following illustration shows
the data flow when the port is configured for transmit-receive mode:
If none of the bits are set (Type=0), the port will be configured for stream mode.
Any characters received on the port are immediately sent to the processor. The
processor must buffer and assemble a packet of information if this mode is
selected as required by the application. If the data can be handled by the
processor in this mode and it is appropriate for your application, this is the fastest
method of communication between the device and the processor.
Any combination of bits is acceptable to the gateway and should be set to match
the device on the specific port. An example of each termination type is given
below.
A B C 0x0d D E
Comment:
The characters "ABC" will be sent along with the 0x0d character to the controller after the
0x0d character is received. The characters "DE" will not be sent until the 0x0d character is
received.
A B C D E F G
Comment:
After the 'A' character is received on the port, the message timeout is started.
The characters "ABCDE" will be sent to the controller in one block. The characters
"FG" will follow in the second block one second later.
A B C D E F G H
>=300mSec time gap
Comment:
After each character is received, the intercharacter delay timer is reset. The characters
"ABCDEF" will be sent to the controller in one block because the delay timer expires.
The characters "GH" will follow in the second block when the next time gap is recognized.
A B C D E F G H I J
Comment:
The first block sent to the controller will contain the characters "ABCD", and the second
block will contain the characters "EFGH". The characters "IJ" will not be sent until two
more characters are received on the port.
Enabled YES or NO Specifies if the port will be used. If the parameter is set to
No, the port will not be used. If the parameter is set to Yes,
the port will be used supporting the ASCII protocol.
RS Interface RS-232 Specifies the electrical interface for the ports.
RS-485
RS-422
Rx DB Start -1 or Specifies the starting location in the internal database where
0 to 3896 the received data will be stored. The buffer holds 130 words;
however, the first three words of the data area define the
sequence number, last write byte count and the Rx message
length. If the parameter is set to -1, the port will not receive
data. Refer to Receive Data (page 156) for detailed
information on Rx data structure.
Baud Rate Various Specifies the baud rate to be used on the port.
Parity None Parity is a simple error checking algorithm used in serial
Odd communication. This parameter specifies the type of parity
Even checking to use. All devices communicating through this port
must use the same parity setting.
Data Bits 7 or 8 Specifies the number of data bits for each word used by the
protocol. All devices communicating through this port must
use the same number of data bits.
Stop Bits 1 or 2 Stop bits signal the end of a character in the data stream. For
most applications, use one stop bit. For slower devices that
require more time to re-synchronize, use two stop bits.
All devices communicating through this port must use the
same number of stop bits.
RTS On 0 to 65535 Specifies the number of milliseconds to delay data
transmission after Ready To Send (RTS) is asserted.
RTS Off 0 to 65535 Specifies the number of milliseconds to delay after the last
Rx Packet 0 to 200 Used when the Rx Termination Type is PACKET SIZE. This
Length parameter sets the length of data required to be received on
the port before considering end-of-message reached.
9 SIE Protocol
In This Chapter
Minimum 0 to 65535 Specifies the number of milliseconds to wait between the initial
Command issuances of a command. This parameter can be used to delay all
Delay commands sent to servers to avoid "flooding" commands on the
network. This parameter does not affect retries of a command as
they will be issued when failure is recognized.
Response 0 to 65535 Specifies the time in milliseconds that a Client will wait before re-
Timeout transmitting a command if no response is received from the
addressed server. The value to use depends on the type of
communication network used, and the expected response time of
the slowest device on the network.
Retry Count 0 to 65535 Specifies the number of times a command will be retried if it fails.
S7-300:
Data Block:
Address Type Function Data Type
DB READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ COUNT
Write COUNT
Timer:
Address Type Function Data Type
Timer READ TIME
Counter:
Address Type Function Data Type
Counter READ Count
Flag:
Address Type Function Data Type
Flag READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ Count
Write Count
Output:
Address Type Function Data Type
Output READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ Count
Write Count
Input:
Address Type Function Data Type
Input READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ Count
Write Count
S7-200:
Data Block:
Address Type Function Data Type
DB READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
Flag:
Address Type Function Data Type
Flag READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
Output:
Address Type Function Data Type
Output READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
Input:
Address Type Function Data Type
Input READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
S7-1200:
Data Block:
Address Type Function Data Type
DB READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ COUNT
Write COUNT
Flag:
Address Type Function Data Type
Flag READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ Count
Write Count
Output:
Address Type Function Data Type
Output READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ Count
Write Count
Input:
Address Type Function Data Type
Input READ BOOL
Write BOOL
READ BYTE
Write BYTE
READ DINT
Write DINT
READ REAL
Write REAL
READ INT
Write INT
READ TIME
Write TIME
READ Count
Write Count
Reg Count Command-dependent Specifies the number of 16-bit registers or binary bits to
be transferred by the command. The range depends on
the Siemens processor and the type of command. See
Maximum Register Counts (page 188).
Swap Code No Change Specifies if and how the order of bytes in data received or
Word Swap sent is to be rearranged. This option exists to allow for the
Word and Byte Swap fact that different manufacturers store and transmit multi-
byte data in different combinations. This parameter is
Byte Swap helpful when dealing with floating-point or other multi-byte
values, as there is no one standard method of storing
these data types. The parameter can be set to rearrange
the byte order of data received or sent into an order more
useful or convenient for other applications.
No change (0) - No change is made in the byte ordering
(1234 = 1234)
Word Swap (1) -The words are swapped (1234=3412)
Word and Byte Swap (2) - The words are swapped, then
the bytes in each word are swapped (1234=4321)
Byte Swap (3) - The bytes in each word are swapped
(1234=2143)
These swap operations affect 4-byte (or 2-word) groups
of data. Therefore, data swapping using these Swap
S7-300/S7-1200 Processor:
DB1.DBB1 DB1.DBB3
DB1.DBW1 DB1.DBW3
DB1.DBW0 DB1.DBW2
The gray area above represents the byte memory locations being overlapped
when word address is used consecutively (DB1.DBW0, DB1.DBW1, DB1.DBW2,
etc).
If DB1.DBW0 is used as the first address in the Siemens processor, the next
word address that can be used without overwriting the data would be
DB1.DBW2.
DB1.DBD1
DB1.DBD0
The gray area above represents the byte memory locations being overlapped
when double word address is used consecutively (DB1.DBD0, DB1.DBD1,
DB1.DBD2, etc).
If DB1.DBD0 is used as the first address in the Siemens processor, the next
double word address that can be used without overwriting the data would be
DB1.DBD4.
All of the above share the same memory locations in the processor.
Note: Incorrect memory location addressing can cause the data to be overwritten.
DB1.DBD1
DB1.DBD0
Example:
Sending an integer value of 11733 from gateway register 1000 to a Siemens S7-
300 processor demonstrates the addressing scheme in the Siemens S7-300
processor:
PCB screen shot showing Client command to send INT data to DB1 address 0:
Row 1 in the SIMATICS Manager screen shot below shows the data transferred
from the gateway.
If the data is broken up and displayed in binary format, it can be seen that the
binary data stored in the first byte of DB1.DBW 0 is identical to that stored in byte
address DB1.DBB 0. This is because the memory locations referenced by the
first byte of DB1.DBW 0 and by DB1.DBB0 are one and the same, as explained
previously.
DB1.DBW0DB1.DBW1
DB1.DBW0 DB1.DBW1
Note: To access the first address of Data Block, Flag, Input, Output, Timer, and Counter memory
locations in the S7-300 and S7-1200 processors, use the following address syntax.
Note: To access the first address of Data Block, Flag, Input and Output memory locations in the
S7-200 processor, use the following address syntax.
The following table describes the content of each Client’s status data area.
For every command that has an error, the gateway automatically sets the poll
delay parameter to 30 seconds. This instructs the gateway to wait 30 seconds
before it attempts to issue the command again.
As the commands in the Client Command List are polled and executed, an error
codeis maintained in the gateway for each command. The current error value for
each command is displayed in the Command List Errors section of each Client’s
status data area. There is one register for each of the 16 commands in the
command list. An error code of 0 means no error is currently detected for the
specified command.
The following tables list the various error codes that may be displayed and their
descriptions.
6 0x0006 The CPU does not support reading a bit block of length<>1
-125 0xff83 The PLC returned an error code not understood by this library
-32508 0x8104 Context is not supported. Step7 says: Function not implemented or error in
telegram
-12127 0xd0A1 Step7: Function is not allowed in the current protection level
-11710 0xd242 Protection violation while processing F-blocks. F-blocks can only be
processed after password input
CPU315-2 DP
Data Block:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
DB READ BOOL 1
Write BOOL 1
READ BYTE 164
Write BYTE 164
READ DINT 41
Write DINT 41
READ REAL 41
Write REAL 41
READ INT 82
Write INT 82
READ TIME 82
Write TIME 41
READ COUNT 82
Write COUNT 82
Timer:
Address Type Function Data Type Max Reg Cnt
Timer READ TIME 1
Counter:
Address Type Function Data Type Max Reg Cnt
Counter READ Count 111
Flag:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Flag READ BOOL 1
Write BOOL 1
READ BYTE 222
Write BYTE 212
READ DINT 55
Write DINT 53
READ REAL 55
Write REAL 53
READ INT 111
Write INT 106
READ TIME 111
Write TIME 53
READ Count 111
Write Count 106
Output:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Output READ BOOL 1
Write BOOL 1
READ BYTE 128
Write BYTE 128
READ DINT 32
Write DINT 32
READ REAL 32
Write REAL 32
READ INT 64
Write INT 64
READ TIME 64
Write TIME 32
READ Count 64
Write Count 64
Input:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Input READ BOOL 1
Write BOOL 1
READ BYTE 128
Write BYTE 128
READ DINT 32
Write DINT 32
READ REAL 32
Write REAL 32
READ INT 64
Write INT 64
READ TIME 64
Write TIME 32
READ Count 64
Write Count 64
CPU1212C:
Data Block:
Address Type Function Data Type Max Read Max Write
DB READ BOOL 1
Write BOOL 1
READ BYTE 30
Write BYTE 30
READ DINT 7
Write DINT 7
READ REAL 7
Write REAL 7
READ INT 15
Write INT 15
READ TIME 15
Write TIME 15
READ COUNT 15
Write COUNT 15
Flag:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Flag READ BOOL 1
Write BOOL 1
READ BYTE 212
Write BYTE 212
READ DINT 53
Write DINT 53
READ REAL 53
Write REAL 53
READ INT 106
Write INT 106
READ TIME 105
Write TIME 105
READ Count 106
Write Count 106
Output:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Output READ BOOL 1
Write BOOL 1
READ BYTE 212
Write BYTE 212
READ DINT 53
Write DINT 53
READ REAL 53
Write REAL 53
READ INT 106
Write INT 106
READ TIME 105
Write TIME 105
READ Count 111
Write Count 106
Input:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Input READ BOOL 1
Write BOOL 1
READ BYTE 222
Write BYTE 212
READ DINT 55
Write DINT 53
READ REAL 55
Write REAL 53
READ INT 111
Write INT 111
READ TIME 111
Write TIME 106
READ Count 111
Write Count 106
CPU224XP:
Data Block:
Address Type Function Data Type Max Read Max Write
DB READ BOOL 1
Write BOOL 1
READ BYTE 222
Write BYTE 212
READ DINT 55
Write DINT 53
READ REAL 55
Write REAL 53
READ INT 111
Write INT 106
Flag:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Flag READ BOOL 1
Write BOOL 1
READ BYTE 32
Write BYTE 32
READ DINT 8
Write DINT 8
READ REAL 8
Write REAL 8
READ INT 16
Write INT 16
Output:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Output READ BOOL 1
Write BOOL 1
READ BYTE 16
Write BYTE 16
READ DINT 4
Write DINT 4
READ REAL 4
Write REAL 4
READ INT 8
Write INT 8
Input:
Address Type Function Data Type Max Reg Cnt Max Reg Cnt
Input READ BOOL 1
Write BOOL 1
READ BYTE 16
Write BYTE 16
READ DINT 4
Write DINT 4
READ REAL 4
Write REAL 4
READ INT 8
Write INT 8
10 PND Protocol
In This Chapter
3. Click OK.
4. Expand PND MODULE MAP and double-click PND MODULE MAP to edit.
5. In this example, 32-bytes of input and 32-bytes of output will be used (a drop-
down list provides the range that could be used in each slot).
6. Select Slot 1.
7. Select the number of input bytes. In this example, select Input 32 Byte
from the drop down list.
8. Select Slot 2.
9. Select the number of output bytes. In this example, select Output 32
Byte from the drop down list.
Important: The PND module map is very important because the values entered here must match
the values that are entered in the Siemens processor in order for them to communicate. The total
combined Input bytes and total combined Output bytes must not be greater than 1440.
8 Select the file and click the Install button. The system informs you when the
install is complete.
9 Click OK.
11 Drag and drop the processor to be used in the network. The example uses
315-2 PN/DP.
13 Insert the ProfiNet bus network where the ProSoft module will be added by
clicking on the PN-IO option and select New. The Properties - Ethernet
Interface dialog opens.
14 Click the New button. The Properties - New subnet Industrial Ethernet dialog
opens.
18 Configure the inputs and outputs to match the PCB configuration. The
example uses 32 inputs and 32 outputs.
19 Verify the name and IP address by clicking PLC > Ethernet > Verify Device
Name…
If the status is not green, the module needs the name and IP to be assigned.
This is done by clicking PLC > Ethernet > Assign Device Name.
Once you download the program, the RUN LED and the DC5V on the processor
should be green. There should be no red LEDs.
1 To monitor the values coming out of the processor, click on the Input and
choose the Monitor/Modify option.
The values coming into the processor are displayed at the input section.
2 To modify the values that the processor sends to the module, choose the
Output, select the desired value, and select Modify Value.
The following table lists the PND driver’s general status and error data that is
located in the gateway’s upper memory.
Note:
The status data starts at upper memory 6000 for the following gateways:
• PLX31-PND-MBS
• PLX31-PND-MBS4
The status data starts at upper memory 13000 for the following gateways:
• PLX31-EIP-PND
• PLX32-EIP-PND
• PLX31-MBTCP-PND
• PLX32-MBTCP-PND
Offset Description
6000 / 13000 Total number of write messages to PLC
6001 / 13001 Total number of write message errors
6002 / 13002 Input Error message status. See below for error code descriptions.
6003 / 13003 Total number of read messages from PLC
6004 / 13004 Total number of read message errors
6005 / 13005 Output Error message status. See below for error code descriptions.
6006 / 13006 Connection Status
6007 / 13007 Driver Enabled? 1=Yes, 0=No
0 No error
0x0604 Pointer to data memory is NULL
0x0503 Write buffer is already locked or unlocked
0x060A Data length to be written is invalid
0 No error
0x0001 No new data was copied into the buffer
0x0604 Pointer to data memory is NULL, or pointer to variable to receive the APDU
Data Status is NULL
0x060B IOCR ID is 0
0x0803 IOCR ID could not be found, or IOCR ID is invalid
0x060A Data length to be read is invalid
Error Codes
Error code Description
0 No error
1 Input Swap Error
2 Output Swap Error
18 Get Network Data Adapter
19 Get IP Address Error
20 Get NetMask Error
21 Get Gateway Error
22 Get MAC Address Error
23 PROFINET Mapping Error
In This Chapter
Note: For technical support calls within the United States, ProSoft’s 24/7 after-hours phone support
is available for urgent plant-down issues. Detailed contact information for all our worldwide
locations is available on the following page.
E
Index EIP Client Command List Error Data • 70
EIP Command Entry Form • 91
EIP Functional Overview • 52
[ EIP Protocol • 51
EIP Reference • 76
[Modbus Port X Commands] • 129 Encapsulated PCCC Messages • 84
Encapsulated PCCC Read Message • 86
0 Encapsulated PCCC Write Message • 84
Error Codes • 72
00 Return Query Data • 116, 147
Error/Status Codes • 140
4 Errors When EXT STS Is Present • 73
EtherNet/IP Explicit Messaging Server Command
4101 Series LEDs • 35 Support • 55
Example and State Diagram • 116, 148
A
ARP Timeout • 101
F
ASCII Configuration • 163 Float Flag • 98, 100, 127
ASCII Functional Overview • 154 Float Offset • 98, 100, 127
ASCII Port [x] • 163 Float Start • 98, 100, 127
ASCII Protocol • 153 Force Multiple Coils (Function Code 15) • 120, 151
Force Single Coil (Function Code 05) • 114, 145
B
Basic Command Set Functions • 55
G
Bit Input Offset • 99, 130 Gateway Communication Error Codes • 109
BT • 83 GatewayInternal Database • 126, 168
General Specifications • 154, 168
C General Specifications - Modbus TCP/IP • 94
CIP Data Table Operations • 88
CIP Data Table Read • 89
H
CIP Data Table Write • 88 Hardware Information • 45
Client Command Errors • 184 Holding Register Offset • 99, 130
Command Error Delay • 101 How to Contact Us • 2
Command List Entry Errors • 109, 187
Command List Error Codes • 140 I
Command List Overview • 170
Important Installation Instructions • 3
Commands Supported by the Module • 170
Installing ProSoft Configuration Builder Software • 16
Configuring a Port for Transmit-Only Mode • 159
Internal Database • 95
Configuring a Port for Transmit-Receive Mode • 160
Configuring an IP Address • 27 L
Configuring the Drivers • 21
Configuring the Port for Receive-Only Mode • 158 LED Indicators • 34
Configuring Your Gateway • 15 Local STS Error Codes • 72
Connecting Power to the PLX30 Gateway • 13
Connection Timeout • 99 M
Contacting Technical Support • 219 Main Gateway LEDs • 34
Control • 83 Master Port
ControlLogix and CompactLogix Processor Specifics • Command List Errors • 137
84 Modbus Slave List Status • 138
D MBS Configuration • 127
MBS Functional Overview • 124
Data Flow • 155 MBS Port [x] Commands • 131
DFNT Client 0 Status • 70 MBS Port[ x] • 127
DFNT Servers 1 Through 4 • 71 MBS Protocol • 123
Diagnostics (Function Code 08) • 116, 147 MBTCP Client [x] • 100
Diagnostics Menu • 38 MBTCP Client [x] Commands • 102
MBTCP Client Command List Error Data • 108 Receive-Only Mode • 158
MBTCP Client Error/Status Data • 107 Register Count • 26
MBTCP Client Specific Errors • 109 Remote STS Error Codes • 73
MBTCP Configuration • 98 Renaming PCB Objects • 20
MBTCP Error and Status Data • 106 Response Timeout • 100
MBTCP Functional Overview • 94 Retry Count • 100
MBTCP Server Port 2000 Status Error Locations • 106 RS-232 - DTE to DCE Modem Connection • 49
MBTCPServers • 98 RS-232 - Null Modem (DTE with Hardware
Messaging from a PLC5 • 80 Handshaking) • 48
Messaging from a SLC 5/05 Processor • 76 RS-232 - Null Modem (DTE without Hardware
MG • 84 Handshaking) • 49
Minimum Command Delay • 100 RS-422 Interface Connections • 50
MNET Client Specific Errors • 187 RS-485 Interface Connections • 50
MNET Client x • 169
MNET Client x Commands • 169 S
Modbus Error and Status Data Area Addresses • 134 Serial Port Cables • 48
Modbus Error Codes • 140 Serial Port Specifications • 47
Modbus Exception Codes • 119, 150 Setting Up the Project • 17
Modbus Exception Responses • 118, 140, 149 SLC File Types • 79
Modbus Master/Slave Port Specifications • 125 SLC5/05 Read Commands • 77
Modbus Message Routing SLC5/05 Write Commands • 76
Port 2001 • 97 SLC-500 Command Set Functions • 55
Modbus Port Access to Database • 126 Standard Modbus Exception Code Errors • 109
Modbus Ports Start Here • 9
Error and Status • 134 Sub-function Codes Supported • 116, 147
Modbus Protocol Specification • 110 Support, Service & Warranty • 219
Modbus TCP/IP Client Access to Database • 96 Swap Code • 26
Modes of Operation • 158 System Requirements • 9
Module Communication Error Codes • 185
Module Specific Error (not Multiple Compliant) • 74 T
Mounting the Gateway on a DIN-rail • 11
Multiple Server Access to Database • 96 TCP/IP Interface Errors • 74
Termination of Received Data • 161
O Timer / Counter • 83
To Address • 26
Output Offset • 98, 130 Transmit Data • 157
P Transmit-Only Mode • 159
Transmit-Receive Mode • 160
Package Contents • 10
PD* • 83 U
Pinouts • 3 Using Diagnosticsin ProSoft Configuration Builder • 36
PLC-5 Command Set Functions • 55 Using the CommonNet Data Map • 25
PLC5 Read Commands • 81 Using the Online Help • 16
PLC-5 Sub-Element Fields • 83
PLC5 Write Commands • 80 W
PND Status Data in Upper Memory • 216
Port 1 Command Error List Layout • 137 Warranty Information • 220
Port 1 Slave List Status Layout • 138 Word Input Offset • 99, 130
Preset Multiple Registers (Function Code 16) • 121,
152
Y
Preset Single Register (Function Code 06) • 115, 146 Your Feedback Please • 2
Printing a Configuration File • 31
ProSoft Technology® Product Documentation • 2
R
Read Coil Status (Function Code 01) • 110, 141
Read Holding Registers (Function Code 03) • 112, 143
Read Input Registers (Function Code 04) • 113, 144
Read Input Status (Function Code 02) • 111, 142
Receive Data • 156