background image

Page 3 / 15 

 

PV500-67  03/17

 

1.  THIS MANUAL 

This is a supplemental manual to cover the communication interface capabilities of the XR10CX thermostatic module 
using  Modbus  RTU.  This  manual  will  provide  the  particulars  for  the  XR10CX,  how  the  Modbus  RTU  protocol  is 
implemented on the XR10CX, and how to interface with the XR10CX. For details on how to operate or configure the 
XR10CX, please refer to the XR10CX Manual. 
 
This manual is not a complete or definitive guide to Modbus RTU communication. For detailed MODBUS and Modbus 
RTU information, consult other sources such as (www.modbus.org). 
 

2.  MODBUS RTU:  

2.1  OVERVIEW: 

Modbus RTU This is a communication over twisted pair from a Master device (also called a client) to multiple slave 
devices (also called servers). The master will send command to a particular slave. The slave will in turn process this 
command and respond to the Master. All communication is initiated by the Master. The XR10CX is a slave device and 
will not “talk” until a Master device talks to it first. Modbus RTU is widely used within Building Management Systems 
(BMS) and Industrial Automation Systems (IAS). This wide acceptance is due in large part to Modbus RTU

’s ease of 

use. Modbus RTU is a low level communications that contain no unit type, data scaling, or data description. Simply put, 
it is a list of addresses that can be read and/or written to. The type of data will have to be known by the receiving device 
in order for the data to be  useful.  Data types and  available registers  are usually  provided  as device documentation 
register list. 

2.1.1  DEFINITIONS: 

MODBUS  Protocol:

  A  messaging  structure  used  for  communication  between  devices,  machines,  sensors,  and/or 

computers. 
 

Modbus-RTU: (Remote Terminal Unit) 

 Implementation of the Modbus protocol on top of a serial line with an RS-232, 

RS-485 or similar physical layer. The XR10CX uses 2-wire RS-485 Physical Layer and implements Modbus RTU. 
 

Master Device: 

 Also known as Client, this device initiates all communication on the RS-485 network. The Master will 

send commands to Slave Devices. 
 

Slave Device: 

 Also known as Server, this device will respond only when addressed by the Master device. When the 

Master  sends  the  slave  a  command,  it  will  perform  the  command  and  respond  back  to  the  Master  with  the  data 
requested, or if no data is required, then it will simply echo the command. 
 

Slave Address: 

 Each slave device in a network is assigned a unique address from 1 to 247. When the Master requests 

data, the first byte it sends is the Slave address. This way each slave knows after the first byte whether or not to ignore 
the message. 

 
RS-485  (EIA-485): 

  A  2  wire  (twisted  pair)  multi  drop  network.  Each  device  can  send  data  by  holding  positive  and 

negative voltage on the line and reversing polarity on the 2 wires. When no devices are transmitting, the line will be tri-
state. The recommended arrangement of the wires is as a connected series of point-to-point (multi-dropped) nodes, 
i.e. a line or bus, not a star, ring, or multiply connected network. The number of devices that can be connected to a 
single  line  is  defined  in  the  RS-485  standard  by  the  input  impedance  of  32  UNIT  LOADs.  The  wire  and  circuits 
interfacing on this 2 wire connection is considered the PHYSICAL LAYER. (RS-485 is the same physical layer as used 
with BACNET MSTP.) 

 

 

Summary of Contents for XR10CX

Page 1: ...PV500 67 03 17 MODBUS RTU Applied to the XR10CX Control WATER HEATER DIGITAL OPERATING CONTROLLER PVI INDUSTRIES LLC Fort Worth Texas 76111 Web www pvi com Phone 1 800 433 5654 ...

Page 2: ... EXCEPTION RESPONSE READ HOLDING REGISTER 0x03 8 3 4 WRITE SINGLE REGISTER 0X06 9 3 4 1 MASTER COMMAND TO WRITE SINGLE REGISTER 0x06 9 3 4 2 SUCCESSFUL RESPONSE FROM WRITE SINGLE REGISTER 0x06 9 3 4 3 EXCEPTION RESPONSE FROM WRITE SINGLE REGISTER 0x06 9 3 5 WRITE HOLDING REGISTERS 0x10 10 3 5 1 MASTER COMMAND TO WRITE HOLDING REGISTER 0x10 10 3 5 2 SUCCESSFUL RESPONSE FROM WRITE HOLDING REGISTERS ...

Page 3: ...register list 2 1 1 DEFINITIONS MODBUS Protocol A messaging structure used for communication between devices machines sensors and or computers Modbus RTU Remote Terminal Unit Implementation of the Modbus protocol on top of a serial line with an RS 232 RS 485 or similar physical layer The XR10CX uses 2 wire RS 485 Physical Layer and implements Modbus RTU Master Device Also known as Client this devi...

