Industrial control programming and protocols on a Raspberry Pi

Modbus Writes from Node-RED

I modified the earlier ladder logic program to light the LED from either the pushbutton or a holding register (%QW1; Figure 12), which is an integer, so the value is converted to a boolean then OR'd with the pushbutton interface. The result of this OR is the value of the LED.

Figure 12: Ladder logic to light LED from either a pushbutton or Node-RED.

On Node-RED, a slider node is used to pass a 0 or 1 to a modbus tcp output node, which is configured as a single write to holding register 1. After the Node-RED logic is deployed, the web dashboard is accessed at: http://<your_rasp_pi>:1880/ui/ (Figure 13).

Figure 13: Node-RED dashboard with read/write access to OpenPLC variables.

Final Comments

Learning industrial control theory can be a little challenging: It's a very large topic with specific standards (e.g., IEC 61131-3 programming) and industry-specific communications packages like Modbus. Luckily, open source packages like OpenPLC allow you to familiarize yourself with industrial controls on low-cost hardware like the Raspberry Pi.

OpenPLC is an excellent testing and teaching tool, but it's important to point out that OpenPLC is not designed to be used on real-time projects that have environmental or safety concerns.


  1. OpenPLC documentation:
  2. IEC 61131-3 documentation:
  3. Node-RED documentation:
  4. OpenPLC install:
  5. Modbus documentation:

The Author

You can investigate more neat projects by Pete Metcalfe and his daughters at

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • PiXtend V2

    The PiXtend board extends the Raspberry Pi with many useful interfaces and functions for new target groups.

  • Node-RED on Android

    We show you how to control devices connected to Rasp Pi GPIO pins with text messages from an Android phone.

  • Monitoring Old Devices

    Create monitoring dashboards with SSH, command-line tools, and Node-RED.

  • Node-RED

    Node-RED lets you connect ready-made code building blocks to create event-driven applications with little or no code writing.

  • OPC Unified Architecture

    Use Python and Node-RED to create an industrial client-server test system.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More