The CAS 2700-02 Veeder-Root Gateway can poll Veeder-Root TLS Panels for status, real-time, and configuration data. The Gateway can be used to read Tank Inventory, System Status, Tank Alarms, Sensor Alarms and more. The Veeder Gateway serves data from a TLS panel as Modbus, BACnet or Web data. The gateway supports all these options simultaneously. Use the data you want and ignore the other.
The Gateway connects to the TLS Panel, reads data and stores it internally. When a remote system requests data, this data is served in a form that is appropriate to the protocol. In the event that the connection to the TLS Panel is lost, or data cannot be read, the gateway can signal this to the remote data client.
The gateway requires minimal configuration and can be considered a plug and play component of a system, in that it is ready to operate out of the box with the default configuration. The Veeder-Root drivers support using a RS232 serial port or TCP/IP Ethernet to connect between the Gateway and the TLS Panel. The Panel therefore must have a suitable RS232 card or Ethernet card installed.
Supported Veeder-Root TLS350 Commands
The following is a list of the Veeder-Root TLS350 Protocol Commands that the CAS 2700-02 Gateway supports:
- 101 - System Status Report
- 201 - In-Tank Inventory Report
- 202 - In-Tank Delivery Report
- 301 - Liquid Sensor Status Report
- 406 - Relay Status Report
- B38 - Vacuum Sensor Diagnostic Report
Note: The CAS 2700-02 Veeder-Root Gateway does not support any functions that can configure or change settings on the Veeder-Root panels. As such, all data points that the Gateway makes available via Modbus, BACnet, and Web requests are read-only.
Supported Modbus TCP/RTU Commands
The CAS 2700-02B Veeder-Root Gateway supports the following Modbus TCP/RTU commands:
- 01 (0x01) Read Coils
- 02 (0x02) Read Discrete Inputs
- 03 (0x03) Read Holding Registers
- 04 (0x04) Read Input Registers
- 05 (0x05) Write Single Coil
- 06 (0x06) Write Single Register
- 15 (0x0F) Write Multiple Coils
- 16 (0x10) Write Multiple Registers
Supported BACnet IP Commands
The CAS 2700-02 Veeder-Root Gateway executes, or responds to, the following BACnet IP commands:
- Who-Is
- Who-Has
- ReadProperty
- ReadPropertyMultiple
- WriteProperty
- WriteProperptyMultiple
- SubscribeCOV
- TimeSynchronization
Supported Veeder-Root products
The CAS Veeder-Root Gateway supports the following Veeder-Root Products:
- TLS-450 PLUS Automatic Tank Gauge
- TLS4i / TLS4c Automatic Tank Gauge
- TLS-350 Automatic Tank Gauge
- TLS-350 Plus Automatic Tank Gauge
- TLS-350R Automatic Tank Gauge
- TLS-300C/I Automatic Tank Gauges
- TLS-2/P Automatic Tank Gauge
CAS Hardware 700
The CAS 700 Hardware device contains 2x 9-pin serial ports (1x RS485 and 1xRS232), and one Ethernet port. The device also contains a microSD card where system files, assets, configurations, and logs are stored.
The device has the following system drivers that can be enabled:
- HTTP REST Server - a passive web server with an API that users can interact with the device to get or set values
- HTTP Push Driver - a driver that can be configured to push data in a specific format (JSON, XML, CSV) to a 3rd party web server. Current data formats are Chipkin's default JSON payload and VeederRoot Tank data as JSON. Please contact Chipkin for information on adding additional formats.
Modbus RTU
The Modbus RTU driver allows our FieldServer gateways to transfer data to and from devices over either RS-232 or RS-485 using Modbus RTU protocol. The Gateways are capable of being used as port expanders and can emulate either a Server or Client. The FieldServer is capable of supporting devices that use two Modbus Registers to transfer IEEE floating point format.
The information that follows describes how to expand upon the factory defaults provided in theconfiguration files included with the FieldServer.
There are various register mapping models being followed by various vendors.
- To cover all these models FieldServer uses the following three Models
- Modicon_5digit – Use this format where addresses are defined in 0xxxx, 1xxxx, 3xxxx or 4xxxxformat. A maximum of 9999 registers can be mapped of each type. This is FieldServer driver’sdefault format.
- ADU –Application Data Unit address. Use this format where addresses of each type are definedin the range 1-65536
- PDU –Protocol Data unit address. Use this format where addresses of each type are defined inthe range 0-65535.
The key difference between ADU and PDU is for example if Address_Type is ADU and address is 1, thedriver will poll for register 0. If Address_Type is PDU, the driver will poll for address 1.
Modbus TCP
The Modbus TCP Driver allows the FieldServer to transfer data to and from devices over Ethernet using Modbus TCP Protocol. The Modbus TCP driver uses port 502. This port is not configurable. The driver was developed for Modbus Application Protocol Specification V1.1a" from Modbus-IDA. The specification can be found at www.modbus.org. The FieldServer can emulate both a Client and a Server simultaneously on the same ethernet port.
There are various register mapping models being followed by various vendors. To cover all these models FieldServer uses the following three Models
- Modicon_5digit – Use this format where addresses are defined in 0xxxx, 1xxxx, 3xxxx or 4xxxx format. A maximum of 9999 registers can be mapped of each type. This is FieldServer driver’s default format.
- ADU –Application Data Unit address. Use this format where addresses of each type are defined in the range 1-65536
- PDU –Protocol Data unit address. Use this format where addresses of each type are defined in the range 0-65535.
The key difference between ADU and PDU is for example if Address_Type is ADU and address is 1, the driver will poll for register 0. If Address_Type is PDU, the driver will poll for address 1.
Note 1: If vendor document shows addresses in extended Modicon (i.e. 6 digit) format like 4xxxxx then consider these addresses as xxxxx (omit the first digit) and use either ADU or PDU
Note 2: The purpose of providing 3 different ways of addressing the Modbus registers is to allow the user to choose the addressing system most compatible with the address list being used. At the protocol level, the same protocol specification is used for all three with the exception of the limited address range for Modicon_5digit.
Veeder-Root Driver
The CAS Veeder-Root driver allows the CAS Gateway to read data from a Veeder-Root Panel using the TLS350 protocol over RS232. The CAS Gateway can connect to Veeder-Root TLS 300/350/450/4 series panels to read and store Tank and Sensor data. This driver only supports read-only functions and cannot command or configure the Veeder-Root panel. The Veeder-Root panel must have a valid RS232 comm card installed.
The CAS Veeder-Root driver supports the following TLS350 functions:
- 101 - System Status Report
- 201 - Tank Inventory Report
- 202 - Tank Delivery Report
- 406 - Relay Status Report
- B38 - Vacuum Sensor Diagnostic Report
Specifications
The following specifications are common to all Chipkin gateways.
- Certifications: UL and ULc approved
- Ports:
- 10/100BASE-T with RJ-45 connector
- 1x RS232 port
- 1x RS485 port (different models have additional ports)
- Power: 7 - 24 VDC through an external power supply. (12V @ 90mA)
- Operating temperature: 0 - 70 °C (32 - 158 °F)
- LEDs: link, speed/data, power
Dimensions
- Dimensions (LxWxH): 107 x 83 x 25 mm (4.2 x 3.25 x 1 in.)
- Connection type: RS485 (jumper change to RS232)
Top
Bottom
Resources
A quick start guide with instructions for some of the basic operations of the CAS Gateway product line. Includes instructions for the following:
- Detecting the CAS Gateway via the computer and settings its IP Address
- Downloading the Firmware to the CAS Gateway
- Downloading the Assets to the CAS Gateway
- Downloading the Configuration to the CAS Gateway
The default configuration for a CAS 2700-02B Veeder-Root Gateway.
Additional Information
CAS Veeder Root Serial Connectors
CAS Veeder Root Quick Assembly Cable
Modbus - Protocol Specifications
Protocol Specifications
Modbus - Reading Vendor Modbus Maps
Reading Vendor Modbus Maps
If you are reading the documentation for sensor blocks, valves, and other devices, you must keep in mind that some vendors may document their hardware in different ways.
According to the Modbus standard, addresses are simply integers from 0 to 65,535 with the different address ranges being referred to as coils, holding registers, etc. However, some vendors will document their hardware using numerical prefixes which are not actually part of the Modbus address. This originated from some models of PLCs which used the Modbus communications protocol, and which also used numerical prefixes in their internal data table. This is similar to using “I”, “Q”, “V”, etc. as address prefixes in IEC type PLCs.
However, it is important to remember that these numerical prefixes are documentation methods and are not part of what the Modbus protocol itself sends as part of the messages. A difference in documentation methods does not affect the compatibility of the protocol itself.
These prefixes are they mentioned anywhere in the Modbus standard, but the following shows how they are typically used in documentation based on this older convention:
- 0xxxx – Coils.
- 1xxxx – Discrete inputs.
- 3xxxx – Input registers.
- 4xxxx – Holding registers.
Note that there is no 2xxxx address prefix.
In addition to numerical prefixes, some documentation will refer to protocol addresses (addresses start at 0), while other documentation will refer to data model addresses (addresses start at 1). That is, the first holding register may be 0 or 1 (or 40000 versus 40001 using prefixes). However, this has no bearing on what gets sent over the wire as a Modbus message. For a Modbus protocol message, the lowest address is always “0”, not “1”.
Modbus - MK10 and 32 Bits Numbers
Scaling in Modbus
Modbus does not provide a method for transporting large or Floating Point numbers or a mechanism for scaling analog values. A 16 bit word can only contain values in the range 0-65535. Only whole numbers are permitted. To work around this many server device manufacturers use multipliers and document them in their manuals. For example, to report a temperature of 58.5 the device reports a value of 585, and makes a note in the manual that the master should scale by 10. This scaling is achieved by adopting a convention between the client and the server.
What about large numbers > 65535
Modbus does not provide a mechanism but 3 important schemes are widely used.
Long Integers – Two consecutive 16 bit words are interpreted as a 32 bit long integer.
MK10 values – Two consecutive words are used. The 1st reports the number of units and the 2nd reports the number of 10,000’s.
Floating Point Numbers – Two consecutive words are used and a scheme. These schemes are conventions and not all servers or clients support them.
The protocol does not identify these big numbers. Only the vendor docs do.
What we mean by this is – if you look at the byte stream in a Modbus message there is no way of telling whether you are looking at two consecutive 16 bit words, or two consecutive words that should be interpreted as floating point, long or MK10 formats. Because of this you always have to look to the vendor docs.
Modbus for Field Technician - Free Booklet
ModbusRTU - ModbusTCP - Port Expansion
Port Expansion
FieldServer can easily be configured to allows a Modbus RTU client to talk to a ModbusTCP server and vice versa. You do not need to tell the FIeldServer which registers to map from one to the other. You simply configure the FieldServer telling it which port and protocol to use for each node.
In port expansion mode configuration can be moinimal. Tell the gateway which nodes are on which port and set the port settings.
ModbusRTU - Scaling and Bit Packing
Scaling / Bit Packing
FieldServers can scale data and manipulate values using some binary logic and arithmetic functions. Scaling can be applied to each block of Modbus Data read / served.
- Move to change type : Convert from any FIeldServer Data Type to any other.
- Move to pack/unpack bits and bytes: It’s possible to address each bit in a 8,16 or 32 bit data element by using the packed data types.
- Move to change byte/word order: Handle the endianess of the remote system easily.
- Convert to/from Float, MK10, IEE754, 32 bit, 16 bit, 8 bit numbers
- Move conditionally:
- Perform Arithmetic Operation: + – * div sqrt, sqr ,
- Perform Binary Logic Operation: And, Or, Not, >, >= , <, <=
Most functions can be configured to occur on a configurable period or on update of the data source.
ModbusRTU - Supported Data Types
Supported Data Types
Bit
Byte
16 Bit Integer Signed
16 Bit Integer Unsigned
32 Bit Integer Signed
32 Bit Integer Unsugned
32 Bit Packed Bit
8 Bit Packed Bit
4 byte FLoating Point Numbers
ModbusRTU - Supported Functions
Supported Modbus Functions
01 Read Discrete Output Status (0xxxx)
02 Read Discrete Input Status (1xxxx)
03 Read Output Registers (4xxxx)
04 Read Input Registers (3xxxx)
05 Force Single Coil (0xxxx)
06 Preset Single Register (4xxxx)
15 Force Multiple Coils (0xxxx)
16 Preset Multiple Registers (4xxxx)
Modbus - Flavors of Modbus
Flavors of Modbus
RTU:
Common
Binary Protocol.
Active Master-passive Slave
Serial
Supported by FieldServers, QuickServers, CAS gateways
ASCII:
Similar to ModbusRTU but for each byte in an RTU message, there are 2 bytes in an ASCII message. The 2 bytes are the humand readable form of the single hex byte.
Eg RTU byte = 0x03 (Hex). ASCII bytes = ‘0’ and ‘3’ ie 0x30 and 0x33
Active Master-passive Slave
Serial
Supported by FieldServers, QuickServers
Jbus:
Modbus had the limitation of a max of 9999 items of each type. Ie only 9999 holding registers. However the protocol message allows 65k items to be addressed. JBUS allows all 65k items to be read/written. Other than that it is identical to RTU
Active Master-passive Slave
Serial
Supported by FieldServers, QuickServers, CAS gateways
TCP/IP:
Uses TCP/IP connection based Ethernet communications
Encapsulates RTU messages and adds a header.
A single slave can respond to multiple masters
Many slaves ignore the NodeID field in the message.
Supported by FieldServers, QuickServers, CAS gateways
MB Plus:
Proprietary coax networking layer
2 Mbits/sec
Supported by FieldServers, CAS gateways