Page 4: ...simply needs the 40000 added to it Setpoint ST1 is Register 769 or the actual Register Number 40769 For a list of all available registers see Table 2 Input Registers Discrete Inputs and Coils MODBUS defines several types of data The only data used by the XR10CX is the Holding Register 40001 49999 and Output Coils 00001 09999 The XR10CX does not use Input Registers or Inputs Coils CRC ERROR CHECKIN...

Page 5: ...uested by the Master 2 After sending the Slave goes back to listen mode ii If command was not successfully processed 1 Slave will respond with and exception response and exception code indicating why it was not processed a Possible caused would be invalid address See Table 1 Exception Codes 2 After sending The Slave goes back to listen mode b If the command received fails the CRC validation no res...

Page 6: ...first coil to be read reading multiple registers is sequential Number of Coils 2 bytes Number of Elements Coils that the device has to return 3 3 Coils or bits No more than 80 Elements Coils allowed Each coil is 1 bit CRC 2 bytes CRC calculated for the frame data received and is used to verify the integrity of data received 3 1 2 SUCCESSFUL RESPONSE READ COILS 0x01 Slave Address 1 byte The address...

Page 7: ... the slave responding Same as the address in the initiating command Function Code 1 byte Code 0x05 Echo from the initiating command Coil Address 2 bytes Echo from initiating command Data 2 bytes Echo from initiating command CRC 2 bytes 3 2 3 EXCEPTION RESPONSE WRITE SINGLE COIL 0x05 Slave Address 1 byte The address of the slave responding Same as the address in the initiating command Exception Res...

Page 8: ...e The address of the slave responding Same as the address in the initiating command Function Code 1 byte Code 0x03 Echo from the initiating command Number of Bytes 1 byte Defines the number of bytes followed minus the CRC Data Byte data buffer length is Number of Bytes long CRC 2 bytes 3 3 3 EXCEPTION RESPONSE READ HOLDING REGISTER 0x03 Slave Address 1 byte The address of the slave responding Same...

Page 9: ... from the initiating command Register Address 2 bytes The address of the register that was written Data 2 bytes Byte data buffer will contain the same data that was sent in initiating command CRC 2 bytes 3 4 3 EXCEPTION RESPONSE FROM WRITE SINGLE REGISTER 0x06 Slave Address 1 byte The address of the slave responding Same as the address in the initiating command Exception Response 1 byte Code 0x06 ...

Page 10: ...ONSE FROM WRITE HOLDING REGISTERS 0x10 Slave Address 1 byte The address of the slave responding Same as the address in the initiating command Function Code 1 byte Code 0x10 Echo from the initiating command Register Address 2 bytes The address of the register that was written Number Registers 2 bytes The number of registers written CRC 2 bytes 3 5 3 EXCEPTION RESPONSE FROM WRITE HOLDING REGISTERS 0...

Page 11: ...ata Address The data address received in the query is not an allowable address for the slave More specifically the combination of reference number and transfer length is invalid 03 Illegal Data Value Requesting a register that does not exist More than 5 elements requested Writing a parameter out of range Writing to read only register 04 Slave Device Failure An unrecoverable error occurred while th...

Page 12: ...up 40831 Did Read Write Dig Input Alarm Delay 0 255min 40847 Adr Read Write Modbus Address 1 247 40852 Set Read Write System Setpoint 40864 Coil Read Write On Off for Control 513 Read Write Keypad Lock 516 Read Write Mute Buz and Any Alarm 517 Read Digital input Pin 9 520 Read Probe 1 Error 521 Read Probe 2 Error 522 Read Probe 3 Error 523 Read Probe 4 Error 524 Read High Temperature Alarm Pb1 525...

Page 13: ...r burner is also ON Alarms Modbus Coil 538 Alarms are not typically used on this device CONTROL ON OFF Enable Disable Modbus Coil 513 ON 257 or 0x0101 OFF 1 or 0x0001 In the OFF state no heating signal will be present no alarms all relay outputs are open and no temperature are displayed The display will show the word OFF It is still possible to read the probe temperatures and other parameters over...

Page 14: ... 3 IMPROPER WIRING EXAMPLE Figure 5 Wiring is not correct Not a daisy chain and the master is not at an end MASTER CLIENT DEVICE 1 XR10CX DEVICE 2 XR10CX DEVICE 3 XR10CX DEVICE 4 XR10CX MASTER CLIENT DEVICE 1 XR10CX DEVICE 2 XR10CX DEVICE 3 XR10CX DEVICE 4 XR10CX Master Regis ter Addr ess LSB yte Data MSByte G N D Data LSB CRC LSByte C R T X TXD1 RXD1 DATA B R e D a Data LSByt e CRC LSByte 2 W CON...

Page 15: ...lly a jumper setting on the device The XR10CX does not have line biasing resistors Data B will be pulled to positive Data A will be pulled to negative 6 6 SERIAL INTERFACE XJ485 The XJ485 serial termination is a factory supplied RS485 to TTL connection device The XR10CX control comes standard with a TTL communication port also used as the HOT KEY programming interface The termination points are la...

Reviews: