Professional Documents
Culture Documents
Modbus Register Map Diesel - 381339-300C
Modbus Register Map Diesel - 381339-300C
CRC16_checksum((unsigned char *)
“\x41\x53\x43\x4F\x94\xCD”, 4)
which returns CRC = 0x0000
CRC16_checksum(“\x42\x53\x43\x4F\x94\xCD”, 4)
which returns CRC = 0x3300
Function # 03 (03h) – Read Holding Registers about the data register definitions of the Diesel Fire
Pump Controller.
This function code allows the master to read one or
more consecutive data registers from the Diesel Fire The following example shows the format of a
Pump Controller. The data registers are always 16 bit transmission between a client device and the
(two byte) values, transmitted high order byte first. responding Diesel Fire Pump Controller at address 1.
Refer to the Register Map for details about the data The client desires to set the Selected Event register
register definitions of the Diesel Fire Pump Controller. 40077 to a data value 5 (05 hexadecimal).
The following example shows the format of a Master Transmission
transmission between a master client device and the Packet Format Example (in hex)
responding Diesel Fire Pump Controller at address 1. Slave address 01
The master desires to read the Timestamp (time & Function code 06
Data starting address (high byte) 00
date), beginning at Holding register location 40004 Data starting address (low byte) 4C
(which is a “Data starting address” of 3 decimal or 03 Set Data (high byte) 00
hexadecimal). Set Data (low byte) 05
CRC16 (low byte) 88
Master Transmission CRC16 (high byte) 1E
Packet Format Example (in hex)
Slave address 01
Diesel Fire Pump Controller Response
Function code 03 Packet Format Example (in hex)
Data starting address (high byte) 00 Slave address 01
Data starting address (low byte) 03 Function code 06
Number of registers (high byte) 00 Data starting address (high byte) 00
Number of registers (low byte) 06 Data starting address (low byte) 4C
CRC16 (low byte) 35 Data (high byte) 00
CRC16 (high byte) C8 Data (low byte) 05
CRC16 (low byte) 88
CRC16 (high byte) 1E
Diesel Fire Pump Controller Response
Packet Format Example (in hex)
Slave address 01
Function code 03 Function # 16 (10h) – Preset Multiple Registers
Byte count 0C This function currently is not supported.
Data word #1 (high byte) 00
Data word #1 (low byte) 0C
Data word #2 (high byte) 00 Exception Responses
Data word #2 (low byte) 09
Data word #3 (high byte) 00 If the Modbus master device sends an unsupported
Data word #3 (low byte) 25 command, attempts to read an invalid holding register,
Data word #4 (high byte) 00 or attempts to write invalid data, the Diesel Fire Pump
Data word #4 (low byte) 01
Data word #5 (high byte) 00
Controller issues an exception response. The format
Data word #5 (low byte) 08 for the exception response is as follows:
Data word #6 (high byte) 00 1. SLAVE ADDRESS
Data word #6 (low byte) 0A 2. FUNCTION CODE*
CRC16 (low byte) 8E (with the most-significant-bit set to a 1)
CRC16 (high byte) B7 3. ERROR CODE
4. CRC16 – low order byte
5. CRC16 – high order byte
Function # 06 (06h) – Preset Single Register * Note the high order bit of the function code has
This function code allows the master device to modify been set to one to indicate an exception response
the contents of a single configuration register within has been generated.
the Diesel Fire Pump Controller. The data registers The following table is a list of the exception codes
are always 16 bit (two byte) values, transmitted high supported by the Diesel Fire Pump Controller.
order byte first. Refer to the Register Map for details
ASCO Power Technologies, 50-60 Hanover Rd, Florham Park, NJ 07932
Modbus is a registered trademark of Gould Inc. 4 381339-300 C
Firetrol Mark II XG Diesel Fire Pump Controller Modbus Communications Protocol
Exception Response Error Codes CRC16 (high byte) 23
Error Error Diesel Fire Pump Controller Diesel Fire Pump Response
code name implementation
The slave does not support the Packet Format Example (in hex)
01 Illegal function function code contained in the Slave address 01
master query packet. Function code 86
The slave does not support the Error code 02
Illegal data Holding Register address CRC16 (low byte) C3
02 CRC16 (high byte) A1
address referenced in the data field of
the master query packet.
The slave does not support the
Illegal data
03 data referenced in the data field
value
of the master query packet.
The slave is unable to perform
the action requested due to an
Negative
07 invalid privilege level, a
Acknowledge
temporary restriction, or an
internal resource conflict.
Register Map
The following table describes the mapping of the registers defined in the Modbus protocol within the Diesel Fire
Pump Controller.
Diesel Fire Pump Controller Modbus Register Map Table
Notes including a release number, e.g. “Rel. 30”, mean that the register number was introduced in that release, is
defined in that and higher-numbered release installations, and is undefined for lower-numbered releases.
Function
Code(s)
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
40032-40033 Undefined
Data Logging
40035 0x03 Last Engine Start Hour Hr RO 0 - 23
40036 0x03 Last Engine Start Minute Min RO 0 - 59
40037 0x03 Last Engine Start Second Sec RO 0 - 59
40038 0x03 Last Engine Start Month RO 1 - 12
40039 0x03 Last Engine Start Day RO 1 - 31
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
Event Logging
40076 0x03 Total Number Events RO 0 - 3000
0x03
40077 Selected Event RW 1 - 3000
0x06
40078 0x03 Event ID (See Diesel event description table) RO 1-191
40079 0x03 Event Hour Hr RO 0 - 23
40080 0x03 Event Minute Min RO 0 - 59
40081 0x03 Event Second Sec RO 0 - 59
40082 0x03 Event Month RO 1 - 12
40083 0x03 Event Day RO 1 - 31
40084 0x03 Event Year RO 1700 - 3000
40085 0x03 Event value (Pressure value or error codes) PSI RO 0 - 65535
40086 0x03 Event Onscreen Buffer RO 0-255
40087 0x03 Displayed (possibly filtered) Battery 1 Volts V RO 0 - 5000 0.01 * Raw
40088 0x03 Displayed (possibly filtered) Battery 1 Charger Current A RO 0 - 1500 0.01 * Raw
40089 0x03 Displayed (possibly filtered) Battery 1 AC Volts V RO 0 - 3000
40090 0x03 Displayed (possibly filtered) Battery 2 Volts V RO 0 - 5000 0.01 * Raw
40091 0x03 Displayed (possibly filtered) Battery 2 Charger Current A RO 0 - 1500 0.01 * Raw
40092 0x03 Displayed (possibly filtered) Bttery 2 AC Volts V RO 0 - 3000
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
40102-40105 Undefined
40132-40134 Undefined
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
1 - Level
40140 0x03 Low Suction Delay Sec. RO 0 - 65535
0 - Auto
40141 0x03 Low Suction Reset RO
1 - Manual
40142 0x03 Pressure Recording Hourly Enable RO BOOL
40143 0x03 Pressure Recording Delta P PSI RO 9 - 50
40144 Undefined
Day of
40145 0x03 Weekly Test Day RO 0-6 0 - Sunday
Week
Minute
40146 0x03 Weekly Test Run Time RO 5, 30 - 60
s
40147 0x03 Weekly Test Week Interval Weeks RO 0-5
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
D1-
Undefined RO
D15
40203-40206 Undefined
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
3 - Coils 1 & 2
40234 0x03 Manual test duration feature settings Min. RO 0 - 99
40235 0x03 Remote start use on delay RO BOOL
40236 0x03 Remote start auto shutdown RO BOOL
RO 0–
1 – PTR
40237 0x03 User input pump room
2 – ETR
3 – ETR + PTR
40238 0x03 Battery fault RO BOOL
40239 0x03 Program mode input RO BOOL
40240 0x03 Test mode input RO BOOL
40241 0x03 Clock battery input RO BOOL
40242 0x03 Total Engine Run Time hour Hr. RO 0 - 65535
40243 0x03 Total Engine Run Time Min. Min. RO 0 - 59
40244 0x03 Last Engine Run Time hour Hr. RO 0 - 65535
40245 0x03 Last Engine Run Time Min. Min. RO 0 - 59
40246 0x03 Total Unit Time hour Hr. RO 0 - 65535
40247 0x03 Total Unit Time Min Min. RO 0 - 59
0–
1 – PTR
40248 0x03 User input 1 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40249 0x03 User input 2 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40250 0x03 User input 3 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40251 0x03 User input 4 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40252 0x03 User input 5 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40253 0x03 User input 6 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40254 0x03 User input 7 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40255 0x03 User input 8 pump room setting RO
2 – ETR
3 – ETR + PTR
40256 Undefined register
40257 0x03 Software Version ASCII characters 1 and 2 RO ASCII
40258 0x03 Software Version ASCII characters 3 and 4 RO ASCII
40259 0x03 Software Version ASCII characters 5 and 6 RO ASCII
40260 0x03 Software Version ASCII characters 7 and 8 RO ASCII
40261 0x03 Software Version ASCII characters 9 and 10 RO ASCII
40262 0x03 Undefined register
0–
1 – PTR
40263 0x03 Opt. AF pump room temp setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40264 0x03 Opt. AG low reservoir pump room setting RO
2 – ETR
3 – ETR + PTR
40265 0x03 Opt. EG relive valve pump room setting RO 0–
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
1 – PTR
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40266 0x03 Input 26 pump room setting RO
2 – ETR
3 – ETR + PTR
0–
1 – PTR
40267 0x03 Input 28 pump room setting RO
2 – ETR
3 – ETR + PTR
40268 Undefined register
40269 0x03 Opt. AF pump room temp audible RO BOOL
40270 0x03 Opt. AG low reservoir pump room audible RO BOOL
40271 0x03 Opt. EG relive valve pump room audible RO BOOL
40272 0x03 Input 26 pump room audible RO BOOL
40273 0x03 Input 28 pump room audible RO BOOL
40274 Undefined register
40275 0x03 Opt. AF pump room alarm RO BOOL
40276 0x03 Opt. AG low reservoir pump room alarm RO BOOL
40277 0x03 Opt. EG relive valve pump room alarm RO BOOL
40278 0x03 Input 26 pump room alarm RO BOOL
40279 0x03 Input 28 pump room alarm RO BOOL
0 – Disabled
1 – EN Low Zone
40280 0x03 Opt. EL EM EN Series Pumping Enable RO
2 – EL High Zone
3 – EM Mid Zone
0 – inactive
40281 0x03 Opt. EL EM EN Series Pumping User Input RO
1-8 User Input
40282 0x03 Opt. EL EM EN Series Pumping Normally Connected RO BOOL
0 – inactive
40283 0x03 Opt. EL EM EN Series Pumping User Output RO
1-8 User Output
40284 0x03 Opt. EL EM EN Series Pumping RESERVED RO
0-do nothing
1-Message Only
2-User 1 Out
3-User 2 Out
4-User 3 Out
40313 0x03 User input 1 action to take RO 5-User 4 Out
6-User 5 Out
7-User 6 Out
8-User 7 Out
9-User 8 Out
10-User 9 Out
40314 0x03 User input 2 action to take RO Same as 40313
40315 0x03 User input 3 action to take RO Same as 40313
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
40504 0x03 User input 6 OFF message ASCII char 11&12 RO ASCII
40505 0x03 User input 6 OFF message ASCII char 13&14 RO ASCII
40506 0x03 User input 6 OFF message ASCII char 15&16 RO ASCII
40507 0x03 User input 6 OFF message ASCII char 17&18 RO ASCII
40508 0x03 User input 6 OFF message ASCII char 19&20 RO ASCII
40409 0x03 User input 7 OFF message ASCII char 1&2 RO ASCII
40510 0x03 User input 7 OFF message ASCII char 3&4 RO ASCII
40511 0x03 User input 7 OFF message ASCII char 5&6 RO ASCII
40512 0x03 User input 7 OFF message ASCII char 7&8 RO ASCII
40513 0x03 User input 7 OFF message ASCII char 9&10 RO ASCII
40514 0x03 User input 7 OFF message ASCII char 11&12 RO ASCII
40515 0x03 User input 7 OFF message ASCII char 13&14 RO ASCII
40516 0x03 User input 7 OFF message ASCII char 15&16 RO ASCII
40517 0x03 User input 7 OFF message ASCII char 17&18 RO ASCII
40518 0x03 User input 7 OFF message ASCII char 19&20 RO ASCII
40419 0x03 User input 8 OFF message ASCII char 1&2 RO ASCII
40520 0x03 User input 8 OFF message ASCII char 3&4 RO ASCII
40521 0x03 User input 8 OFF message ASCII char 5&6 RO ASCII
40522 0x03 User input 8 OFF message ASCII char 7&8 RO ASCII
40523 0x03 User input 8 OFF message ASCII char 9&10 RO ASCII
40524 0x03 User input 8 OFF message ASCII char 11&12 RO ASCII
40525 0x03 User input 8 OFF message ASCII char 13&14 RO ASCII
40526 0x03 User input 8 OFF message ASCII char 15&16 RO ASCII
40527 0x03 User input 8 OFF message ASCII char 17&18 RO ASCII
40528 0x03 User input 8 OFF message ASCII char 19&20 RO ASCII
40429 0x03 User input 9 OFF message ASCII char 1&2 RO ASCII
40530 0x03 User input 9 OFF message ASCII char 3&4 RO ASCII
40531 0x03 User input 9 OFF message ASCII char 5&6 RO ASCII
40532 0x03 User input 9 OFF message ASCII char 7&8 RO ASCII
40533 0x03 User input 9 OFF message ASCII char 9&10 RO ASCII
40534 0x03 User input 9 OFF message ASCII char 11&12 RO ASCII
40535 0x03 User input 9 OFF message ASCII char 13&14 RO ASCII
40536 0x03 User input 9 OFF message ASCII char 15&16 RO ASCII
40537 0x03 User input 9 OFF message ASCII char 17&18 RO ASCII
40538 0x03 User input 9 OFF message ASCII char 19&20 RO ASCII
40439 0x03 User input OFF message ASCII char 1&2 RO ASCII
40540 0x03 User input OFF message ASCII char 3&4 RO ASCII
40541 0x03 User input OFF message ASCII char 5&6 RO ASCII
40542 0x03 User input OFF message ASCII char 7&8 RO ASCII
40543 0x03 User input OFF message ASCII char 9&10 RO ASCII
40544 0x03 User input OFF message ASCII char 11&12 RO ASCII
40545 0x03 User input OFF message ASCII char 13&14 RO ASCII
40546 0x03 User input OFF message ASCII char 15&16 RO ASCII
40547 0x03 User input OFF message ASCII char 17&18 RO ASCII
40548 0x03 User input OFF message ASCII char 19&20 RO ASCII
40549 0x03 Service message line 1 ASCII char 1&2 RO ASCII
40550 0x03 Service message line 1 ASCII char 3&4 RO ASCII
40551 0x03 Service message line 1 ASCII char 5&6 RO ASCII
40552 0x03 Service message line 1 ASCII char 7&8 RO ASCII
40553 0x03 Service message line 1 ASCII char 9&10 RO ASCII
40554 0x03 Service message line 1 ASCII char 11&12 RO ASCII
40555 0x03 Service message line 1 ASCII char 13&14 RO ASCII
40556 0x03 Service message line 1 ASCII char 15&16 RO ASCII
40557 0x03 Service message line 1 ASCII char 17&18 RO ASCII
40558 0x03 Service message line 1 ASCII char 19&20 RO ASCII
40559 0x03 Service message line 2 ASCII char 1&2 RO ASCII
40560 0x03 Service message line 2 ASCII char 3&4 RO ASCII
40561 0x03 Service message line 2 ASCII char 5&6 RO ASCII
40562 0x03 Service message line 2 ASCII char 7&8 RO ASCII
40563 0x03 Service message line 2 ASCII char 9&10 RO ASCII
40564 0x03 Service message line 2 ASCII char 11&12 RO ASCII
40565 0x03 Service message line 2 ASCII char 13&14 RO ASCII
40566 0x03 Service message line 2 ASCII char 15&16 RO ASCII
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
40630 0x03 Standard input 55 OFF message ASCII char 7&8 RO ASCII
40631 0x03 Standard input 55 OFF message ASCII char 9&10 RO ASCII
40632 0x03 Standard input 55 OFF message ASCII char 11&12 RO ASCII
40633 0x03 Standard input 55 OFF message ASCII char 13&14 RO ASCII
40634 0x03 Standard input 55 OFF message ASCII char 15&16 RO ASCII
40635 0x03 Standard input 55 OFF message ASCII char 17&18 RO ASCII
40636 0x03 Standard input 55 OFF message ASCII char 19&20 RO ASCII
40637 0x03 Standard input 65 OFF message ASCII char 1&2 RO ASCII
40638 0x03 Standard input 65 OFF message ASCII char 3&4 RO ASCII
40639 0x03 Standard input 65 OFF message ASCII char 5&6 RO ASCII
40640 0x03 Standard input 65 OFF message ASCII char 7&8 RO ASCII
40641 0x03 Standard input 65 OFF message ASCII char 9&10 RO ASCII
40642 0x03 Standard input 65 OFF message ASCII char 11&12 RO ASCII
40643 0x03 Standard input 65 OFF message ASCII char 13&14 RO ASCII
40644 0x03 Standard input 65 OFF message ASCII char 15&16 RO ASCII
40645 0x03 Standard input 65 OFF message ASCII char 17&18 RO ASCII
40646 0x03 Standard input 65 OFF message ASCII char 19&20 RO ASCII
40647 0x03 Standard input 141 OFF message ASCII char 1&2 RO ASCII
40648 0x03 Standard input 141 OFF message ASCII char 3&4 RO ASCII
40649 0x03 Standard input 141 OFF message ASCII char 5&6 RO ASCII
40650 0x03 Standard input 141 OFF message ASCII char 7&8 RO ASCII
40651 0x03 Standard input 141 OFF message ASCII char 9&10 RO ASCII
40652 0x03 Standard input 141 OFF message ASCII char 11&12 RO ASCII
40653 0x03 Standard input 141 OFF message ASCII char 13&14 RO ASCII
40654 0x03 Standard input 141 OFF message ASCII char 15&16 RO ASCII
40655 0x03 Standard input 141 OFF message ASCII char 17&18 RO ASCII
40656 0x03 Standard input 141 OFF message ASCII char 19&20 RO ASCII
40657 0x03 Standard input 151 OFF message ASCII char 1&2 RO ASCII
40658 0x03 Standard input 151 OFF message ASCII char 3&4 RO ASCII
40659 0x03 Standard input 151 OFF message ASCII char 5&6 RO ASCII
40660 0x03 Standard input 151 OFF message ASCII char 7&8 RO ASCII
40661 0x03 Standard input 151 OFF message ASCII char 9&10 RO ASCII
40662 0x03 Standard input 151 OFF message ASCII char 11&12 RO ASCII
40663 0x03 Standard input 151 OFF message ASCII char 13&14 RO ASCII
40664 0x03 Standard input 151 OFF message ASCII char 15&16 RO ASCII
40665 0x03 Standard input 151 OFF message ASCII char 17&18 RO ASCII
40666 0x03 Standard input 151 OFF message ASCII char 19&20 RO ASCII
40667 0x03 Standard input 161 OFF message ASCII char 1&2 RO ASCII
40668 0x03 Standard input 161 OFF message ASCII char 3&4 RO ASCII
40669 0x03 Standard input 161 OFF message ASCII char 5&6 RO ASCII
40670 0x03 Standard input 161 OFF message ASCII char 7&8 RO ASCII
40671 0x03 Standard input 161 OFF message ASCII char 9&10 RO ASCII
40672 0x03 Standard input 161 OFF message ASCII char 11&12 RO ASCII
40673 0x03 Standard input 161 OFF message ASCII char 13&14 RO ASCII
40674 0x03 Standard input 161 OFF message ASCII char 15&16 RO ASCII
40675 0x03 Standard input 161 OFF message ASCII char 17&18 RO ASCII
40676 0x03 Standard input 161 OFF message ASCII char 19&20 RO ASCII
40677 0x03 Service message line 3 ASCII char 1&2 RO ASCII Rel. 30
40678 0x03 Service message line 3 ASCII char 3&4 RO ASCII Rel. 30
40679 0x03 Service message line 3 ASCII char 5&6 RO ASCII Rel. 30
40680 0x03 Service message line 3 ASCII char 7&8 RO ASCII Rel. 30
40681 0x03 Service message line 3 ASCII char 9&10 RO ASCII Rel. 30
40682 0x03 Service message line 3 ASCII char 11&12 RO ASCII Rel. 30
40683 0x03 Service message line 3 ASCII char 13&14 RO ASCII Rel. 30
40684 0x03 Service message line 3 ASCII char 15&16 RO ASCII Rel. 30
40685 0x03 Service message line 3 ASCII char 17&18 RO ASCII Rel. 30
40686 0x03 Service message line 3 ASCII char 19&20 RO ASCII Rel. 30
40687 0x03 Service message line 4 ASCII char 1&2 RO ASCII Rel. 30
40688 0x03 Service message line 4 ASCII char 3&4 RO ASCII Rel. 30
40689 0x03 Service message line 4 ASCII char 5&6 RO ASCII Rel. 30
40690 0x03 Service message line 4 ASCII char 7&8 RO ASCII Rel. 30
40691 0x03 Service message line 4 ASCII char 9&10 RO ASCII Rel. 30
40692 0x03 Service message line 4 ASCII char 11&12 RO ASCII Rel. 30
Function
Code(s)
Register Bit Description Units Write Range Scaling / Notes
40693 0x03 Service message line 4 ASCII char 13&14 RO ASCII Rel. 30
40694 0x03 Service message line 4 ASCII char 15&16 RO ASCII Rel. 30
40695 0x03 Service message line 4 ASCII char 17&18 RO ASCII Rel. 30
40696 0x03 Service message line 4 ASCII char 19&20 RO ASCII Rel. 30