Programmable logic controller
lastmod 2026-08-03created 2020-10-3010 edits
A programmable logic controller (PLC) is a control device used for automatic control and monitoring of industrial plants. A PLC processes inputs logically and sequentially according to a program and uses the output results to control connected external devices. It is the representative device used for sequential control. A PLC can be used on its own or together with systems such as SCADA.
PLCs are widely used in industrial settings for machine control and similar tasks. A PLC has multiple inputs and outputs. It must operate over a wide temperature range and be resistant to electrical noise, vibration and shock. The control program is stored in battery-backed and non-volatile memory. Because it processes inputs in real time, its outputs respond within a fixed time to input conditions at a given time.
The desired functions are mainly programmed and run with ladder diagrams. When an input signal comes in through a switch or similar, it is processed internally according to the behavior described in the ladder diagram, and the result finally appears on the output coil. The operation of the controlled output target then controls the whole system.
A ladder diagram is expressed with a-contact switches, b-contact switches, timers, logic operation instructions, communication, and function blocks with various other functions.
The ladder diagram program is interpreted sequentially by the CPU from start to finish, determining and changing the internal state and the output state. Once the whole program has been processed and the internal state and outputs are determined, the changed outputs appear on each output port. Depending on the device, it is processed a fixed number of times per second; the internally processed outputs are determined from the inputs, and the results appear on the external output ports. The logic structures on each line of a ladder diagram are interrelated, so they are not executed in order from the first line to the last like computer program code. Since lines can interact with each other in complex ways without a fixed order, the program is fully scanned to the end and the final state is determined by the relationships between states. Therefore, the state of any port can be known, and is reflected in the outputs, only after the whole processing finishes in one scan.
The program representation of PLCs is standardized by IEC_61131-3.
Terms
- IEC61131-3
- A standard published by the International Electrotechnical Commission (IEC) in December 1993 that defines the following five programming languages for PLCs.
- IL (Instruction List)
- An assembly-like language that is hardly used today.
- LD (Ladder Diagram)
- A language based on relay logic representation; the name means "ladder".
- It expresses logic with the power supply omitted and represents PLC programs with graphic symbols such as coils and contacts. It is currently the most widely used language.
- SFC (Sequential Function Chart)
- A description format that expresses control operations, the execution order and the execution conditions of a program using graphic symbols such as STEP and TRANSITION.
- FBD (Function Block Diagram)
- A program feature that turns circuit blocks used repeatedly within a sequence program into components so they can be reused in the program.
- ST (Stuctured Text)
- A structured text language similar to PASCAL, with language constructs such as selection and iteration.
- A high-level language for industrial control, used to describe numeric computations that are hard to express in LD.
- Point (POINT)
- Used to indicate the I/O capacity of a PLC.
- A PLC with 8 input points and 6 output points can connect up to 8 input devices such as switches or sensors, and 6 output devices such as lamps or relays.
- STEP
- A unit of memory written in a PLC language such as an LD program or IL program.
- The smallest unit of a PLC instruction. Instructions such as A contact, B contact and output coil take 1 step each, while for other application instructions a single instruction occupies multiple steps.
- Used as a unit to indicate program capacity and CPU speed. (Capacity: 30k step, speed: sec/Step)
- Scan Time: the time taken to execute a user-written program once.
- For programs with many steps, the scan time increases.
- WDT (Watch Dog Timer)
- A timer that periodically monitors the processor and is cleared at the end of each cycle.
- A system monitoring timer that raises an error after waiting the set time (WDT) when output fails due to runaway program computation or a CPU malfunction.
- It is set to 200ms by default and can be changed by specifying a parameter.
- Parameter
- Operating data stored in the PLC together with the program, specifying communication, system, environment and so on.
- Relay output
- A method that uses relays as the PLC output contact elements.
- Commonly used because it works for both AC and DC, but the switching frequency is limited.
- Profibus - Process Field Bus
- PROFIBUS (Process Field Bus) is a fieldbus system widely used in automation technology. It started in Germany in 1987 through a network of 21 companies and institutions.
- TR output
- A method that uses switching transistors as the PLC output contact elements. DC only, with a semi-permanent lifespan.
- SSR output
- A method that uses contactless solid-state relays as the PLC output contact elements. AC only, with a semi-permanent lifespan.
See also
- Modbus
- SCADA
- FreeSCADA
- HMI
- Korean: 이바
- LabVIEW
- Digital twin
- KS X 9101
- ISA-95 (international standard IEC 62264)
- OPC/OPC UA
- SCADA
- Andon (Korean: 안돈)
Favorite site
Tutorials
- Mitsubishi PLC from basics to practice FULL COURSE - YouTube
- Mitsubishi PLC explained by an expert - Beginner Part 1 - YouTube
- (Mitsubishi Electric-EDU) PLC Intermediate Lesson 2 - Basic instructions - YouTube
- Mitsubishi PLC malfunction? Practical work of a factory maintenance electrician - YouTube