Full Text Searchable PDF User Manual
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 1 of 14
November 2, 2017
INSTRUCTION MANUAL
MODBUS RTU INTERFACE CARD
FOR
TMS SERIES AND LC2000 SYSTEMS
This document describes the installation and setup of the MODBUS RTU RS-485 Interface Card,
P/N 900552-x. Also provided are communications protocol and register mapping used to interface from
the TMS/LC2000 console to a host or master computer system supporting MODBUS RTU protocol.
Communications is over a half duplex, single twisted-pair RS-485 cable. Information available from the
TMS/LC2000 includes continuous tank data and tank-related alarms, leak/point level sensor statuses
and contact closure input statuses. The MODBUS Communications Card includes dipswitches for slave
address and baud rate selection, and provides LED indicators for transmit and receive activity. See
Section 3.0 Product Specifications for details.
DWG NO. 20198 REV. N/C
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 2 of 14
November 2, 2017
Modbus RTU support is provided with the following TMS console firmware versions;
Vxx.99.9A or later (wired)
V1x.xx.04 or later
V2x.00.05 or later (wired)
V3x.00.05 or later (wired)
where “x” denotes “don’t care” values
Note: All TMS Vxx.01.xx, LC2000, TMS2000W, TMS4000, and TMS4000W firmware versions
support the Modbus RTU Interface Card.
Please contact Technical Support for an upgrade if you have firmware outside of the above range,
or if you have questions about identifying the TMS firmware version in your console.
1.0 Installation and Setup
Installation and setup of the 900552 Modbus RTU Interface Card requires no programming on the
TMS/LC2000 console. Simply select the desired slave address and baud rate, and enable line
termination resistor if required. No other setup is required.
1. Line Terminator Switch
2. Modbus Line In/Line Out Terminal Connections
3. Slave Transmit LED
4. Slave Receive LED
5. Dip Switches
6. Microprocessor/Firmware
Use Table Set #1 or Table Set #2 below corresponding to the revision or number of Dip Switches;
Table #1: Rev. E and earlier, 4 Dip Switches
Table #2: Rev. F and later, 8 Dip Switches
2
3
4
1
5
6
2
3
4
1
5
6
r
e
t
a
l
d
n
a
F
.
v
e
R
r
e
il
r
a
e
d
n
a
E
.
v
e
R
IMPORTANT! Confirm that the installed TMS console firmware version
supports Modbus RTU protocol.
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 3 of 14
November 2, 2017
1.1 Dip Switch Settings
1.1.1 Table Set #1 – (Rev. E and earlier, 4 Dip Switches)
Slave
SW #3
SW #2
SW #1
Device Address
Address MSB
Address 2SB
Address LSB
1*
CLOSED*
CLOSED*
CLOSED*
2
CLOSED
CLOSED
OPEN
3
CLOSED
OPEN
CLOSED
4
CLOSED
OPEN
OPEN
5**
OPEN
CLOSED
CLOSED
6**
OPEN
CLOSED
OPEN
7**
OPEN
OPEN
CLOSED
8**
OPEN
OPEN
OPEN
*Factory defaults
**Valid for firmware version PM008S or later
SW #4
Baud Rate
Baud Rate Select
9600*
CLOSED*
38400
OPEN
1.1.2 Table Set #2 – (Rev. F and later, 8 Dip Switches)
Slave
SW #6
SW #5
SW #4
SW #3
SW #2
SW #1
Device
Address
Address
MSB
Address
5SB
Address
4SB
Address
3SB
Address
2SB
Address
LSB
1*
CLOSED*
CLOSED*
CLOSED*
CLOSED*
CLOSED*
CLOSED*
2
CLOSED
CLOSED
CLOSED
CLOSED
CLOSED
OPEN
3
CLOSED
CLOSED
CLOSED
CLOSED
OPEN
CLOSED
4
CLOSED
CLOSED
CLOSED
CLOSED
OPEN
OPEN
5
CLOSED
CLOSED
CLOSED
OPEN
CLOSED
CLOSED
6
CLOSED
CLOSED
CLOSED
OPEN
CLOSED
OPEN
7
CLOSED
CLOSED
CLOSED
OPEN
OPEN
CLOSED
8
CLOSED
CLOSED
CLOSED
OPEN
OPEN
OPEN
9
CLOSED
CLOSED
OPEN
CLOSED
CLOSED
CLOSED
10
CLOSED
CLOSED
OPEN
CLOSED
CLOSED
OPEN
11 thru 62
63
OPEN
OPEN
OPEN
OPEN
OPEN
CLOSED
64
OPEN
OPEN
OPEN
OPEN
OPEN
OPEN
*Factory defaults
Baud Rate
Baud Rate Select
SW #8
SW #7
9600*
CLOSED*
CLOSED*
19200
CLOSED
OPEN
38400
OPEN
CLOSED
NOT USED
OPEN
OPEN
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 4 of 14
November 2, 2017
1.2 Installation of MODBUS Card
TMS3000/TMS4000
TMS2000(W)/LC2000
TMS1000
MODBUS
CARD
(SYSTEM ENCLOSURE PARTIALLY SHOWN)
ON/OFF SWITCH
(SEE WARNING)
MAIN
BOARD
PROCESSOR CARD
DWG NO. 20200 REV. N/C
MAIN BOARD
STANDOFF
MODBUS CARD
ON/OFF SWITCH
(SEE WARNING)
(SYSTEM ENCLOSURE PARTIALLY SHOWN)
DWG NO. 20199 REV. N/C
ON/OFF SWITCH
(SEE WARNING)
MAIN BOARD
STANDOFF
MODBUS CARD
DWG NO. 20201 REV. N/C
WARNING! Turn power OFF before installing or removing any circuit cards.
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 5 of 14
November 2, 2017
1.3 Terminal Connections
Plug-in terminal block TB1 is provided for connection to the RS-485 Modbus. Note that both input
and output terminals are provided to support multi-drop wiring.
OUT
IN
SHD
B(-)
A(+)
SHD
B(-)
A(+)
1.3.1 Cabling
Cable type should be twisted pair, shielded, and designated for RS-485 communications having a
nominal impedance of 120 ohms. Maximum cable distance supported is 4000’ as per below drawing.
See 3.0 Product Specifications for example part numbers.
DWG NO. 20196 REV. A
END-OF-RUN
TMS/LC2000
#2
#1
4000 FEET (1200 M) MAX. DISTANCE
TMS/LC2000
TMS/LC2000
JUNCTION BOX
MODBUS CARD *
* CARD LOCATION AND ORIENTATION SHOWN FOR REF. EACH CONSOLE
COULD CONTAIN A SINGLE (SHOWN) OR DUAL MODBUS CARD.
MODBUS CARD *
MODBUS CARD *
BAS/BMS/PLC
MULTI-PROTOCOL
GATEWAY
MODBUS MASTER
TX
RX
SH
DB-
A+
SH
DB-
A
+
OFF
TERM
ON
TX
RX
SH
DB-
A+
SH
DB-
A
+
OFF
TERM
ON
TX
RX
SH
DB-
A+
SH
DB-
A
+
OFF
TERM
ON
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 6 of 14
November 2, 2017
1.3.2 Line Termination Resistor
The RS-485 bus requires that the end-of-run device be terminated with a 120-ohm resistor. This is
accomplished by setting the LINE TERMINATION switch to “ON” if the MODBUS Interface Card is
the last device on the bus. Otherwise this switch should be set to “OFF”.
1.4 LED Indicators
Visual indication of Modbus activity is provided by a SLAVE RECEIVE (RX) and a SLAVE
TRANSMIT (TX) LED. Note that SLAVE RECEIVE indicates for all MASTER/HOST transmissions.
DWG NO. 20197 REV. B
I
N
O
U
T
MODBUS CARD
(TOP VIEW)
"OFF" POSITION
TO ADD ANOTHER
TMS/LC2000
WHT/BL (A+)
BL/WHT (B-)
SHIELD (SHD)
WHT/BL (A+)
BL/WHT (B-)
SHIELD (SHD)
2 CONDUCTOR SHIELDED
RS-485 COMM. CABLE
I
N
O
U
T
MODBUS CARD
(TOP VIEW)
WHT/BL (A+)
BL/WHT (B-)
SHIELD (SHD)
"ON" POSITION
FOR LAST
TMS/LC2000
END-OF-RUN
TX
RX
SHD
B-
A+
SH
D
B-
A
+
OFF
TERM
ON
TX
RX
SHD
B-
A+
SH
D
B-
A
+
OFF
TERM
ON
SHIELD WIRE SHOULD
BE CUT BACK AND LEFT
UNTERMINATED
THIS END ONLY
MODBUS MASTER
(EXAMPLES: BAS, BMS, PLC)
TERMINAL BLOCK
(SHOWN FOR REF.)
WHT/BL (A+)
BL/WHT (B-)
SHIELD (SHD)
SHIELD WIRE SHOULD
BE CUT BACK AND LEFT
UNTERMINATED
THIS END ONLY
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 7 of 14
November 2, 2017
2.0 MODBUS Function Format
Function Code 3: Read Holding Registers
Note: All Queries are in Hex RTU format
Master to Slave (TMS/LC2000) Query – Read TMS/LC2000 Data
Slave (TMS/LC2000) to Master Response – Read TMS/LC2000 Data
FC
SLA
STA
5
6
7
8
1
2
3
4
NPR
EC
Error Check - 16-bit CRC
Number of Points to Read
Start Address
Function Code (03H)
Slave Address (00H - 0FH)
CHAR #
FC
SLA
BC
DATA
EC
Error Check - 16-bit CRC
Data Stream
Byte Count
Function Code (03H)
Slave Address (00H - 0FH)
BC+3
BC+4 BC+5
1
2
3
4
CHAR #
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 8 of 14
November 2, 2017
2.1 TMS/LC2000 Data Register Map
Register Address Data Group
40001
MODBUS Status Register
40002- 40017
Tank 1
40018- 40033
Tank 2
40034- 40049
Tank 3
40050- 40065
Tank 4
40066- 40081
Tank 5
40082- 40097
Tank 6
40098- 40113
Tank 7
40114- 40129
Tank 8
40130- 40145
Tank 9
40146- 40161
Tank 10
40162- 40177
Tank 11
40178- 40193
Tank 12
40194
Sensors 1- 4
40195
Sensors 5 – 8
40196
Sensors 9 – 12
40197
Sensors 13 – 16
40198
Sensors 17 – 20
40199
Sensors 21 – 24
40200
Sensors 25 – 28
40201
Sensors 29 – 32
40202
Sensors 33 – 36
40203
Sensors 37 - 40
40204
Contact Closure 1 – 4
40205
Contact Closure 5 – 8
40206
Contact Closure 9 – 12
40207
Contact Closure 13 - 16
Note: Tank Registers 40002-40193 do not apply to the LC2000 since it does not interface with level probes.
2.1.1 MODBUS Status Register Detail
The least-significant bit (LSB) of the MODBUS Status Register (MSR) maintains the status of
communications between MODBUS and TMS/LC2000 processors. If for any reason communications
between these two processors is lost, the MODBUS processor will set the LSB of the MSR to “1”.
Additionally, the MODBUS processor will force all tank data to full positive scale except ullage, which
will be forced to zero. If communications is normal, the MSR LSB will be set to “0”. The second-
significant bit (2SB) of the MSR maintains the status of the TMS tank probe data acquisition process,
which is normally scanning tanks on a continuous basis, indicated by the 2SB set to “0”. If an on-site
technician is in the process of altering TMS tank or probe configuration data via the TMS front panel,
tank data acquisition scanning will be suspended and the 2SB will be set to a “1”. Scanning will resume
and the 2SB will set to “0” after the new settings have been saved.
The MSR should be checked occasionally since these statuses indicate that MODBUS register data is
not being updated. Typically, the entire MODBUS register set is updated every 0.8 to 1.2 seconds, and
the MSR communications status bit is set to “1” after 10 seconds of failed TMS/LC2000
communications. Note that although all unused bits in the MSR are set to zero, they may be used in
future firmware versions.
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 9 of 14
November 2, 2017
2.1.2 Tank Data Register Detail
Tank Register Start Address “T” = ((N – 1) 16) + 40002, where N = Tank Number 1 thru 12
Note: Tank Data Registers do not apply to the LC2000 since it does not interface with level probes.
Register Description
(Starting at Address “T”)
“T” Address
Offset
Data Format
Resolution
Tank Status Register (High)
Tank Status Register (Low)
0
1
See Section
2.1.2.1
N/A
Total Height (High)
Total Height (Low)
2
3
S + 31 Bits
0.1in/1mm
Gross Volume (High)
Gross Volume (Low)
4
5
32 Bits
1 GL/1 LT
Net Volume (High)
Net Volume (Low)
6
7
32 Bits
1 GL/1 LT
% Volume (High)
% Volume (Low)
8
9
32 Bits
0.1%
Product Temperature (High)
Product Temperature (Low)
10
11
S + 31 Bits
0.1
F/0.1
C
Water Height (High)
Water Height (Low)
12
13
S + 31 Bits
0.1in/1mm
Ullage* (High)
Ullage* (Low)
14
15
32 Bits
1 GL/1 LT
*Ullage is based on 85%, 90%, 95% or 100% of tank capacity, depending on
TMS configuration setting
“S” denotes sign bit, where 0 = “+”, 1 = “-“. Negative numbers are represented in
2’s compliment form, i.e. –1 = FFFFFFFFh.
2.1.2.1 Tank Status Register Detail
Use Table #1 or Table #2 below corresponding to the firmware version loaded into the TMS as follows;
Table #1: TMS2000 V2x.99.xx, V2x.00.xx, or V2x.01.01 thru V2x.01.10 (wired)
TMS3000 V3x.99.xx, V3x.00.xx, or V3x.01.01 thru V3x.01.10 (wired)
TMS2000W V4x.00.xx, or V4x.01.01 thru V4x.01.13 (wireless)
Table #2: TMS2000 V2x.01.11 or later (wired)
TMS3000 V3x.01.11 or later (wired)
TMS2000W V4x.01.14 or later (wireless)
TMS1000 V1x.xx.04 or later
TMS4000
TMS4000W
Where “x” denotes a “don’t care” value
Note: Tank Status Register does not apply to the LC2000 since it does not interface with level probes.
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 10 of 14
November 2, 2017
Table #1
Bit
Pos.
Status
Wired Systems
Wireless Systems
DB0
Delivery in Progress (LSB)
DB1
Probe Sync Error
Probe Level Error
DB2
Probe Timeout Error
DB3
In-Tank Leak Test in Progress
N/A
DB4
Pump/Generator Run
DB5
Ullage Mode LSB (See table below)
DB6
Ullage Mode MSB (See table below)
DB7
In-Tank Product Motion (Note: Active LOW)
DB8
No Monthly Leak Test Warning
N/A
DB9
Product Below Gaugeable Level
DB10 Theft Alarm
DB11 Water Setpoint Alarm (HIGH)
DB12 Product Setpoint Alarm #3*/(LOW)**
DB13 Product Setpoint Alarm #2*/(HIGH)**
DB14 Product Setpoint Alarm #1*/(HIGH HIGH)**
DB15 In-Tank Leak Alarm (MSB)
N/A
DB16 N/A
WiS Error
DB17 N/A
WiDAM Timeout Error
DB18 N/A
WiDAM Low Battery Warning
DB19 N/A
Probe Temperature Error
DB20-
31
Spare (All zeros)
All statuses Active HIGH unless otherwise noted
*Product Setpoint Alarms are programmable for both magnitude and direction.
Factory defaults are as follows, but actual TMS settings should be confirmed;
Product Setpoint #1
95% High High
Product Setpoint #2
90% High
Product Setpoint #3
20% Low
Ullage %
Ullage Mode MSB
Ullage Mode LSB
85
1
1
90
0
0
95
0
1
100
1
0
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 11 of 14
November 2, 2017
Table #2
Bit
Pos.
Status
Wired Systems
Wireless Systems
DB0
Delivery in Progress (LSB)
DB1
Probe Sync Error
Probe Level Error
DB2
Probe Timeout Error
DB3
In-Tank Leak Test in Progress
N/A
DB4
Pump/Generator Run
DB5
Ullage Mode LSB (See table below)
DB6
Ullage Mode MSB (See table below)
DB7
In-Tank Product Motion (Note: Active LOW)
DB8
No Monthly Leak Test Warning
N/A
DB9
Product Below Gaugeable Level
DB10 Theft Alarm
DB11 Water Setpoint Alarm (HIGH)
DB12 Product Setpoint Alarm #3*/(LOW)**
DB13 Product Setpoint Alarm #2*/(HIGH)**
DB14 Product Setpoint Alarm #1*/(HIGH HIGH)**
DB15 In-Tank Leak Alarm
N/A
DB16 N/A
WiS Error
DB17 N/A
WiDAM Timeout Error
DB18 N/A
WiDAM Low Battery Warning
DB19 N/A
Probe Temperature Error
DB20 spare
DB21 Product Setpoint Alarm CRIT LOW
DB22 Product Setpoint Alarm LOW LOW
DB23 Product Setpoint Alarm CRIT HIGH
DB24 Temperature Setpoint Alarm LOW LOW
DB25 Temperature Setpoint Alarm LOW
DB26 Temperature Setpoint Alarm HIGH
DB27 Temperature Setpoint Alarm HIGH HIGH
DB28 spare
DB29 spare
DB30 spare
DB31 spare (MSB)
All statuses Active HIGH unless otherwise noted
TMS Six-Product Setpoint Firmware
**Product Setpoint Alarms SP1, SP2 and SP3 are assigned as indicated, regardless of
TMS programming. These three setpoints in combination with the three product
setpoints assigned to DB21-23 provide a total of six product setpoints.
Ullage %
Ullage Mode MSB
Ullage Mode LSB
85
1
1
90
0
0
95
0
1
100
1
0
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 12 of 14
November 2, 2017
2.1.3 Sensor Data Register - Sensor Number Detail
Register DB15-12
DB11-8
DB7-4
DB3-0
40194
4
3
2
Sensor #1
40195
8
7
6
5
40196
12
11
10
9
40197
16
15
14
13
40198
20
19
18
17
40199
24
23
22
21
40200
28
27
26
25
40201
32
31
30
29
40202
36
35
34
33
40203
Sensor #40
39
38
37
2.1.3.1 Sensor Data Register - Status Detail
Status
MSB
3SB
2SB
LSB
Normal
0
0
0
0
Alarm
0
0
0
1
Fault, Short Circuit 0
0
1
0
Fault Open Circuit 0
0
1
1
Product Alarm*
0
1
0
0
Water Alarm*
0
1
0
1
Normal (Dry)*
0
1
1
0
Sensor Fault*
0
1
1
1
Sensor Active
1
0
0
0
Not Enabled
1
1
1
1
*Applies to discriminating liquid hydrocarbon/water
leak sensors only
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 13 of 14
November 2, 2017
2.1.4 Contact Closure Data Register - CC Number Detail
Register
DB15-12 DB11-8
DB7-4
DB3-0
40204
4
3
2
1
40205
8
7
6
5
40206
12
11
10
9
40207
16
15
14
13
2.1.4.1 Contact Closure Data Register - Status Detail
Status
MSB 3SB 2SB LSB
Not Active
0
0
0
0
Active, Relay Control 0
0
0
1
Active, Gate Control 0
0
1
0
Active Alarm
0
0
1
1
Active Acknowledge 0
1
0
0
Not Enabled
1
1
1
1
MODBUS RTU Instruction Manual - 2017-11-02.docx
Page 14 of 14
November 2, 2017
3.0 Product Specifications
Communications Protocol: Modbus RTU
Communications Format: RS-485, Half-Duplex
Connection Type: Plug-In Terminal Block with Wire Entries
Input: Ch. A (+), Ch. B (-), Shield
Output: Ch. A (+), Ch. B (-), Shield
Recommended RS-485 Cable: Belden 9841 (PVC Jacket), 89841 (FEP Teflon Jacket) or similar
Maximum Cable Length: 4000 Feet/1200 Meters total to end of run
LED Indicators: TX (Slave Transmit), RX (Global Receive)
Serial Data Format: Fixed, 1 Start Bit, N-8-1
Baud Rate: 9600, 19200, or 38400, Dip Switch Selectable
Slave Address Select: 1 thru 64, Dip Switch Selectable
Maximum Slave Response Time: 400ms
Maximum Number of 16-Bit Registers per READ Command: 64
Maximum Register Update Rate from TMS: 1.2 seconds (0.8 seconds typ.)