background image

Carbon Monoxide Transmitter                                               Modbus 

Installation Manual 

 

 
May 5, 2017

                                                        IN-CMD5B4MOD-01-01                                                                     Page 12 

Network Communication 

The device parameters must be set before connection to the network and will ensure each device will have a unique ModBus 
address for startup. Details of the device setup can be found in the User Menu section. Once set, all parameters are saved in 
non-volatile memory. The local menu and LCD are used to set the ModBus device address (1-255) and the baud rate. The 
factory defaults are address 01 and 9600 baud. 
 
The menu is also used to select RTU/ASCII mode, the parity, number of stop bits, the CRC value and ModBus delay values 
so the device can be completely configured for the communication parameters before being connecting to the network. 

 
Modbus Trouble-shooting 

The CO Transmitter operates as a slave. It will not communicate unless a master is connected to the network and sends a 
request for information, then the slave will answer. If the device does not communicate properly, first check that the 
communication wires are not reversed. Then check the communication parameters in the menu in the following sequence: 
Slave address, baud rate, transmission mode, parity bit, stop bit, RTU mode CRC polynomial and slave response delay. 
 
The factory default Modbus address is 01 and each device must have its unique address to communicate properly on the bus. 
Use the menu to change the Slave address to a unique number for each unit. 
 
The default Modbus baud rate is 9600. Use the menu to change the baud rate to the correct setting. 
 
The default transmission mode is RTU. If this is incorrect, use the menu to change the transmission mode to ASCII. 
 
The default Modbus parity is None. If this is not correct, use the menu to change the parity from None to Odd or Even. 
 
The default stop bits is 1. Use the menu to change the stop bit setting to 2. For some configurations the value is fixed. 
 
The default Modbus CRC value is A001. The menu can be used to change this setting. This only applies to RTU mode and 
has no effect in ASCII mode. It is the CRC polynomial setting and can be changed between A001, 1021, 8005 or 8408. 
 
The default Modbus delay is minimum (0). This can be changed in the menu. It is the slave response delay and can be set 
from minimum to 350ms. For example, the minimum delay means 3.5 character time delays or 4ms for 9600 baud rate. 

 
ModBus Protocol 

This section describes the implementation of the Modbus protocol used in the CO Transmitter. It is intended to assist control 
system programmers who may need to add support to their systems to communicate with this device. The CO Transmitter 
communicates on standard Modbus networks using either RTU or ASCII mode transmission. It operates as a slave device 
(address from 01 to 255) and expects a Modbus master device to transmit queries, which it will answer. 
 

RTU Mode Message Format 

Modbus Framing 

8 bit binary 

Data Bits 

start bits --- 1 
data bits --- 8 
parity bits --- none, odd or even 
stop bits --- 1or 2 

Baud Rate 

300, 600, 1200, 2400, 4800, 9600 or 19200 

Duplex Half 

duplex 

Error Checking 

Cyclical Redundancy Check (CRC)  
CRC-16 --- polynomial  x16+x15+x2+x0  0x8005  or reversed version 0xA001  
or CRC-CITT --- polynomial x16+x12+x5+x0  0x1021  or reversed version 0x8408  

Latency 

More than 3.5 characters --- minimum, 50, 100, 150, 200, 250, 300 or 350 mS 

 

Summary of Contents for CMD5B4 Series

Page 1: ... secured with two self tapping screws in the holes provided Hardware Setup The only hardware setup required is to select the analog output type with the pcb switch labelled VOLT and mA Slide the switch to the correct position for the required output signal type either 4 20 mA or 0 5 10 Vdc Power and Analog Output Wiring Use 22 AWG shielded wire for all connections and do not locate the device wire...

Page 2: ...can be used to directly control alarms ventilation fans or may be connected to digital inputs of the BAS for status monitoring Ensure any loads connected to the relays are within the relay ratings in the Specification section RS 485 Network Wiring If the transmitter is equipped with RS 485 communication either ModBus or BACnet then the COMM terminals A B and SHLD will also be available Connect the...

