Each ConveyLinx Module utilizes Modbus register architecture for remote data access over Ethernet. Modbus TCP is a simple protocol for data exchange based upon a query/response mechanism. Each ConveyLinx Module’s memory structure contains a fixed array of internal data locations that are constructed as Modbus Holding Registers. Each ConveyLinx Module has a fixed reserve of Holding Registers with each capable of holding a 16-bit numerical integer value. Modbus TCP protocol provides for read/write access to any available Holding Register. The structure of these registers allows for individual ConveyLinx Module’s to read from and write to specific register address locations to achieve inter-module communications. Certain registers are read from and written to by the EasyRoll software in order to monitor and/or change default configuration values such as MDR speed, direction, type, etc.
Supported Modbus TCP Service Codes
Any Modbus TCP capable PC or PLC can connect to any ERSC visible on its network and access Input and Output Holding Register Assemblies. The ERSC supports the following Modbus TCP Service Codes:
• Service Code 3 – Read Holding Register (up to 45 registers per instruction)
• Service Code 6 – Write Single Register
• Service Code 16 – Write Multiple Registers (up to 45 registers per instruction)
• Service Code 23 – Read/Write Multiple Registers (up to 45 registers per instruction)
Properly Addressing Assembly Registers
In the ConveyLinx Module, the Assembly Registers are “virtual” in that they are not “physical” Module Register Addresses and as such are not directly addressable. The ConveyLinx Module firmware intercepts the request and builds the assembly data in order to transmit it to the requesting device. Because of this, you must always address an Assembly by using the first address in the assembly in order for the ConveyLinx Module to return any data.
For example, for ZPA Mode Assembly Inputs, if you only need to read register 4:1504; your I/O connection set-up in your PLC must use the starting address of 4:1500 and a sufficient length of registers to read (in this example at least 5 registers) in order to get to the desired register. If you set up your PLC to start reading at 4:1504, the ConveyLinx Module will return an error