Fly High Engineering often works on complex PLC-based control systems. A PLC (Programmable Logic Controller) is a computer used to automate industrial processes and manage different operations such as controlling machines, production lines, transport systems, etc.
In addition to the processor and memory, a PLC is typically connected to various units that manage input and output lines, some of which may be dedicated to safety systems (emergency stops, operator safeguards, device protections). In modern systems, the PLC is also interfaced with other units such as user interface panels (HMI), other PLCs (often in master-slave architecture), distributed control systems (SCADA), Manufacturing Execution Systems (MES), and data collection systems (ERP) that provide management with the most important summary information.
Having to control physical devices, the fundamental task of a PLC system is to manage the signals coming from various sensors, which can represent the state of a switch, the temperature, the pressure, the level of a liquid, etc. When the incoming information is encoded as an analog signal, it is digitized by an ADC (Analog-to-Digital Converter) module. Similarly, a DAC (Digital-to-Analog Converter) is used to convert the digital result computed by the control software into the analog value to be set on the output line, when the connected device needs analog control. To program a PLC, the first step is therefore the hardware configuration, which must correspond to the actual installed devices and their wiring.
The main control cycle includes scanning all inputs and using the values of the various sensors to update the outputs, which drive the connected devices. Depending on the manufacturer, the control software is written in various ways, such as Ladder Logic (a graphical language that represents the various connections in the logic circuit), Structured Text (which is similar to Pascal), Function Block Diagram (a graphical language that represents functions as boxes with inputs and outputs, and the connections between the various boxes), and the more modern TwinCAT C++ from Beckhoff.
Industrial systems require real-time control. This means that the latency, i.e. the time it takes to read all inputs, calculate, and set all outputs, must be predictable and controllable. The latency is usually measured in milliseconds, so we are always talking about very fast processes.
The most challenging aspects are often related to the diagnosis of problems in input/output devices, and to handling communication errors and other faults. In particular, the management of the safety system (for example, automatic blocking or switching to a safe action mode if a protection is triggered) requires extreme attention, because problems in industrial systems can not only have disastrous economic consequences but can also cause accidents with deaths and injuries.
One must also keep in mind that there are HMI interfaces for the operator, who must be able to monitor the process and be able to act promptly in case of problems. Often the system defines roles with different privileges, for those who need to set up the production line, for those who just need to keep it running (for example, ensuring that incoming material is always supplied), and for those who need to have access to everything to carry out repairs and maintenance.
Today, almost all industrial systems are connected to other systems, using communication protocols such as Ethernet/IP, Modbus, Profibus, etc. PLCs are often integrated with Supervisory Control and Data Acquisition (SCADA) systems and Manufacturing Execution Systems (MES) to provide more advanced control and monitoring of industrial processes.
The advantages of PLC-based systems are their robustness and reliability, being designed to operate in harsh industrial environments, the flexibility they allow, having to be used to program a very wide variety of applications and processes, and their expandability, thanks to the possibility of integrating additional modules to expand the system’s capabilities. However, you also need to consider aspects such as cost, the complexity of their programming approach (they require experts with specialized skills), long-term support from manufacturers, and other strategic aspects. Contact Fly High Engineering for an opinion based on both business and technology aspects.