Back to Blog
Education

Glossary of PLC programming terms

Jonathan Bullick | March 30th, 2020

Whether you’re just starting out with industrial automation or you’ve been working in the field for years, this glossary of PLC programming terms will help you understand and communicate complex terms efficiently. The first section is specific programming terms. The second section is general terms surrounding PLC product styles and functionality. We hope you find this list useful as a reference for PLC terminology.

 

Photograph of a PLC or Industrial PC Installed in a Control Cabinet

 

Programming Terms

  • Bit – A bit is a single TRUE or FALSE (on or off)
  • Bool – A bit that can be either TRUE or FALSE.
  • Byte – A byte is 8 bits no sign (0 to 255)
  • Char – A character is 8 bits no sign (0 to 255).
  • ShortInt – A short integer is 8 bits (-128 to 127)
  • Word – A word is 16 bits no sign (0 to 65535)
  • Int – An integer is 16 bits (-32768 to 32767)
  • UInt – An unsigned integer is 16 bits (0 to 65535)
  • DInt –  A double integer is 32 bit (-2147483648 to 2147483647)
  • Real – A real is 16 bit and has a decimal point(e.g. 123.45678).  Used for floating-point numbers.
  • DWord – A doubleword is 32 bit no sign (0 to 4294967295)
  • LReal – A long real is 32 bit and has a decimal point(e.g. 123.45678).  Used for floating-point numbers.  LReal has less roundoff error than a Real
  • MB – Megabytes. An MB is 1024 KB (1,048,576 bytes)
  • GB – Gigabytes. A GB is 1024 MB (1,073,741,824 bytes)
  • String – A string is a grouping of chars.
  • Array – An array is a list of the same variable types using the same base name with an index
  • A two-speed array
    • speed[0] := 10;
    • speed[1] := 200;
  • Structure – A structure is a group of variables of the same or different types put together for easier handling.
    • A structure called T_DRIVE

TYPE T_DRIVE :
STRUCT

Homingrate : INT;
Jograte : INT;
Target : DINT;
Controlword : WORD;

END_STRUCT
END_TYPE

    • Example code

VAR Drive : T_DRIVE
Drive.Homingrate := -5;
Drive.Jograte := 20;
Drive.Target := 374000;
Drive.Controlword := 0001;


General Terms

Capacitive Touch – Devices like iPhones and other smartphones use a capacitive touch screen. the screen senses the extra capacitance of the human finger to determine if the screen is being “pressed”. A user cannot use a screwdriver – the screen will not respond. One negative of capacitive touch screens: users cannot operate the screen wearing gloves unless they are special gloves designed for touch screen use. Not all safety gloves have this feature.  Multi-touch functionality allows PDFs to be viewed with zoom in/out functionality.  (See the KEB S14)

CPU – Main processor in a control.

CPU Type/Speed – Comparing CPU types and clock speeds can only offer an idea that one iPC is faster than another. One CPU may run at 1 GHz and the other may only run at 500 Mhz, but if the 500 Mhz CPU has floating-point arithmetic and the 1 GHz does not, then the 500 MHz CPU will be many times faster running a motion profile than the 1 GHz processor.

Cycle/Loop Time – See scan time

Distributed IO – IO modules that are distributed about a machine. (See the KEB Remote IO)

DCS – Distributed Control System. A type of PLC or iPC that works by itself to control a certain part of a larger process (e.g. refinery).

Embedded Control – Another version of a PAC.  (See the KEB C6 SMART)

Execution Time – The time it takes a PLC or control to execute (scan) through the code once. Control performance and code size define this time. If the time is too slow, a faster processor/control or code rework is required. The control typically has some tool that can show the code execution time.

Fieldbus – A communication system between devices (bus system). A fieldbus is typically serial, Ethernet, or fiber-based. As an analogy, the telephone is to people as a fieldbus is to a machine.

Frame – Similar to a telegram. Can also refer to the part of a telegram – something like, “data frame”

Function – A simple routine that executes and returns a value, but doesn’t store anything. An example is a square root routine (value in / value out).

Function Block Diagram (FBD) – A piece of code that can be reused. Each reuse creates a new instance (independent execution) of itself. FBs can store values for future use (counters, timers, history, etc).

HMI – Human Machine Interface. Also known as a touch screen display. HMIs connect to PLCs or other controls and provide a way for machine users to control the machine or view performance data. Only necessary data is transmitted between the HMI and control (via some type of fieldbus). HMIs have to be programmed and are responsible for actually drawing the screens and handling the user data entry.  (See KEB HMI or S14).

Instance – A copy of code with its own variable space. For example, each drive has its own jog speed, home position, target position.

IO – Inputs and Outputs. With traditional PLCs, they were handled with IO cards that handle 4, 8, 16, or 32 inputs or outputs. Supported signals include digital and analog.  Some cards also have small relay outputs for 120 VAC logic.

Industrial Ethernet – A buzzword within the machine/automation industry describing the adoption of Ethernet connectivity into machinery. EtherCAT is one such solution.

Instruction List (IL) – One of the IEC 61131-3 programming languages.  A low-level assembly-like language.  Programs in a list of basic instructions.

