Model CXT-IR
CXT-IR Instruction Manual
Rev. 2.1
Page 30 of 48
Modbus™ TM Communications
Modbus™ communication with a CXT Sensor is normally accomplished using another wireless transceiver such
as the RXT-320 which is connected through a RS-485 interface to a Modbus™ master control unit. The control
unit can then access the Modbus™ registers within the CXT to obtain readings and status of the sensor.
As with normal Modbus™ operation, there can be only one Modbus™ master that polls all the other devices on
the network which are considered Modbus™ slaves. Each sensor must have a unique Modbus™ address and be
on the same RF channel (for communication) to work properly on the wireless network. Both the Modbus™ ID
and the RF channel are set on the CXT sensor using the display.
The Modbus™ master control unit with RXT-320 transceiver (or equivalent) is responsible for broadcasting
requests and receiving slave device responses. The CXT sensor receives these requests through its own internal
transceiver and responds if the Modbus™ address and proper register set matches. The response will be received
by the RXT-320 and presented to the master control unit across the RS-485 interface.
4.1
General Modbus™ Description
The Modbus™ communication uses the RTU transmission mode per the Modbus™ specification. The basic
frame format for Modbus™ consists of a Modbus™ address, function code, data and CRC.
Address Field Function Code
Data
CRC
Figure 18 Modbus™ Frame Format
The Modbus™ ID Field is the unique Modbus™ address of each device on the network. The Function Code is
the function to be performed. The Data contains read or write data and is formatted according to the function
being performed. The CRC (Cyclic Redundancy Code) is used to detect errors in the frame. Frames with errors
are invalid and ignored.
Modbus™ transactions consist of both a request by the controller and response from the device being addressed
so there are two frames transferred for every transaction. Every request is evaluated by the CXT to determine if
it is addressed to it, and if it falls within the register address range. If these two conditions are true, the CXT will
then check to see if it is a valid Function Code. Function Codes supported by the CXT are:
Function Code 03 (03h) – Read Holding Registers
Function Code 06 (06h) – Write Single Register
Function Code 16 (10h) – Write Multiple Registers
If an invalid function code is performed, the CXT will ignore the request by default and the controller will
timeout and continue with the next transaction.
4.1.1
Modbus™ Exceptions
The CXT is capable of returning Modbus™ exceptions when it cannot service a Modbus™ request meant for
that CXT. By default this is turned off since it can cause issues with some controllers that do not process
Modbus™ exceptions (See Section 4.2.2.4 Register – Control). The following exception codes are supported
and returned when Modbus™ exceptions are enabled: