Table of Contents

NodePLC: The Next Generation of Industrial Automation

Traditional PLCs: Outdated and Unresponsive to Modern Needs

As you know, traditional programmable logic controllers (PLCs) have remained stagnant for decades, adhering to the same standard established 40 years ago. In today's rapidly evolving and internet-connected world, this lack of innovation is unacceptable.

Inspired by the groundbreaking Node-RED programming tool, NodePLC offers a revolutionary approach to industrial automation. With an intuitive interface and familiar drag-and-drop functionality, NodePLC empowers even novice users to create complex automation systems with ease.

Unlike Node-RED, NodePLC places a strong emphasis on real-time control, making it ideal for mission-critical industrial applications. Additionally, NodePLC seamlessly integrates with Node-RED, enabling you to leverage the best of both worlds.

Unlock Your Imagination and Transform Your Industrial Processes

With NodePLC, the possibilities are endless. Combine the power of real-time control with Node-RED's extensive library of nodes to bring your wildest automation dreams to life.

* NodePLC: The Future of Industrial Automation is Here.

Key Features:

Benefits:

Learn More:

Visit our website to learn more about NodePLC and how it can revolutionize your industrial automation processes.

Contact Us:

Get in touch with our team today to discuss your specific requirements and get started with NodePLC.

NodePLC: The Future of Industrial Automation is Now.

What is NodePLC

NodePLC is a Raspberry Pi-based PLC that can be programmed using a low-code, or flow-based development environment.

Download OS

File Date Released Release Notes
NodePLC OS January 25, 2023 Release Notes

At this time, the OS is only for test, development, and demonstration. The features and capabilities will change over time.

Features

  1. Because NodePLC is a PLC product, the OS is created with the Linux Realtime Kernel (i.e. PREEMPT_RT) to optimize for realtime control.
  2. The OS reserves the 4th core for the realtime control task. This allows the realtime control task to have the 4th core all to itself, thus reducing the likelihood it is interrupted by other processes running on the system.
  3. The OS is read-only so the NodePLC hardware can tolerate an abrupt loss of power without file system corruption, and does not need to be shutdown by the user.
  4. The OS has been reduced to only essential software to reduce contention for resources and competition with the realtime control task, but also because most of the software in the original OS is simply not needed. The original OS consumes about 300MB of memory, while this OS consumes only about 100MB of memory. The original OS has almost 200 running processes, while this OS only has about 20.
  5. The OS does not have a desktop environment. It boots directly to the NodePLC Dashboard Application. This will be the users' primary interface to configure, control, and monitor the system.
  6. The RS-232 port is currently configured as a console port (baud 115200). Customers need a way to configure the system (e.g. configure the IP address), update the OS and software, troubleshoot, and many other tasks. The dashboard application can also be used for such tasks, but field application engineers (FAEs) do not typically carry a monitor, keyboard, and mouse with them. They usually just have a laptop. An SSH terminal could be used, but what if TCP/IP isn't working?
  7. The RS-485 port is used to communicate with IO control modules. Currently, only Modport is supported.
  8. Any CPi-A, CPi-B, CPi-C, or CPM500 hardware can be used, but you must update the /boot/config.txt file with the model-specific one in the OS image's /boot/ folder.

Current Limitations

Theory of Operation

  1. NodePLC Hardware - For now, a CPM500 or CPi panel PC can be used, but the /boot/config.txt must be replaced for each model. See the /boot/ folder for several pre-made config.txt files.
  2. MODPORT Header Module - We do not currently have any modules, so the Modport is used as a substitute. It is connected the NodePLC's RS-484 port (e.g. /dev/serial1)
  3. MD-DOS08 Output Module - Configured as Modbus slave address 1
  4. MD-DIDC8 Input Module - Configured as Modbus slave address 1
  5. Console Terminal - Connected to the NodePLC's RS-232 port for configuring, monitoring, controlling, and troubleshooting the system.
  6. Web-based Dashboard application - Used to configure, monitor, and control the system via a GUI. This is the default application displayed on the local HDMI port. However, because it is a web-based application, it can also be viewed by an external PC, tablet, or smartphone.
  7. Web-based Designer application (To be developed soon) - Used to program real-time tasks and GUI applications via a flow editor.

Dashboard Application

The operating system runs 2 primary processes:

The dashboard is used to configure, monitor, and control the system. It can also be used to monitor and control the realtime task.

<html> <style> div.dokuwiki ol ol { list-style-type: decimal; } </style> </html>

  1. URL of the dashboard application so it can be opened via an external PC.
  2. General system information
  3. Realtime information about the performance of the system
  4. Control and monitor the realtime task.
    1. The amount of time the realtime task has been running
    2. The number of errors that may have occurred while the task was running
    3. The minimum time it took for one iteration of the main control loop to run
    4. The average time it took for one iteration of the main control loop to run
    5. The maximum time it took for one iteration of the main control loop to run
    6. Start or stop the realtime task. Restarting resets the information above.
    7. The current state of the MD-DIDC8 Modport module's inputs
    8. The current state of the MD-DOSO8 Modport module's outputs. Click each output to toggle its state.

Demonstration using the CPi-A070WR4S

The following demonstration illustrates the current capabilities of the realtime OS.

Suggestions