iPC – Industrial PC.  Purpose build PCs that are intended for industrial environments.  They are designed to limit component failures by not using fans and using components like Solid-state drives instead of hard drives.  Chipsets and Operating Systems are selected to provide a defined lifecycle of support.  (See the KEB E22 and P34)

Jitter – Variation between one execution time to another. Code typically requires more or fewer calculations during one scan versus another. This results in a different execution time. Jitter is important for higher performance coordinated motion systems.

Ladder Diagram (LD) – One of the IEC 61131-3 programming languages.  A graphical programming language that is processed with rungs, much like actual relay logic.

Line (Point to Point) Connection – Devices are daisy-chained together in one line to the control.

M2M – Machine to Machine connectivity.

Main loop – The main program loop the control executes over and over

Master – Device that is in charge or talks first over a bus system. Sometimes this is a master encoder that sets the overall line speed of a machine. It can also be a Fieldbus Master which talks to/controls a number of Slave devices.

Min/Max Cycle Time – Fastest and Slowest execution time seen. These values are used to determine Jitter and are also used to determine what scan time to select.

Mixed Connection – A combination of line and star connections.

Motion Control – Commonly refers to an option card for a PLC (motion card). Also can refer to functionality instead of hardware.  (See the KEB C6 SMART)

OPC – OLE for Process Control (Object Linking and Embedding). Provides a method to connect and control industrial automation products independent of the vendor (brand). KEB C6 controls can connect to an OPC system.

OS – Operating System. Windows, Linux, etc.

PAC – Programmable Automation Control. Higher performance than a PLC and focused more on motion and automation instead of IO.  (See the KEB C6 SMART)

PLC – Programmable Logic Control. Microprocessor-based.  Historically, programmed in ladder logic. Accepts accessory IO modules. PLCs originally replaced relays wired together (relay logic)

(PLC) Rack – Older PLCs had a backplane (rack) that could power and process a certain amount of IO modules. Newer solutions might connect via a communication bus.  (See KEB EtherCAT IO)

Process Data – Data that is predefined to be sent consistently over the Fieldbus. For example, the H6, F6, S6 can have 8 parameters for process data read and 8 for process data write. For every EtherCAT scan, the 8 write parameters are written and the 8 read parameters are read.

Program (PRG) – A block of code that only has one instance.

Real-time – A controller and/or fieldbus that runs fast enough to be considered the same as real-time reaction or response. KEB EtherCAT drives can run with update rates as low as 125 us.  Most control systems will typically be set to run at 1 or 4 ms.  Most motors (aka 1 Hp larger) and mechanical systems cannot respond in 4 ms, meaning the solution is effectively real-time.

Remote IO – IO modules that are not installed directly on the control. Allows for easier wiring of large machines where sensors and switches can be a long way away from the control.  (See KEB EtherCAT IO).

Resistive Touch – 4 wire/5 wire – Resistive grid touch screen. Resistive screens work by having a two-layer overlay on the screen. A finger (or another item) depresses the outer film creating a resistive connection between the two layers of film. The X and Y position is determined by the resistance value. Smaller screens use a 4 wire solution and larger screens use a finer 5-wire solution. One negative of resistive touch screens: a user may use a screwdriver to operate the screen (it works) and may damage the display.  (See KEB HMI)

Ring Connection – The control and devices are daisy-chained together in a circle (the control is wired to the start and end of a line connection).  Ring topology requires two EtherCAT masters (three ports, two EtherCAT, and one Ethernet). If there is a cable break, all devices still get the controls messages and the control can see the cable is broken and react.

RTE – Run-Time Environment. A run time environment provides the system to run our programming code.

RTU – Remote Terminal Unit. A generic term used for either a dumb or smart device at a remote location that must collect/provide some data when asked.

SCADA – Supervisory Control and Data Acquisition. The basic concept is to connect devices over large geographical areas (thousands of miles) to gather/share data. SCADA systems are used in electrical transmission utilities, wastewater/treatment, oil fields, etc. In automation, customers refer to SCADA more as a concept of connection/operation.

Scan Time – The time between executing code cycles. The minimum time is the same as execution time (free-running). Most systems define a fixed interval that is slower than the execution time, so the scan time becomes fixed. Update rates of Inputs and outputs are directly affected by scan time. Example: execution time = 1.4 ms, set scan time = 2 ms.

Slave – Device that responds to a master. This can be a slave drive that is electronically geared to a master drive. It can also be a Fieldbus slave that responds to the Fieldbus Master.

Star Connection – The control is the center with each device connecting directly to the control.

Structured Text (ST) – One of the IEC 61131-3 programming languages.  A high-level language that uses IF-THEN-ELSE statements.  Also, WHILE-DO.

Tag – Used by people familiar with PLC/HMI programming. A tag points to a memory location. A tag is functionally the same a variable.

Telegram – The actual message used by a Fieldbus. It is typically only referred to when you discuss “telegram structure”

Update Rate – See scan time

 

 

Contact Us

Let's Work Together

Connect with us today to learn more about our industrial automation solutions—and how to commission them for your application.

  • This field is for validation purposes and should be left unchanged.