Monitoring Modbus in industrial environments
Originally published on October 28, 2021 by Shaun Behrens
Last updated on April 01, 2022 • 8 minute read
Modbus. It’s a fieldbus protocol that’s been around longer than many of the engineers and technicians who use it. And yet it isn’t going away. Even in 2021, the two common variants of Modbus – Modbus TCP and Modbus RTU – make up 10% of the industrial network market. This is one of the reasons why we included Modbus functionality in our Paessler PRTG monitoring software. We previously wrote about how you can use Modbus TCP as part of your industrial monitoring with PRTG; since then, we also added Modbus RTU capability to PRTG. But what advantages does monitoring with Modbus bring? We’ll get to that. But first, let’s take a look at examples of how you’d use Modbus in your monitoring concept.
Monitoring Modbus TCP devices
With the rise of the industrial ethernet in manufacturing environments over the past decades, many OT devices are connected using the TCP/IP protocols. This includes PLCs and industrial gateways, which often provide access to important metrics through their Modbus TCP connection. This gives engineers and technicians who want to understand more about their OT networks another option for gathering monitoring data.
What kind of data can be retrieved? That depends entirely on the manufacturer, and is usually well documented in the device manuals. Examples include the availability and status of PLCs, error codes in the case of device failure, device data such as temperature, and data about power consumption. As an example of what might be available from a device, you can look at the documentation for a Symmetra Single Phase UPS unit by Schneider Electric.
Monitoring Modbus TCP/IP devices with PRTG
The Modbus TCP/IP sensor in PRTG lets you retrieve a maximum of 5 values from a Modbus TCP device. To set it up in PRTG, you need to first configure the sensor to access the Modbus TCP device using the correct port number.
Then, using the documentation of the manufacturer, you define what metrics the sensor should return in PRTG. In our example, we are monitoring a PLC, and want to monitor the following metrics:
- The CPU temperature
- The CPU load as a percentage
- An alert indicator that shows if there is a problem with the PLC device, and
- The fan RPM
Here’s a tutorial of how this is set up in PRTG:
As you can see from the video, you can also set thresholds for each metric so that you get alerted and notified when values fall outside of their normal range. This gives you an excellent overview of not only the current health and status of the PLC, but also how it has performed over time.
Here's a look at another example of usage of the sensor:
Monitoring Modbus RTU devices with PRTG
Of course, Modbus also extends to devices that are connected serially. For PRTG to monitor Modbus RTU, there needs to be a COM port on whatever server you are running your PRTG probe on. This could be a Modbus USB stick that is paired with a Modbus RTU device, or a hardware gateway that is connected to the Modbus RTU device.
The Modbus RTU sensor in PRTG is used for these devices. Setting up the device in PRTG is similar to the steps for the Modbus TCP sensor, but instead of the port, you need to define the details of the serial connection, which includes:
- A COM port
- Baud rate
- Data bits
- Stop bits
Then, using the manufacturer’s documentation, you can set up a maximum of five channels to retrieve the data you need to monitor.
In a future blog post, I will show you how to do this in more detail, along with some specific examples.
Bringing Modbus data into the big picture
Modbus is only one piece of the puzzle in an industrial environment. With PRTG, you can bring in the monitoring data from your Modbus devices and combine it with metrics from industrial ethernet devices, industrial gateways, OPC UA devices, IT devices, and more. You can learn more about monitoring IT and OT with PRTG here.
Do you monitor Modbus in your environment? Would love to hear about your lessons and thoughts in the comments section below!