The question comes up quite often as to whether InteractX and Xpress can talk to some device claiming they talk Modbus protocol.
NOTE: If you are connecting to a Parker P-Drive (Pulse Drive) See the FAQ below for Cabling and an example Xpress project.
For all other Devices:
The answer is a "Qualified" Yes.
The Modbus Protocol specification can be found here:
The qualification to yes they can communicate is if the device followed the full specification or at least a usable subset of the specification.
Very few devices (Modbus PLCs being the only exception) implement the full command set.
Depending on the hardware, the manufacturer of the device will bend the rules to fit the device capabilities leaving out support for some of the commands, word/byte/bit order changes etc...
The COMM Server Driver for Modbus is the most flexible of all the included standard drivers in InteractX and Xpress.
The Modbus RTU and Ethernet TCP/UDP drivers have "Checkbox" configurable items to restrict commands that are used address order and the format of the data.
The Help button at the bottom right of the Device Properties screen will explain each setting in detail.
To determine the correct settings, you will need the Modbus Protocol implementation documentation from the Device Manufacturer.
The documentation for the device should show supported function commands and a memory map crossing over the native addressing for the device to Modbus Addressing.
This might be an address for address crossover list or an offsets list mapping Modbus addresses into a preset location or a map programmed into the device by the user.
Without the documentation for the device you want to connect it can be a challenge to get connected and pulling the correct data.
If you at least have the Memory Cross-reference and are confident that your Modbus addresses are correct, you can experiment and see what does or does not work.
Some devices will lock up or stop talking if you ask for memory outside the valid range of addresses. Since the Modbus protocol supports 0 based or 1 based addressing, do not use the very first or last addresses in your cross-reference.
On a test screen, use 4 or 5 numeric input tools with both the Input and Output fields set to consecutive addresses. Then, Write to one of the addresses in your device if possible and see which tool sees the value if any. Then, enter a value in one of the middle addresses and look in the device to see where it was written if at all.
Based on the results, if the values are offset un-check the box for 0 based addressing and try again.
If there were no changes in values in the device or the HMI, un-check the boxes for Function 5 and 6 then try again.
Repeat this until data is sent and received in the right order and format.
If you have tried all of the settings, contact the device manufacturer and send them screen shots of the settings you can change and request additional documentation or guidance from them.
If this Device uses Modbus Serial RTU, make sure of the cable pin out information and be sure to use the correct connection type. Many of these devices will be RS422 or RS485 to allow for multi-drop installation. RS232 is less common but in a short point to point connection might be supported by the Device.
edited dom 02/13/2019