Raspberry Pi Modbus Simulator of Tracerco Nucleonic Profilers
Introduction
During one of my project, I needed to check how was working the communication between PLC and Nucleonic Profiler Modbus Slave. Unfortunately, I didn't have any access to this device. I thought it would be good to make some Modbus simulator and Raspberry Pi was perfectly suitable for this purpose. It gave me chance to check in practice the pymodbus library that I described in my previous article (check this).
At the beginning, I want you introduce what exactly is Nucleonic Profiler. In a nutshell, this device measures the density of different points in a tank/vessel and shows it by bargraphs. It's commonly used on the oil platforms, especially profilers made by Tracerco are very popular. For more details, watch this movie:
Modbus Simulator - tkinter & pymodbus
The best platform to make such simulators is Raspberry Pi. There are plenty of useful libraries in Python that you can use in your project. Moreover, it's cheap, small and easy in configuration. I had Raspberry Pi B, so I decided to buy TFT screen to show the results (check this).
In my application I've used two libraries - pymodbus and tkinter. You can find in the network many helpful websites that describe how to use it.
At first, in my program I'm reading configuration data (e.g. Modbus addresses, names of tags, etc.) from text file. Then I'm creating application that shows the bargraphs. Every bargraph shows one particular density. When Modbus Slave is started, Master can read these data via TCP/IP link. Additionally, when Slave is running, values of denisity are randomly changing, therefore it makes some effect of animation.
Nucleonic Profiler GUI
Modbus Simulator of Nucleonic Profiler running on Raspberry Pi
Kepware OPC Quick Client connected to Modbus Simulator
Nucleonic Profiler GUI
All necessary files you will find here.
At the end I want to present you some photos of practical tests:
Modbus Simulator running on Raspberry Pi
Start of the application
Rasperry Pi with touchscreen and small keyobard
Modbus Simulator running on Raspberry Pi