Skip to content
  • Home
  • About the Blog
  • About the Author
  • Sitemap

Abdur Rosyid's Blog

Just a few notes on mechanical engineering and robotics

PLC, PAC, or Motion Controller?

March 5, 2021 by Abdur Rosyid

Programmable Logic Controller (PLC) is a famous control unit and widely used in industry. It has been initially used for discrete control, i.e. ON and OFF control. The domain of use is wide, from a simple flip-flop light to flow or process control. It was made at the first place to replace relay- and timer-based systems which are impractical to use when the control system gets more complex. The most commonly used programming format is ladder diagram. However, some other programming formats, either diagram-based just like the ladder diagram or text-based, are also used. For standardization, five programming formats are determined by IEC 61131-3. They are: ladder diagram (LD), function block diagram (FBD), sequential function chart (SFC), structured text (ST), and instruction list (IL). The first three are diagram-based (graphical) whereas the last two are text-based. A PLC can be either a compact one or a modular one. With the latter, the modularity provides more flexibility and scalability.

Despite the IEC 61131-3 programming format standardization, each PLC manufacturer typically releases its own programming software, for example SIMATIC with Siemens PLC, which has some variation compared to the other programming software. However, the basics is still the same and within the standard. Such PLC programming software quite commonly also has testing/simulation capability by which one can test/simulate a control scheme on a PC before deploying it into the PLC. Due to the programming standardization and the long history of PLC, there is a high availability of PLC technicians (who can program a PLC).

Programmable Automation Controller (PAC) can be seen as an enhanced PLC, in terms of its processing capability, memory capacity, and its control capability. With the development of more modern PLCs, the difference between PLC and PAC becomes blurred. The old PLC typically has limited processing capability and memory capacity but the modern PLC has more powerful processing capability and memory capacity. The old PLC cannot handle motion control, but the modern PLC can. Although PLC is typically programmed by using the ladder diagram, modern PLC can be programmed by various programming formats as described earlier. For that reason, some argue that the differentiation between PLC and PAC is more a marketing jargon as both of them basically have similar functionality. Nevertheless, a PAC may provide a more general programming language such as C and C++, in addition to the five programming formats as defined by the IEC 61131-3. This may be more familiar for computer programmers and most importantly enable a more complex control scheme programming, but at the same time inconvenient for many PLC programmers.

Motion controller is a more specific control unit in terms of its application domain. As implied by the name, a motion controller is only used to control the motion of a mechanical system, typically by using PID control scheme. This is in contrast to PLC which is used to control almost any system, including a motion system. This is in particular correct in the later development of PLC in which the PLC is not only used for discrete control (which was its first purpose to replace the relays and timers) but also equipped with PID control capability; hence it can control a motion system or a process by using PID control scheme.

Post navigation

Previous Post:

Mengenal Motor Servo dan Sistem Servo

Next Post:

PLC, DCS, and SCADA

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • STEM 101
  • Robotics
  • Kinematics
  • Dynamics
  • Control
  • Robot Operating System (ROS)
  • Robot Operating System (ROS2)
  • Software Development
  • Mechanics of Materials
  • Finite Element Analysis
  • Fluid Mechanics
  • Thermodynamics

Recent Posts

  • Pull Request on Github
  • Basics of Git and Github
  • Conda vs Docker
  • A Conda Cheat Sheet
  • Installing NVIDIA GPU Driver on Ubuntu

Archives

  • June 2025
  • July 2021
  • June 2021
  • March 2021
  • September 2020
  • April 2020
  • January 2015
  • April 2014
  • March 2014
  • March 2012
  • February 2012
  • June 2011
  • March 2008
© 2026 Abdur Rosyid's Blog | WordPress Theme by Superbthemes