Programming a motion controller is the act of giving a controller the instructions to complete some motion task. The task could be as simple as controlling a single-axis actuator to move a short distance and back again. Or it could be controlling and coordinating the movement of a complex, interconnected multi-axis motion system such as in an assembly line or some kind of manufacturing process. In either case, a set of instructions is needed for the controller to execute some action.
Manufacturers of motion controllers provide some way for users to program their devices. This usually takes the shape of some type of graphical user interface (GUI), sometimes integrated with other automation software. The interface lets users write and edit control programs as well as monitor progress of an operation. Options for programming include visual techniques such as a drag-and-drop method from a menu of options or writing programs in Visual Basic, C, C++ or other languages.
The GUI can be as simple as a few buttons on a controller or a more standard basic keyboard. For extremely simple and uncomplicated applications, some controllers allow programming right on the controller itself via buttons or an interactive touchscreen. Stand-alone or rack-mountable motion controllers often have keypad entry where users can program the controller in this way. Another common method is via computer and keyboard.
Many companies have motion APIs (application programming interface) that let designers program controllers. They can also feature sample programs along with libraries of functions and other tools for diagnostics and tuning.
PLC-based motion control has also become more common. Here, programming is via industry defined standards such as IEC 61131 (PLCopen) which takes advantage of existing programming methods that many engineers are already familiar with such as ladder logic diagrams and function blocks diagrams.