Machine control software (MCS) is used to control, monitor, and optimize machines. MCS may be programmed to control a wide variety of machines in a wealth of applications.
Definitions and Purpose
In this context, the term "machine" refers to an enormous array of equipment of varying sizes, types, industries, and applications. Nearly all machines, however, have moving parts and perform a specific task. Machine control software often connects a distributed set of controllers in order to repeatedly perform a motion or task.
MCS may be used as a decision-making engine in fully automated processes. It consists of a series of algorithms that effect some type of control on the machine given a specific condition. In most machine control applications, data is relayed to the MCS via a sensor system. The MCS uses this data to determine a condition and executes an algorithm predefined for the condition.
An example from the building and construction industry is that of a motorized grader in an automated road-building operation, which typically uses global navigation satellite system (GNSS) input for positioning. The machine's GNSS receiver transmits positioning data to the MCS at a near-constant rate, and the software uses this data to correct the machine's position in real time. The MCS may also include additional features, such as an automatic machine shut-down triggered by insufficiently precise satellite data.
MCS may interface with one or several types of controllers. Some common controllers are listed below.
Computer numerical control (CNC) is used to control manufacturing equipment, or multiple tools within a single machine cell. It is optimized for moving a tool along multiple axes and typically uses G-code in computer-aided manufacturing (CAM) applications.
Programmable logic controllers (PLC) are computers used to automate industrial processes. They are adaptable to a wide range of operations, such as motion control, positioning control, and torque control. PLCs are frequently customized to fit an intended application.
Programmable automation controllers (PAC) may be considered standardized, commercial PLCs. They use exception-based logic rather than ladder logic as in PLCs.
Personal computers (PC) or single-board computers (SBC) may be used in place of PLCs for very complex or demanding applications, especially ones where high development costs are supported. Data-intensive control systems usually require PC interfacing.
Motion controllers are used for low- to medium-complexity applications. By eliminating a separate controller, these devices provide the tightest link between a machine control system and the motion process.
Machine Types and Applications
Machine control and MCS is used for a wide range of machines and applications. Some examples are listed below.
Aerospace and defense: missile systems, drones
Automotive: cruise control
Building and construction: automated construction sites
Consumer/general: theme park automation, smart elevators, thermostats
Machine control software often consists of multiple functional blocks that work together to control machine processes. These may include:
User interface: Nearly all software packages include a UI for user manipulation of processes. The UI displays error alerts, operator prompts, and some means for selecting manufacturing jobs and other actions.
Machine setup: This function allows the operator to set up or calibrate the machine.
Auditing and reporting: A data acquisition system provides an audit trail and a means for creating reports based on collected data.
Diagnostics: This function allows for machine fault detection and correction.
Machine Control Online—Faces of machine control (.pdf)