General concepts¶
This chapter describes all concepts of the motion API. Interface descriptions briefly describes the responsibility of each interface and provides a link to the section with more details. The Interface relation diagram shows the relations between the available interfaces.
The motion API is available in two languages, C++ and C#. The general concepts documented in this section are described language agnostics as far as possible, but there are some language specific differences which need to be considered. See Considerations for these considerations and the language specific differences in C++ and C#.
Interface |
Responsibility |
---|---|
Configure capture of signal traces |
|
E.g. digital outputs, analog outputs, 3-phase servo and piezo |
|
Interface to align an actuator |
|
Configure and execute (move) commands |
|
Configure and execute (move) commands for a group of axes |
|
Expose and configure physical connections between a controller and its sub-controllers |
|
Command, queued on command queue |
|
Allows for creating sequences of commands; queued on command queue |
|
Response that executes a command sequence |
|
Allows for creating, queueing and executing of command sequences on an axis control (group) |
|
Condition expressions |
|
Represents a controller |
|
E.g. tracking error and actuator over current |
|
Configure responses to events |
|
E.g. quickstop and actuator disable |
|
Subscribe to event callbacks, and designate events as errors |
|
Configure discrete-time filters, using continuous-time parameters |
|
Interface to home an axis control |
|
Connects a signal to an input (e.g. for connecting a sensor to a translation matrix) |
|
Latches a value at predefined moment (e.g. index position) |
|
Storage of log messages |
|
Reader of log messages |
|
Conversion between coordinate systems |
|
Retrieval and configuration of name |
|
Retrieval of type and parent |
|
A set of parameters that can atomically be activated (e.g. for processing block) |
|
Consumes data from its inputs, processes it, and produces output on its signals |
|
E.g. digital input, analog input and encoder inputs |
|
A parameter or variable that can be read and/or written |
|
Reading multiple signal values in one call |
|
For controlling and observing state machines |
|
Represents a controller that is accessed through a top-controller |
|
Represents a registered callback subscription, used to unsubscribe |
|
Discover and manage controllers |
|
An entity that can be created in PMP |
|
Represents a controller that is accessed directly from a client (e.g. via Ethernet) |
|
Calculates movement trajectories |
|
Interpolates calculated trajectories and determines the setpoint values |
|
E.g. firmware and injection data |