Modern machinery incorporating motion systems fall into two categories: PLC-based and PC-based. PLC-based embedded motion functionality has gotten much of the attention in the past few years, but there is a set of applications that can benefit from PC-based motion control. PC-based motion control technology has now become a simple bolt-on addition to machines. Figuratively, not literally, these systems are comprised of either a software or hardware-based add-on to the PC, with no SAE grade 8 nuts and bolts required.
Core motion components
Many early motion systems were standalone microcontroller-based devices that needed to be synchronized and wired up with PLCs. The motion controller determined the trajectory of many linear and rotary axes based on a predetermined routine, and the PLC synchronized the rest of the automation functions around it. Modern motion systems have benefited from the integration of many of these functions, and we continue to see PLCs take on more responsibility in machines. We have even gone so far as to change the name of them to Programmable Automation Controllers. To confuse the issue, many of these PACs actually use PC-based hardware, meaning they run an Intel or AMD-based chipset. To clarify the differences of these two motion systems camps, we will focus on the programming types as a differentiator.
PLC- or PAC-based solutions have their roots in ladder logic programming. All major PLCs or PACs on the market today use a scan-based IEC-61131 programming engine consisting of ladder logic and several other programming languages, which historically has been the de facto standard in automation. The ability to command motion with these systems is integrated into the language and looks identical to other ladder logic block.
PC-based solutions typically utilize an industrialized PC running any number of common PC programming languages (BASIC, C, C++, C#, Java, Delphi, and Python, to name a few). The versatility of this platform makes it hard to even summarize what any given system can do. To give perspective, most CAT-scan and MRI scanners, CNC machines, semiconductor manufacturing equipment, and electronics assembly machines all use PC-based solutions that incorporate motion.
Both systems have their place, and one approach is not better than another. Many times, the deciding factor has little to do with motion capability. Vision systems and other intense calculations tend to push the architecture toward PC-based platforms because of the power of PC and the versatility of programming languages that are on the market today. For instance, a machine incorporating a vision system to determine the trajectory of many coordinated axes of motion can be programmed in C++ using off-the-shelf components.
The controls engineer can use a standard programming development suite like Microsoft Visual Studio and utilize the power of built-in standard libraries to write OEM-specific algorithms. Programming in a standard development environment gives the designer the advantage of using a technology that is adopted by many more markets than just automation. Dependence is not on the controller vendor to create debugging tools and compilers specific for an automation development suite.
Trajectory generation and where it happens is also a major factor in the decision. The trajectory generator decides all the movement in the motion system. Many machine systems need a sophisticated system of processing data to create these motion profiles on the fly. This is where a PC system can shine because of processing power and programming flexibility. These calculations are best done inside of a PC and best programmed using a flexible programming language of the user's choice, and not limited by vendor function blocks. Just like video games, because mathematical operations and processing power intense graphics are programmed and run best on PCs, motion systems can be most impressive on a PC platform.