Modbus RTU Slave Task
Ports or channels defined as a Modbus server (or slave) are either primary or secondary. There can be only one primary, and the primary defines the register mapping that other Modbus clients/masters will see when polling the IoTServer (Babel Buster 4). Secondary servers will see the same set of registers, but have the option of remapping them to different register numbers.
The port settings here are the same settings also accessible on the Port Settings page for Modbus. You can set them from either page.
The maximum table sizes for the Modbus RTU Slave are defined here. Keeping the tables set to a range that you will actually use will improve efficiency.
Remapping options are set here for the Modbus Slave/Server. Check the box to enable the desired options.
Remapping: If one device wants to see a data value at address 0 while another device on another port wants to see the same data at address 100, that is what remapping will do.
Remapping, non-exclusive: The default is exclusive, meaning if the requested register address is not found in the remapping table, an “illegal data address” exception is returned. If the server should look first at remapped addresses, and then second at unmapped addresses, and return either-or, then the non-exclusive option should be enabled. The non-exclusive option is a modifier of the remapping option. Setting only the non-exclusive bit will have no effect.
Zero fill: If the register set has gaps in the address range, attempts to access register addresses in the gap would normally return an “illegal data address” exception. If the server should simply zero-fill the non-existent registers in the range requested, then this option should be enabled. This zero-fill option only applies to gaps within the defined register range. Example: If registers 1 and 3 exist, reading register 2 would return zero while reading register 4 would result in an exception with remapping enabled. Without remapping enabled, zero fill becomes the equivalent of zero fill all.
Zero fill all: This option works the same as zero fill, except the entire address range is zero filled. In the above example, where reading register 4 resulted in an exception, register 4 (or higher) would return zero with the “all” option. The zero fill all bit is a modifier of the zero fill option if remapping is enabled and has no effect if set by itself. Without remapping enabled, the zero fill option becomes the equivalent of zero fill all.
The default XML configuration file is entered here. This is the file that the Modbus RTU Slave will attempt to automatically load upon first time startup. After that, settings are retained in the database, and further file activity can be managed on the Config File page for the Modbus RTU Slave.
Activity timeout is a form of watchdog. If the task manager does not see the Modbus RTU Slave task update its activity indicator within this amount of time, the task manager will restart the Modbus RTU Slave. If set to zero, the watchdog is disabled. The task manager itself is restarted by the Linux cron if it stops responding.