Page 3: ...Carbon Monoxide Transmitter Modbus Installation Manual May 5 2017 IN CMD5B4MOD 01 01 Page 3 Product Drawings Wiring Examples ...

Page 4: ...expired then the relay is not activated If the CO level exceeds 50 ppm for 2 minutes then the relay is activated The relay will remain activated until the CO level drops below 40 ppm trip level hysteresis This relay can be used to signal a low alarm Relay 2 operates in the same manner and has independently programmable trip point hysteresis and delay time This relay can be used to signal a high al...

Page 5: ... the communication option is installed on the product Operation User Menu The device has several parameters that can be configured locally via the User menu using the keypad and LCD All parameters default to typical values but the installer may want to change some values In some cases such as the device network address the installer MUST change the settings before operation Any changes made are sa...

Page 6: ...the setting The factory default is 2 minutes This item will not be shown if relay 1 is not installed MENU 9 Relay 1 Use the ROLL key to toggle relay 1 ON or OFF This item will not be shown if relay 1 is not installed Test OFF MENU 10 Relay 2 Use the ROLL key to scroll through the available options The relay 2 alarm trip point may be set from Trip 150 20 to 500 ppm in 10 ppm increments Press SAVE t...

Page 7: ...ication when the sensor requires re calibration When enabled the ReCal alarm will activate to indicate the sensor requires re calibration Press SAVE to save the setting The factory default is Enable If it is set to Reset and SAVE is pressed then the ReCal condition is cleared the ReCal timer is reset and ReCal mode is set back to it s default of Enable This can be used if the CO sensor is required...

Page 8: ...ess from 1 255 Press SAVE to save the change The Addr 01 factory default ModBus slave address is 1 Each device on the network must have a unique address MENU 27 BaudRate Use the ROLL key to select a baud rate of 300 600 1200 2400 4800 9600 or 19200 Press SAVE 9600 to save the setting The factory default ModBus baud rate is 9600 MENU 28 TranMode Use the ROLL key to toggle between RTU and ASCII mode...

Page 9: ... the ROLL key to select a unique network address from 0 127 then SAVE the value The Addr 4 factory default BACnet MAC address is 4 MENU 34 BaudRate Use the ROLL key to select a baud rate of 9600 19200 38400 or 76800 then SAVE the value The 9600 factory default BACnet baud rate is 9600 MENU 35 Menu Press SAVE to exit the menu and return to normal operation or MENU to repeat the menu Exit ...

Page 10: ...n In this case the gas calibration cap attaches to the sensor fixture on the cover as before The sensor must be continuously powered for at least 1 2 hour prior to calibration Calibrate the sensor first in clean air with no CO gas present Simply adjust the ZERO pot on the sensor board until a 4 mA or 0 Vdc output is obtained and the LCD displays 0 ppm Note that the 0 Filter menu item should be dis...

Page 11: ... red green on front panel Test Switch Performs I O tests front panel and remote connection Buzzer alarm 85db 10 feet Buzzer Trip Point Programmable 20 500 ppm in 10 ppm increments Buzzer Delay Programmable 0 10 minutes in 1 minute increments Wiring Connections Screw terminal block 14 to 22 AWG Enclosure 5 0 w x 4 0 h x 2 55 d 127 x 101 x 65 mm Agency Approvals Sensor is UL Recognized for ANSI UL 2...

Page 12: ...ng The default transmission mode is RTU If this is incorrect use the menu to change the transmission mode to ASCII The default Modbus parity is None If this is not correct use the menu to change the parity from None to Odd or Even The default stop bits is 1 Use the menu to change the stop bit setting to 2 For some configurations the value is fixed The default Modbus CRC value is A001 The menu can ...

Page 13: ...6 7 Even Stop Start 1 2 3 4 5 6 7 Even Stop Stop Modbus Register Addressing Modbus Address Typical Offset Units Data Type Access Notes 40001 0 Word Read Unsigned 16 bit integer 0x0000 CO in normal status 0x0001 in abnormal status 40002 1 PPM Word Read Unsigned 16 bit integer CO value 40003 2 F C Word Read Unsigned 16 bit integer Temperature value x 10 the application program must divide the value ...

