Testing FUXA, open source SCADA software with: Modbus communications, HMI drawing, SQLite database and trend charts, Alarm tracking; testing on two PLCs
TAGS: electronics; soldering; automation; industrial; PLC; OpenPLC; Arduino Uno and Nano; Canaduino PLC 100; raspberry pi; Modbus; SCADA; FUXA; HMI; alarms; historian; charts; SQLite
Why I Did This
In my pursuit of industrial automation knowledge, I wanted to see what open source SCADA software was suitable for learning, practicing, and using with my previous automation setups (PLCs). SCADA is 'Supervisory Control And Data Acquisition', and it's software that acts to oversee multiple PLCs, DCSs, RTUs, by: giving visual representations of the plants (Human Machine Interface, HMI) that can also be used to send control commands, collect alarms, capture all tag data into databases (like SQLite) and retrieve that data into a time-series chart (historian), and creating scripts for producing new conditions and actions from combined PLC conditions (like PLC1 can affect PLC2, or, PLC1 and PLC2 at specific conditions can together cause a new state); this all together increases the overall power a user can have with multiple automation systems, therefore, it is a valuable tool to learn.
![](articleAssets\SCADA-Experience-FUXA\fuxa_scada_demo_1.png)
The generic SCADA experience is at a supervisory level above the PLCs and field devices (sensors, actuators), many companies will describe it as even higher {just Google 'SCADA hierarchy'}; I may explore these higher levels later, but for now my goal is to explore HMI's, alarm pages, databases and charts, scripting, for these small PLCs setups.
Experience Rundown
In this video, I demo the FUXA SCADA software on a server, showcasing the connections, tags,
HMI, alarms, data charts, and custom scripts, for an interaction between two PLC setups each on
different servers.
They are both OpenPLC runtimes, with one being on a Raspberry Pi and the other on a Windows
Laptop.
The Raspberry Pi is connected to an Arduino Uno with a few sensors, but Laptop is connected
to the previously demoed Canaduino PLC 100 'water heater and humidifier' setup (see the
previous article "Testing a PLC attachment
(Canaduino PLC 100)
for the Arduino Nano, and programming with
OpenPLC" for detailed demo of that PLC alone).
*This is a long video (~21 minutes), so if you feel I'm demoing slow, then feel free to
speed up the youtube playback speed.
*Also, this was a long project to make, dictate, and capture with two cameras, so I
apologize if I miss anything to be explained; I will try to append this article
with extra pieces to explain anything I may have missed in the video.
References
FUXA on GitHub: https://github.com/frangoteam/FUXA
OpenPLC Modbus addressing setup: https://autonomylogic.com/docs/2-5-modbus-addressing/
OpenPLC Runtime: https://autonomylogic.com/docs/2-1-openplc-runtime-overview/