26 Video Views·Apr 21, 2025
In this video we discuss the Five IEC 61131-3 Programming Languages. These consist of Ladder (LD), Function Block Diagram (FBD), Sequential Flow Chart (SFC), Structured Text (ST), and Instruction List (IL)!
While many of these languages can do the same functionality, they also each have special advantages and specific drawbacks, and as a well-rounded controls or automation engineer you will likely need an understanding of them all!!
Thank you so much for 4,000 subscribers! If you want to become a super supporter of the channel check out my Patreon link below:
https://www.patreon.com/LeMasterTech
Don't forget to leave a like on the video, subscribe to the channel, and let me know what you want to see next in future videos!!
TIMESTAMPS:
00:00 Intro and Background. What is IEC 61131?
01:55 What is the Ladder (LD) Programming Language?
04:47 What is Function Block Diagram (FBD) Programming?
06:51 What is Sequential Flow Chart (SFC) Programming?
09:09 What is Structured Text (ST) PLC Programming?
10:43 What is Instruction List (IL) For PLC Programming?
12:47 Outro and Thank You!
what's up you guys welcome back to
Lemaster Tech and in today's video we're
going to talk about the IEC 61131
programming languages these are the five
standard programming languages you're
likely to see as an automation or
controls engineer
[Music]
so in this video we're not going to do a
long form code tutorial or any sort of
step-by-step DIY process but we are
going to talk about something that's
pretty near and dear to my heart which
is Automation and controls engineering
that's what I do and I know a lot of
people have found the channel from my
video top five things you need to know
as a controls and automation engineer so
hopefully this video can answer some of
the most common questions around what
these are what programming languages
Automation and controls Engineers need
to be ready to see in the field and then
also How likely you are to see them and
what different applications you might
use different ones for and before we get
totally into the video thank you guys so
much for 4 000 subscribers we hit 4k on
the channel this week and that is
absolutely unbelievable to me if you
want to continue supporting the channel
be sure to leave a like on the video
subscribe to the channel we make a ton
of great content comes out every week a
special thank you to Dale T my first
patreon supporter if you guys want to
become super supporters of the channel
as well check out the patreon link below
this video super excited to see where we
go in the next year but without any
further Ado let's dive into the content
of this video so I know just the name
iec61131 can be a little bit confusing
but IEC is just International Electro
technical committee they are sort of
regulators and moderators of a lot of uh
specifics and standards in the world of
industrial electronics and controls and
automation you don't really have to
worry too much about the numbers or the
letters you just need to know what these
different programming languages are and
when you're most likely to encounter
them in the field so let's start with my
personal favorite and potentially the
most common one which is latter so
ladder diagram ladder logic or just
sometimes abbreviated LD is uh
essentially the first PLC programming
language that ever came up sort of
organically because it looks a lot like
electronic relay schematics so in the
old days before we had plc's dedicated
running automation you would read sort
of primitive controls Maps as schematics
of different relays so you could for
example have a relay that would check to
see if a button was pressed and if maybe
some some thing in the field like a high
pressure switch was met and if those
were both true the relay would pull in
and then something else would happen
Downstream of it and so a standard
programmer might think of this as like a
series of and or gates to do like binary
logic in ladder logic it's almost like
you could trace a flow of electricity
through your program so this is why
ladder logic looks sort of like a ladder
when you stare at it it's run after run
after rung and the individual modules
all sort of spawned from the idea that
you had relays so the two most common
ones are like examinive close and
examinif open which is basically a if or
an if not so it's basically if condition
is a one or if condition is a zero and
that's ninety percent of how you do
Boolean checking just series of ifs and
if Nots and then to turn on Boolean
conditions you really just need to know
the difference between like an OTE which
is a energized the whole time this rung
is true versus like an OTL and an otu
pair which is latching and unlatching a
binary condition when something is true
now obviously processes are a lot more
complicated than binary logic in a lot
of scenarios so essentially what that
means is you also have things like
greater than less than limits where you
check between values and then you can
also move numerical values into a
numerical variables so you don't just
have binary logic in ladder you have all
the sort of standard formats that you'd
have in any other programming language
if you understand General programming
types you'll be able to pick up what
these separate variable types mean
pretty quickly and pretty easily but
ladder logic is extremely common it's
also super powerful and it's pretty easy
for people who don't have a computer
science background but maybe are more
familiar with the electronic side or
frankly they don't have a programming
background at all ladder logic is super
logical I really like it almost every
major PLC manufacturer supports some
form of ladder logic using these same
basic building blocks so as it controls
an automation engineer you are super
likely to need to become pretty familiar
with ladder logic now for the one I
consider second most common some people
might debate with me here but I think
the function block diagram it's
essentially more free form than like
traditional ladder logic you just
basically have a blank page of workspace
and you drop blocks in there that you
want to do different functions and
typically you tie their inputs and
outputs to different process conditions
some of the more common ones for this
would be like totalizers a lot of the
time a totalizer block that would
monitor flow over a period of time and
continually add to see how much total
flow you had in that time you would
maybe have this floating function block
diagram for a totalizer you would tie a
start command a stop command a reset
command as well as potentially like your
input signal so your actual raw flow
meter signal you could pass it through
some sort of like time scale or
multiplier but it's just where having
all of the conditions that control the
totalizer and all of the outputs that
you could do using the totalizer in one
spot is just super powerful I'm only
using totalizer as one example function
block diagram its advantages are you can
see all of the components that will
control a block a complicated block like
a totalizer in one location you can also
map out common programming things like
and Gates or gates xor gates knots
whatever Boolean control in these as
well the disadvantages are it starts to
get very hard to read a logical sequence
of things happening if you get too far
down and too long into one function
block diagram so you need to start
partitioning it off and making a
separate fbd for each major function
that happens but I have seen systems
where the entire thing is done in a
function block I've seen things where
the entire system is done in ladder but
it's important to understand what this
looks like how you control it what it's
used for and also it's an important one
to familiarize yourself with the next
language sfc or sequential function
chart is absolutely the most common
language you'll see if you run batch
processes so GES like ft batch and
Rockwell's batch as well as I think just
a lot of batch processes the way you see
a recipe is with a sequential function
chart and this one's really nice to kind
of get an overarching view of your
process because typically you'll have
layers where you can look at one sfc and
you'll see like start phase validate
parameters phase manual editions phase
mix phase uh automated editions phase
sample phase and so you can look at a
high level sfc and you can see the
overall state of your project really
quickly as it relates to your whole
process and then if you have questions
about what's going on in one phase of
that sfc typically most software
supports you Drilling in and inside one
phase at your high level model you could
have a number of phases and inside each
of those phases you could have a number
of phases in there it's definitely most
commonly used in batch most plcs
themselves don't support a really robust
like sfc without a software that you run
and configure on an actual computer so
plc's typically host mainly
um like ladder and fbd and even some of
what we'll talk about now next which is
structured text but to do an sfc based
control schematic you're usually in like
more of a distributed control system
like DCS platform and you usually have
to put your sfc software recipe editor
whatever on a computer other than your
PLC again most common place you'll see
it is batch applications batch just
means that you separate all of your
devices at the plant and your series of
instructions that control devices into
phases phases still typically have to
get represented as ladder in your plcs
so an sfc is almost always accompanied
by some form of ladder logic or
structured text inside of a PLC not
always I'm trying to generalize and give
you guys a quick summary but that's a
summary of sfc so the next one
structured text is uh probably the one
that would look the most familiar to
someone coming in with a programming
background but not a controls background
structured text really is what all all
programming languages are I mean it's a
certain syntax of words and commands
that will execute certain things in your
code structured text is typically
straightforward like saying set i o
Point status to digital output set
Boolean command equal to one when
condition is met like the actual text
I'm not going to spend too much time uh
digging into because it varies from
manufacturer to manufacturer controller
to controller so if I were to tell you a
bunch of specific structured text
there's a solid chance it wouldn't apply
to your specific manufacturer but the
documentation for what your manufacturer
supports what uh whatever your site
standard is if you're doing a lot of
structured text then the controls at
your plant probably got started by a
group of people who are more comfortable
with software and programming so in
general PLC programmers controls and
automation Engineers aren't going to
need to see a ton of structured text but
it is supported and it is one of the IEC
61131 languages so it's important to
know what it is if you see it in an
application don't be blindsided by it
not super common if it's super common at
your site you prove me wrong let me know
I was wrong in the comments below but
most of the time the three we talked
about before are going to show up a lot
more in your applications okay and the
fifth one is kind of neat here it's
instruction list typically abbreviated
IL and this one is going to be really
familiar for people who have done a lot
of work with like six axis robots or if
you've done a lot of work with like CNC
machines or 3D printers instruction list
is not too far off from structured text
in that it's really just words uh that
kind of have some numbers mixed in to
command your variables to different
stuff whereas the first three languages
we talked about were a lot more visual
but instruction list is basically like
machine code so for like a robot or a
CNC machine it's often called G-Code but
it usually is a series of commands that
run one after another it's always going
to typically happen in a sequence but a
lot of the time you can have like oh if
this condition then do this and jump to
this rung but if other condition do this
other thing jump to this other rung so
it doesn't have to be linear but
typically it's in an order that makes
sense that you would typically see it
sequentially and the most common
applications are for things where you
need position control in 3D space so
you're controlling three or more axes
and you would typically say okay go to
certain position all right turn on your
tool whether it's cutting or drilling or
welding or whatever and then your tools
on okay move from point A down to your
thing that you're operating on okay now
move over to point B with your tool on
okay now turn your tool off and lift up
okay now go back to your home spot but a
conveyor will turn on move the next
piece in so it's pretty common on like
assembly line where you have a lot of
advanced like robotics or motion control
it's normal to see instruction list but
again this is sort of more common in
robotics even than you would see it in
controls and automation so it is one of
the
iec61131 languages that's why we're
talking about it the first three
languages ladder fbd and F sfc so
function block diagram and sequential
flowchart those are the three most
common ones that you'll see in your
day-to-day as a like PLC programmer or
controls an automation engineer but if
you're more of a mechatronics or
robotics hybrid or that's a field you're
interested interested in it's definitely
worth getting familiar with the other
two as well and in general the more
well-rounded you are as an engineer the
better you're going to do in your field
so thank you guys so much for watching I
know a lot of the content on the channel
is Python and programming and I know not
too many of you guys might be Automation
and controls Engineers but again I think
being a well-rounded engineer is the
best thing you can do so I hope you
found this useful if there's more stuff
you'd like to know about this field let
me know about in the comments below if I
get enough interest and enough questions
on the world of controls and automation
I can absolutely make another video on
those topics so thank you guys so much
for watching thank you again for 4 000
subscribers it's amazing growth on the
channel I appreciate all of you guys
don't forget to leave a like subscribe
to the channel help me out a lot until
next time good luck with your jobs good
luck with your projects thanks for
watching bye