Page 14: ... R W Unsigned 16 bit integer 0x0000 Test Mode Disable 0x0001 Test Mode Enable 40019 18 Word R W Unsigned 16 bit integer TEST_TIME 0 to 0x000E TIME 1 TEST_TIME 1 to 15 minutes 40020 19 Word R W Unsigned 16 bit integer 0x0000 Fault Mode Disable 0x0001 Fault Mode Enable 0x0002 Fault Mode Reset Revert to Disable 40021 20 Word R W Unsigned 16 bit integer FAULT_TIME 0 to 0x0003 TIME 3 FAULT_TIME 3 to 6 ...

Page 15: ...gister value MSB Register value LSB CRC LSB CRC MSB Response Slave address 0x01 to 0xFF Function code 0x06 Register address MSB Register address LSB Register value MSB Register value LSB CRC LSB CRC MSB Register address 0x0000 to 0xFFFF Registers value 0x0000 to 0xFFFF Exception response Slave address 0x01 to 0xFF Function code 0x80 Exception code 0x01 0x02 or 0x03 CRC LSB CRC MSB An exception res...

Page 16: ... cover when the product is mounted flat on a wall with the sensor facing the operator and the LCD to the top Changing the position will create reading inaccuracies The temperature register will not give accurate duct temperature values for duct style products air flow pickup tube on the rear of the enclosure 0x03 Read Buzzer Status Query Slave address 0x01 to 0xFF 0x03 0x00 0x03 0x00 0x01 CRC LSB ...

Page 17: ...Fault Mode Status Query Slave address 0x01 to 0xFF 0x03 0x00 0x07 0x00 0x01 CRC LSB CRC MSB Response Slave address 0x01 to 0xFF 0x03 0x02 Register value 0x00 Register value LSB CRC LSB CRC MSB Register value 0x0000 fault mode not activated 0x0001 fault mode activated 0x06 Write single register BUZZER_ENABLE Query Slave address 0x01 to 0xFF 0x06 0x00 0x08 0x00 Register value LSB CRC LSB CRC MSB Res...

Page 18: ... Write single register RELAY1_HYST Query Slave address 0x01 to 0xFF 0x06 0x00 0x0C 0x00 Register value LSB CRC LSB CRC MSB Response Slave address 0x01 to 0xFF 0x06 0x00 0x0C 0x00 Register value LSB CRC LSB CRC MSB Register value 0x0000 to 0x0012 corresponding to 10 to 100 ppm HYST 10 5 RELAY1_HYST 0x06 Write single register RELAY1_DELAY Query Slave address 0x01 to 0xFF 0x06 0x00 0x0D 0x00 Register...

Page 19: ... register TEST_MODE_ENABLE Query Slave address 0x01 to 0xFF 0x06 0x00 0x11 0x00 Register value LSB CRC LSB CRC MSB Response Slave address 0x01 to 0xFF 0x06 0x00 0x11 0x00 Register value LSB CRC LSB CRC MSB Register value 0x0000 test mode disable 0x0001 test mode enable 0x06 Write single register TEST_TIME Query Slave address 0x01 to 0xFF 0x06 0x00 0x12 0x00 Register value LSB CRC LSB CRC MSB Respo...

Page 20: ...status display 0x0001 CO value display 0x06 Write single register BACKLIGHT_ENABLE Query Slave address 0x01 to 0xFF 0x06 0x00 0x16 0x00 Register value LSB CRC LSB CRC MSB Response Slave address 0x01 to 0xFF 0x06 0x00 0x16 0x00 Register value LSB CRC LSB CRC MSB Register value 0x0000 backlight disable 0x0001 backlight enable 0x06 Write single register OUTPUT_TEST Query Slave address 0x01 to 0xFF 0x...

Page 21: ...x06 Write single register C F Query Slave address 0x01 to 0xFF 0x06 0x00 0x1A 0x00 Register value LSB CRC LSB CRC MSB Response Slave address 0x01 to 0xFF 0x06 0x00 0x1A 0x00 Register value LSB CRC LSB CRC MSB Registers value 0x0000 to 0x0001 corresponding to 0 C and 1 F 0x06 Write TEMPERATURE_OFFSET Query Slave address 0x01 to 0xFF 0x06 0x00 0x1B 0x00 Register value LSB CRC LSB CRC MSB Response Sl...

Page 22: ...to 0xFF MSB Slave address 0x01 to 0xFF LSB Function code 0x03 MSB 0x30 Function code 0x03 LSB 0x33 Byte count MSB N Byte count LSB N Register value MSB Register value Register value Register value LSB LRC MSB LRC LSB Return line feed CRLF 0x0D Return line feed CRLF 0x0A N Quantity of registers 0x06 Write single register Query Start character 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 t...

Page 23: ...ted by the CO Transmitter are shown below 0x03 Read CO Status Query 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x33 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x31 LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x33 0x30 0x32 0x30 0x30 0x30 0x30 CO normal 0x31 CO abnormal LRC MSB LRC LSB 0x0D 0x0A 0x03 Read CO PPM Que...

Page 24: ...us Query 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x33 0x30 0x30 0x30 0x33 0x30 0x30 0x30 0x31 LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x33 0x30 0x32 0x30 0x30 0x30 0x30 buzzer not activated 0x31 buzzer activated LRC MSB LRC LSB 0x0D 0x0A 0x03 Read Relay 1 Status Query 0x3A Slave address 0x01 to 0xFF ...

Page 25: ...ry 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x33 0x30 0x30 0x30 0x36 0x30 0x30 0x30 0x31 LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x33 0x30 0x32 0x30 0x30 0x30 0x30 test not activated 0x31 test activated LRC MSB LRC LSB 0x0D 0x0A 0x03 Read Fault Mode Status Query 0x3A Slave address 0x01 to 0xFF MSB Sla...

Page 26: ...Query 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x30 0x39 0x30 0x30 Register value Register value LSB LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x30 0x39 0x30 0x30 Register value Register value LSB LRC MSB LRC LSB 0x0D 0x0A 0x06 Write single register BUZZER_DELAY Query 0x3A ...

Page 27: ...T Query 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x30 0x42 0x30 0x30 Register value Register value LSB LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x30 0x42 0x30 0x30 Register value Register value LSB LRC MSB LRC LSB 0x0D 0x0A 0x06 Write single register RELAY1_DELAY Query 0x3...

Page 28: ...T Query 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x30 0x45 0x30 0x30 Register value Register value LSB LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x30 0x45 0x30 0x30 Register value Register value LSB LRC MSB LRC LSB 0x0D 0x0A 0x06 Write single register RELAY2_DELAY Query 0x3...

Page 29: ...ddress 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x32 0x30 0x30 0x30 Register value LSB LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x32 0x30 0x30 0x30 Register value LSB LRC MSB LRC LSB 0x0D 0x0A 0x06 Write single register FAULT_MODE_ENABLE Query 0x3A Slave address 0x01 to 0xFF MSB Sl...

Page 30: ...ddress 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x35 0x30 0x30 0x30 0x30 status display 0x31 CO value display LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x35 0x30 0x30 0x30 0x30 or 0x31 LRC MSB LRC LSB 0x0D 0x0A 0x06 Write single register BACKLIGHT_ENABLE Query 0x3A Slave address 0x0...

Page 31: ...ss 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x38 0x30 0x30 0x30 0x30 recal mode disable 0x31 recal mode enable 0x32 recal mode reset LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x38 0x30 0x30 0x30 0x30 or 0x31 LRC MSB LRC LSB 0x0D 0x0A 0x06 Write single register RECAL_TIME Query 0x3A ...

Page 32: ...e register TEMPERATURE_OFFSET Query 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x41 0x30 0x30 0x30 Register value LSB LRC MSB LRC LSB 0x0D 0x0A Response 0x3A Slave address 0x01 to 0xFF MSB Slave address 0x01 to 0xFF LSB 0x30 0x36 0x30 0x30 0x31 0x41 0x30 0x30 0x30 Register value LSB LRC MSB LRC LSB 0x0D 0x0A Exception response 0x3A Slave address 0x0...

Reviews: