Table 1. Modbus Screen Items
Field Name |
Description |
---|---|
The Slave Status field will be either RUNNING or IDLE. RUNNING indicates that I/O is being exchanged with a Modbus TCP Master, whereas IDLE indicates I/O is currently not being exchanged. |
|
The Number of Connections field allows you to specify how many Modbus TCP connections the slave can have at one time. This can be set to 0 to completely disable the robot Modbus slave, up to a maximum of 4 connections. Per the Modbus TCP protocol specification, when a new connection request arrives and no unused connections remain, the oldest connection will be closed, and the new connection request will be accepted. The first time this happens after a power-cycle, a PRIO-494 warning alarm will be posted. |
|
The Timeout field defines the time for an idle Modbus TCP connection to expire (in milliseconds). If no message is received from any master for this timeout value, the slave device will assume that the network connection has been lost or terminated, will close all connections, and will post a Timeout alarm. Setting this field to 0 disables timeouts. |
|
The Error Severity field defines the severity of Modbus TCP alarms. You can set this to STOP, WARN, or PAUSE by using the F4, [CHOICE] key. |
|
The Keep Input on Timeout field specifies how to handle Inputs in the case of a timeout. When set to FALSE, all Modbus Inputs will be set to zero when a timeout occurs. Otherwise, inputs will be left in their last state. |
|
The Input Words field specifies how much Digital Input to allocate. In this context a word would be 16-bits. So if 4 words were configured, 64 points of Digital Input would be allocated to Rack 96, Slot 1. All master devices connected to the robot Modbus slave would have read-write access to this Digital Input data. |
|
The Output Words field specifies how much Digital Output to allocate. In this context a word would be 16-bits. So if 4 words were configured, 64 points of Digital Output would be allocated to Rack 96, Slot 1. All master devices connected to the robot Modbus slave would have read access to this Digital Output data. |
Table 2. Modbus Data Model
Table |
Object Type |
Type of |
Robot Mapping |
---|---|---|---|
Discrete inputs |
Single bit |
Read-Only |
Digital Output (DO) |
Coils |
Single bit |
Read-Write |
Digital Input (DI) |
Input Registers |
16–bit word |
Read-Only |
Digital Output (DO) |
Holding Registers |
16–bit word |
Read-Write* |
Digital Input (DI) and Digital Output (DO) |
Table 3. Modbus to Robot Address Mapping (Quick Reference)
Modbus Address |
Robot I/O |
---|---|
Discrete input 0 Discrete input 1 Discrete input 2 ... |
Digital Output : DO[1] Digital Output : DO[2] Digital Output : DO[3] ... |
Coils 0 Coils 1 Coils 2 ... |
Digital Input : DI[1] Digital Input : DI[2] Digital Input : DI[3] ... |
Input Register 0 Input Register 1 Input Register 2 ... |
Digital Outputs (DO[1] — DO[16]) Digital Outputs (DO[17] — DO[32]) Digital Outputs (DO[33] — DO[48]) ... |
Holding Registers 0 Holding Registers 1 Holding Registers 2 ... |
Digital Inputs (DI[1] — DI[16]) Digital Inputs (DI[17] — DI[32]) Digital Inputs (DI[33] — DI[48]) ... |
Holding Registers 10000 (read-only) Holding Registers 10001 (read-only) Holding Registers 10002 (read-only) ... |
Digital Outputs (DI[1] — DI[16]) Digital Outputs (DI[17] — DI[32]) Digital Outputs (DI[33] — DI[48]) ... |
Table 4. Modbus Functions
Decimal Code |
Hexadecimal Code |
Function |
01 |
0x01 |
Read Coils |
02 |
0x02 |
Read Discrete Inputs |
03 |
0x03 |
Read Holding Registers |
04 |
0x04 |
Read Input Registers |
05 |
0x05 |
Write Single Coil |
06 |
0x06 |
Write Single Register |
16 |
0x10 |
Write Multiple Registers |
23 |
0x17 |
Read/Write Multiple Registers |