Outline of my proposal for Eclipse Open IoT Challenge – monitoring MODBUS

Logging and monitoring industrial automation equipment with remote management capabilities.

It’s a time to write quick overview about my application for Eclipse Open IoT Challenge.

As I’m working with industrial automation equipment recently I started to dig into it a bit more.

Industrial automation devices like PLCs, Inverters, Power meters, Flow meters, etc used as a field devices operate as a standalone equipment with ability to interchange information between each other on demand or on a periodic basis. Field devices need to be monitored and maintained, which is usually handled manually by technician. Existing installations with legacy protocols (e.g. DeviceNet, ControlNet) usually are hard or expensive to integrate with other systems. IoT technologies currently available may constitute a significant solution when facing such problems.
Use cases like monitoring process value, operation of equipment or even power consumption in summer house can be realized with open source IoT software accompanied with hardware on common HW platform like Raspberry Pi or Beaglebone.

Wide range of field devices support MODBUS communication interface that allows to configure or access log data stored in the device.

The purpose of my project is to design an universal network integration module which would allow to utilize IoT protocols to interface with MODBUS compatible devices.

Main goals to be achieved are:

  • monitor MODBUS registers or discrete inputs – defined by address
  • send updates to remote server – MQTT
  • be remotely managed – OMA LightweightM2M

Additionally, ability to present monitored values and alarms on local display (HMI) will broaden possible applications.

The plan is to realize application based on Eclipse Kura framework that will pool defined MODBUS registers/discrete inputs and based on defined rules take actions (store in internal memory, show as value/graph on local LCD or send using MQTT protocol). Thanks to OSGi, it will be easier to achieve modularity and extensibility of the application yet at the design stage.

User will be able to freely define MODBUS registers, poling interval, monitoring rules and actions remotely over OMA Lightweight M2M. Additionally, it will be possible to control local display remotely.

Logging and monitoring industrial automation equipment - overview diagram

Logging and monitoring industrial automation equipment – overview diagram

My project will be realized using Raspberry Pi connected with monitored device using UART port with RS-485 converter. Connection to the remote server will be realized using Ethernet port or through USB WiFi. Using of mobile modem is not planned right now.

I’d like to use Leshan project as device management server and it’s client libraries inside my allocation running on Kura.

For testing my application I’m going to create simple device that will act as MODBUS slave. I was going to use 4DIAC project for this. Unfortunately, there is no MODBUS slave in 4DIAC right now. That’s why for the beginning, I’m going to implement one using libmodbus library. Additionally, I’m going to test my solution with real industrial automation device.

In the next post I will describe detailed HW setup.

Stay tuned for further info….


2 thoughts on “Outline of my proposal for Eclipse Open IoT Challenge – monitoring MODBUS

    1. The project is progressing well. Recently I’m a little bit short on time, so the documentation is heavily delayed. Nevertheless, some blog posts are on the way. (hardware setup, serial communication using RS485 and using modbus in Kura). Right now I’m dealing with LWM2M/Leshan client code.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s