#WishIKnew Which programming languages are used in industrial automation?

System Integration

When you have a question about process automation that needs a short answer, let us know with #WishIknew and #Visaya! We’ll reply with a #WishIknew post. It’ll give a quick explanation, then some related articles, videos, or reviews if you want to know more.

I wish I knew which programming languages are used in industrial automation!

Great question, especially with the rise of the Internet of Things (IoT) and the Industrial Internet of Things (IIoT). By the way, before I answer this question, I’d like to give kudos to all the developers out there for their day. Russia has officially declared today Day of the Programmer. Now, to the answer.

With the integration of industrial control systems and the world of IT and web-based applications, we see more and more programming languages in the game. This gets even worse when we start talking about robots. Many manufacturers have their own languages, which just adds to the pile.

Function blocks
Courtesy of ISA

Let’s first talk about programmable logic controllers (PLCs) and their systems, which still make up the vast majority out there. PLCs use the IEC 61131-3 standard. This standard lists the following:

  • Ladder diagrams (LD)
  • Sequential function charts (SFC)
  • Function block diagrams (FBD)
  • Structured text (ST)
  • Instruction lists (IL)

You’ll find that function block diagrams and ladder diagrams, also called ladder logic, get used the most.

Besides these, MATLAB and LabVIEW get a lot of exercise in industrial automation. And if you want to build a human-machine interface (HMI), then you’ll want some Visual Basic (VB).

Stepping away from industrial automation and going more towards general automation and IoT/IIoT concepts, I’d say that adding Python, C#, C++, and Java will enhance your skill set nicely. In this day and age, you’ll often see young engineers creating simple automation projects with cheap microcontrollers such as Arduino or Raspberry Pi and its peripherals.

This video will show you a simple ladder logic example: