CAS-2900-02 1-Wire to Modbus and IoT Bridge

The 1-Wire to Modbus TCP/RTU and IoT Bridge monitors a series of 1-Wire temperature sensors and makes the data available to Modbus devices.
The Modbus TCP Driver allow the FieldServer to transfer data to and from devices over Ethernet using Modbus TCP Protocol.
CAS 2900-02
31-19-48-29_CAS-Bridge Sharp WT BG.png - /2017/jul/31-19-48-29_CAS-Bridge Sharp WT BG.png

Chipkin’s 1-Wire to Modbus TCP/RTU and IoT Bridge monitors a series of 1-Wire temperature sensors and makes the data available to Modbus devices, as well as logging long term trending data into the cloud. The CAS-Bridge operates by monitoring the 1-Wire temperature sensors and storing the values in an internal database. Then serving the temperature data as Modbus TCP/RTU values. When a value changes or a timeout occurs, the values are sent to an online dashboard for long term trending and logging.

The CAS Bridge can be connected to your network with a ethernet connection or by connecting to a WiFi access point.

The gateway requires minimal configuration and can be considered a ‘plug and play’ component of any network system. It’s ready to operate ‘out of the box’ and can be installed without an engineer’s approval.

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 The FieldServer can emulate both a Client and a Server simultaneously on the same ethernet port.

The information that follows describes how to expand upon the factory defaults provided in the configuration 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 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.

Block Diagrams

imports/blockDiagrams/LP Modbus.jpg

Additional Information

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 - 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 - Protocol Specifications
Modbus - Flavors of Modbus

Flavors of Modbus


Binary Protocol.
Active Master-passive Slave
Supported by FieldServers, QuickServers, CAS gateways



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
Supported by FieldServers, QuickServers



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
Supported by FieldServers, QuickServers, CAS gateways



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


Table 2 Modbus Registers
Modbus - TCP
Modbus - Minimum Function Implementation
Modbus - Convert between Modbus Flavors
Modbus - Digitrip 3000
How Real (Floating Point) and 32-bit Data is Encoded in Modbus RTU Messages
Modbus - C#
Modbus - Modhopper
Modbus - 32 bit numbers
ModbusTCP - Modbus Transaction Identifier
Modbus - There are (were) a Max of 9999 points of each data type
ModbusTCP - What type of protocol is Modbus TCP
ModbusTCP - What do you have that can help me convert my Modbus TCP data
ModbusTCP - What is the minimum subset of functions that a Modbus slave device should implement
ModbusTCP - We want to check the communication between our device and personal computer, so we need the 232 communication software
ModbusTCP - If I am converting from Modbus to Modbus, how difficult is it to Convert Serial (RTU) to TCP/IP and TCP/IP to Serial (RTU)
ModbusTCP - Can you give me an example of a Modbus/TCP to BACnet/IP configuration
ModbusTCP - How can I use Modbus Scanner to Write Registers of Digitrip 3000 (Protective Relays) Controls
Modbus - What is Modbus? (extended article)
Modbus - What is the Modbus Transaction Identifier
Modbus - Can you give me a list of Useful tools and applications for Modbus
Using PuTTY for serial COM connections (HyperTerminal replacement)
Modbus: Testing Modbus communication
Low Power Wireless Modbus
Modbus FAQ
FS-8704-03 – Modbus TCP
Modbus: Minimum Function Implementation
Modbus Protocol Specification
Modbus Specifications and Implementation Guides
MODBUS Exception Responses


imports/logos/Logo Modbus.jpg

Gateway Selector

Select your combination of protocols.
Protocol 1
Protocol 2

Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
Preferred Time To Be Contacted (PST)
8:00am - 12:00pm 12:00pm - 5:00pm