PLC, PAC, or Motion Controller?
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.