Modbus Option Overview
Modbus interface options for the IntelliLogger™
IntelliLogger™ shown with Modbus RTU connected Flow, Power and Wireless Sensor Modbus devices along with directly connected analog Temperature, Pressure and Wind transducers.
Modbus Option Benefits | |
---|---|
Query connected RTU Slave/Server device registers | |
Supports long distance wiring runs to Slave transducers | |
Acquire register values from multiple connected Slave/Server devices | |
Utilize Slave/Server registers in Program Nets similar to hardwired inputs | |
Share logger register values with Master/Client devices | |
Read and Write to Slave/Server device registers | |
Flexible and Simple configuration of Slave/Server register parameters |
Product Information
Overview
IntelliLogger™ Modbus Capability
The IntelliLogger now supports the full suite of Modbus protocols for data acquisition.. Modbus RTU Master and Slave as well as Modbus TCP Client and Server. With this Modbus capability, the IntelliLogger can be configured to sample inputs from Modbus enabled devices such as intelligent sensors, power meters, gas analyzers, flow computers, gen-set controllers, etc. Via this industry standard communication link, the connected device memory registers can be read by the IntelliLogger and processed within the IntelliLogger Program Net in the same ways that hardwired signals (eg 4-20mA, Vdc, etc) are handled. The key difference is that the Modbus interface is via a digital serial link between the IntelliLogger and one or more Slave/Server devices rather than the mentioned analog signals.
Alternatively, the IntelliLogger can be configured as a Modbus RTU Slave (or Modbus TCP Server) and share its own internal Modbus registers for interrogation or update from other networked Modbus Master (Client) devices.
For those new to the capabilities of Modbus, a Modbus educational overview is presented in the Modbus Protocol Background tab below.
Modbus Interface with the IntelliLogger™
The IntelliLogger can be integrated into a Modbus network providing a whole new set of data collection and reporting capabilities. With the new Modbus interface options, the IntelliLogger can be quickly programmed to perform functions such as:
- Query connected Modbus ‘smart’ transducers for Register values and utilize them in the IntelliLogger Program Net simultaneously with other hardwired inputs.
- Expose internal registers to other Modbus devices for use in their algorithms. Shared IntelliLogger Registers can be input, output and/or calculated values.
- Remotely control IntelliLogger outputs via Modbus communications from a Modbus Master
- Serve Web pages with embedded data collected from Modbus Slave devices
- Adjust IntelliLogger operation via Modbus communications during IntelliLogger program execution
- Send status and/or alarm emails (or SMS) with embedded readings and/or attached data collected from Modbus Slave devices
- Acknowledge IntelliLogger programmed alarms
- Change IntelliLogger alarm thresholds during IntelliLogger program execution
- FTP readings collected from Modbus Slave/Server devices as well as hardwired inputs
The IntelliLogger can now be ordered with the following Modbus communication options:
Additionally, the IntelliLogger can be ordered with the following combinations of Modbus in a single instrument:
-
Modbus RTU Slave AND Modbus TCP Server and/or TCP Client
-
Modbus RTU Master AND Modbus TCP Server and/or TCP Client
Modbus Overview
Modbus is a serial communication protocol developed by Modicon originally for communication in their line of programmable Logic Controllers. The protocol was published and released for royalty free industry use as a standard communication path between two or more instruments, transducers and controllers and over the years has become a de facto industry standard. Modbus is now the most commonly used protocol for communications between a large offering of industrial instrumentation ranging from ‘smart’ transducers to data acquisition systems to control systems… hence the initiative to incorporate Modbus option into the Logic Beach IntelliLogger™data logging, reporting and alarming instrument family.
Modbus communication is quite simple in basic concept, a feature which led to its early and widespread adoptance by industry.
Modbus Master and Slave Concept
Modbus communication can be implemented as a communications scheme between two or more devices making up a network. In a Modbus network, communications will be between a Master and a Slave device (different terms are used for Modbus TCP but that will be explained later). Using special commands, the Master device interrogates the Slave device over the network periodically for information.
An example of a simple Modbus network is an IntelliLogger (being the Master) and a Modbus enabled pressure transducer being the Slave device. In normal operation, the IntelliLogger will interrogate the transducer periodically for its current pressure reading. The IntelliLogger will then use this pressure information as necessary… for example, logging it to local memory, turning on an alarm output, embedding into a Web page, etc.
Additionally, in many applications, the Master device can write to the Slave device, changing its internal settings and operation. For example, the pressure transducer above may have a local alarm output feature. The IntelliLogger could then read the pressure from the pressure transducer and if an alarm condition is detected, the transducer alarm could be turned on by the IntelliLogger by writing an alarm control value to the transducer.
Modbus Registers Concept
Modbus devices contain internal memory locations referred to as ‘registers’. The values stored in these Registers may be updated by the device itself in normal operation. In the pressure transducer example, the pressure transducer is periodically sampling the media pressure. The last sensed pressure value is stored in the ‘Last Pressure’ register. The IntelliLogger can then read this ‘Last Pressure’ register over the Modbus network and retrieve the last pressure read by the pressure transducer.
The alarm output feature in the pressure transducer mentioned above would also have a register associated with it. The IntelliLogger could control the alarm output in the pressure transducer by writing to the Alarm Output register with a On or Off command (e.g. a 1 or a 0).
In reality, Modbus devices normally have registers that are Read Only and Read/Write capable. In the pressure transducer mentioned above, there might be 10 or more Modbus registers containing calibration constants, temperature compensation values, sampling rate settings, last temperature, last pressure, averaged pressures, etc. More complex Modbus devices may have hundreds of registers.
Modbus Device Address Concept
As multiple devices can be connected in a Modbus network, each device is assigned a unique Modbus address. In this way, communications between devices can be directed to specific devices and other devices on the network can ignore the messages. Special ‘broadcast’ type commands do exist whereby a message is broadcast to all devices on the network for action.
Modbus Communication Serial Links
Most Modbus device networks are implemented with communication via a 2 or 4-wire RS-485 serial link. Some devices have Modbus implemented on an RS-232 link however RS-232 does not readily allow for more than two devices to be interconnected.
More recently, Modbus has been implemented over Ethernet allowing for multiple devices in a network using ubiquitous Ethernet network components (routers, switches, cellular, etc) that make up LAN’s and even over the Internet. Modbus over Ethernet is referred to as Modbus TCP/IP.
Modbus RTU and Modbus ASCII
Excluding Modbus TCP/IP, two variants of Modbus exist that are used in non-TCP/IP networks, Modbus RTU and Modbus ASCII. The difference between these protocols is the format used in the commands. Modbus RTU uses binary characters and Modbus ASCII uses ASCII characters. Modbus RTU is most common and is supported by the IntelliLogger in both the Modbus RTU Master and Modbus RTU Slave options.
Modbus TCP/IP
Modbus TCP/IP (commonly referred to as Modbus TCP) uses the same Modbus commands however the commands are encapsulated within TCP/IP packets to allow them to move on LAN’s and over the Internet.
Rather than Master and Slave terminology, communicating devices on a Modbus TCP/IP network are referred to as Server and Client. In the above example… the IntelliLogger would be the Client device and the pressure transducer would be the Server (it ‘serves’ its pressure values to the Client). The IntelliLogger Modbus TCP Server option allows other network Client devices to garner register values from the IntelliLogger. Configured as a Modbus TCP Client, the IntelliLogger can garner readings from connected Modbus TCP Server devices.
With Modbus TCP capability, data acquitision is possible locally as well as between devices that are distant from each other… for example on a LAN within different areas of a plant. Via the Internet, this data collection can be extended to communication between devices that are in plants located in different parts of the World!
Documentation
- Modbus Organization – http://modbus.org/
- Modbus Educational – https://en.wikipedia.org/wiki/Modbus
Frequently Asked Questions
- What are the advantages of using Modbus to connect an IntelliLogger to Transducers?
- Modbus uses a digital data stream vs an analog (eg mAdc or Vdc) so it is much more immune to noise and signal degradation
- Modbus is rated for up to 4000 feet (RS-485) allowing for long distances between the Transducer and IntelliLogger
- Modbus allows for multiple Slave devices (transducers, controllers, etc) to be “daisy-chain” connected on a single RS-485 wire pair… minimizing wiring runs.
- Modbus allows for the collection of multiple parameters from a single Modbus Slave device. For example, a Modbus flow meter may be able to provide flow volume, flow rate and flowing media temperature… all on the single pair of leads.
- How are Modbus Register values used in a HyperWare Program Net?
- The same as a hardwired input. Once a Modbus Register input icon is configured the reading of a connected Slave device Register becomes transparent to the user. The Modbus Register input icon is utilized the same way that a hardware (mAdc, Vdc, etc) signal input icon is used. A Modbus Slave Register Input Icon is shown in the Program Net within the HyperWare Programming window. As with other icons, the output from this Modbus Register icon is connected to other downstream processing icons such as Math, Averaging, etc. in a normal Program Net.
- What is the difference between Modbus RTU and Modbus TCP?
- Simply put, the main difference is the Physical Layer means of transmission. Modbus RTU uses a two or 4-wire serial communication link (typically RS-485 or RS-232) whereas Modbus TCP uses Ethernet cable and TCP for transmission.
- What Modbus protocols options are available for the IntelliLogger?
- Modbus RTU Master, Modbus RTU Slave, Modbus TCP Server and Modbus TCP Client.
- Can multiple Modbus options function simultaneously in a single IntelliLogger?
- Yes, IntelliLoggers can be provided with the following Modbus combinations:
Modbus RTU Master AND Modbus TCP Server and/or Modbus TCP Client
Modbus RTU Slave AND Modbus TCP Server and/or Modbus TCP Client
- What Modbus protocols options are available for the IntelliLogger IL-Mini?
- As the IL-Mini does not have Ethernet capability, only Modbus RTU Master and Modbus RTU Slave are available.