Modbus Data Loggers Assist with Multiple Devices in the Field and Onsite
Customers occasionally need to perform the task of interfacing their data loggers with the popular line of Maple displays, whether viewing their data on the plant floor or out in the field. Following is a quick tutorial on configuring the bestselling dataTaker DT8x series data loggers to interface with Maple displays using Modbus.
First configure the Modbus interface on the data logger. Users have several options here: the logger can be configured as a Modbus Master in which case all data must be explicitly written to or read from the display by the data logger. If more than one display will be used, for example, a local display by the logger and a remote display for an operator, the logger should be configured as a master to allow it write to multiple devices. If there’s just one display, it’s possible to set the display as the master and logger as the slave, which simplifies the programming on the logger side.
Once the choice of making the logger a master or slave device has been made, the next step is to configure the hardware interface of the data logger, as the DT82I, DT80 and DT85 models support Modbus communication via either the serial sensor port on the front of the logger (1Serial) which allows RS-232, RS-485 or RS-422 communications or the host serial port on the side of the logger (2Serial) which is RS-232 only. When using the front serial port, a custom cable will need to be built; in the case of RS-485 communications the Tx terminal is the Data- and the RTS terminal is the Data+. If the host port is used, a standard dataTaker IBM-6 cable can be used to connect to a display that uses the standard 9 pin wiring configuration (pins 2,3 and 5). Following the instructions in the manual in the section for the Modbus interface, the appropriate PROFILE settings will be need to made in the logger for the serial port being used. These include: Baud Rate, Parity, Databits, Stopbits, Flow, Function (MODBUS or MODBUS_MASTER), Mode (for RS232/422/485 on the serial sensor port only) and MODBUS_SERVER for the appropriate port to set the bus address of the logger.
After the data logger has been configured using one of the above options, the final configuration step is to set-up the Maple display. Like the logger, the display can be configured as a Modbus Master or Slave device. The display will normally be configured as the opposite of the logger, but there can only be one master on the bus. If there is more than one display, the most common configuration is to set them all to be Slaves. If there is only one display, it can be set to be a Master if the logger is set as a Slave. If the display is set to Master, the display will be configured to use the Mobus RTU master driver. To do this, in the EasyBuilder 5000 software, go to Edit -> System Parameter Settings -> Device Properties, create a new device and set the PLC type to Modbus Master. If the display is set to Slave, use Mobus RTU slave driver. In the EasyBuilder 5000 software, go to Edit -> System Parameter Settings -> Device Properties, create a new device and set the PLC type to Modbus RTU/TCP Slave. Now configure the other parameters to match the logger communications settings: Baud rate, parity, data bits, stop bits, flow, and PLC I/F type. If the display is a slave, the Station # in the configuration screen is the Modbus
Address of the display, so this needs to be set appropriately as it will be the address that users write to from the data logger.
To exchange data with the Display, proceed according to whether the display has just been set as a Master or Slave. If the Display Is a Master, this is the simplest configuration: in this case, the logger simply writes the data to a CV which it automatically maps to a Modus register. For example, 1CV is read from the display at register 30001 or from a read/write at register 40001. The default format is as a signed integer, but the loggers SETMODBUS command can be used to change the format of the data for a CV or group of CVs to unsigned integers or floats. Be aware that in the case of floats, the data is stored across 2 Modbus registers. If the Display Is a Slave, then to display data, the data logger has to explicitly write the data to the display using the nMODBUS(ADm, Rx:y)=zCV command where: n is 1 for the serial sensor port of the logger and 2 for the host port; m is the address of the display (set as the station # above); x is the register set = 4 for read/write; and y is the register number. Also note that the register number configured on the display is 1 less than the register number written to from the logger, i.e. the logger writes to 40001 and the data appears on the display in LW 0; and z is the number of the CV holding the value to be written.
When Reading data, use the command nModbus(ADm,, Rx:y, =nCV). The parameters are the same as above, except that x can be 3 for read-only registers. Again, the standard data type is a signed integer, but the logger supports other formats via the MBx modifier in the write command. As before, be aware that 32-bit values will span 2 registers. When writing ASCII data, text data can be written as the equivalent decimal value. To send 1, send 49(the ASCII decimal value of 1).