Industrial Automation Control

Overview

Manufacturing cell operations that are timing critical are controlled by discrete controllers, most commonly PLCs.   The overall management of discrete controllers and the data from them is managed by either a distributed control system or a supervisory control and data acquisition (SCADA) system.   Although a PLC executes a single program loop (sweep), it nevertheless executes many tasks in parallel, and with reliable timing.  

Discrete Controllers (PLCs)

The primary components of an automation system are sensing, actuation, and brains (microcontroller, microcomputer,..).   IEC 61131-3 is the international standard for programmable controller programming languages.   IEC 61131-3 specifies the syntax, semantics, and display for the Ladder Diagram (LD), Sequential Functional Charts (SFC), Function Block Diagram (FBD), Structured Text (ST), and Instruction List (IL).   OpenPLC Editor is free software that allows you to write PLC programs according to the IEC 61131-3 standard.   The OpenPLC runtime is installed on the discrete controller in order to execute the PLC program written in OpenPLC Editor.   OpenPLC runtime can be installed in a variety of devices, including UniPi Neuron, Arduino, Raspberry, Pi, Linux, etc.   An HMI can be built that communicates with OpenPLC Runtime over Modbus/TCP using the HMI Builder ScadaBR.  

 

Communication Between Discrete Controllers (PLCs)

PLCs sometimes need to communicate with each other in order to coordinate an activity such as material flow.   The communication protocols vary by vender/brand of PLCs implmented.   Python is a great language for accessing and using the various protocols employed between PLCs.  

 

Management of Discrete Controllers

SCADA

PyScada - a Python and Django based open source SCADA system.

 

Distributed Control System

 

A look at Beckhoff

Beckhoff utilizes open automation systems based on PC Control technology.   High speed fieldbus communications utilize EtherCAT.  

 

Related Links

Beckhoff recorded webinar archive

SimPyLC - simulate a PLC or a set of interconnected PLC's and control systems.   Written in Python.

The Fast Guide to IEC 61131-3 Open Control Standard & Software

 

References

PLC Protocols & Python libraries (1)

(1)   from Jonas Neubert - What is a PLC and how do I talk Python to it? - PyCon 2019

 

 

Get help with your mechatronic project at Mechatronic Solutions LLC