2020.05.30

Operating In The Shadows


An elite group of professionals usually operates in industrial environments, dealing with machinery that ranges from simple machines that handle pills to heavy-duty equipment that handles tonnes.

They can be deployed to extreme environments, like research facilities above the polar circle, a production plant in the middle of a tropical jungle, or an oil refinery in a conflict-affected country in the Middle East.

These professionals are software engineers. Due to the specific environments in which they operate, they are also known as control systems engineers.


Back-End Development


Software engineers working in industrial areas use a particular set of programming languages (away from the software engineering spotlight) and tools.

The languages available to program industrial control systems usually comply with the IEC 61131-3 standard, which defines four programming languages (two textual and two graphical) and one methodology to handle code execution to perform sequences of tasks or execute tasks in parallel.

The software tools, which in some cases are very similar to integrated development environments, are strongly tight with the controller (also known as a PLC or programmable logic controller) and its manufacturer.


Front-End Development


Like any other system, user interaction is often required. Engineers must deal with devices commonly known as HMIs (human-machine interfaces), ranging from simple text consoles to complex and distributed supervisory and control systems, also known as SCADA (supervisory control and data acquisition).

The absence of a standard in this area led manufacturers to adopt their approach to UI development. Although the graphical functionalities are often developed using graphical tools, pre-existing or custom symbols, some manufacturers have included scripting capabilities for handling more complex tasks. Sometimes, the scripting is achieved using known languages such as JavaScript, Basic or even C. However, in some other cases, proprietary languages are enforced by the manufacturers.

Front-end developers operating in industrial environments require more than the skills to develop user interfaces; they also have to be extremely flexible to embrace the multitude of approaches available on the market.


In the Shadows


Control system engineers have been operating in the shadows, and their work runs unnoticed by those involved in software engineering.

According to a study from IEEE in 2016, Ladder Logic stands in 34th place on the list of top programming languages. The same survey for IEEE also revealed that Ladder Logic had risen five positions from 2015 to 2016. It doesn’t necessarily mean that the language has been replacing other languages. It could be a sign of a greater awareness of control systems' role in our daily lives.

unsplash