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 descriptions

Interface

Responsibility

Acquisition

Configure capture of signal traces

Actuator

E.g. digital outputs, analog outputs, 3-phase servo and piezo

Alignment

Interface to align an actuator

Axis control

Configure and execute (move) commands

Axis control group

Configure and execute (move) commands for a group of axes

Bus

Expose and configure physical connections between a controller and its sub-controllers

Command

Command, queued on command queue

Command sequence

Allows for creating sequences of commands; queued on command queue

Command sequence event response

Response that executes a command sequence

Command queue

Allows for creating, queueing and executing of command sequences on an axis control (group)

Condition

Condition expressions

Controller

Represents a controller

Event

E.g. tracking error and actuator over current

Event responder

Configure responses to events

Event response

E.g. quickstop and actuator disable

Event source

Subscribe to event callbacks, and designate events as errors

Filter

Configure discrete-time filters, using continuous-time parameters

Homing

Interface to home an axis control

Input

Connects a signal to an input (e.g. for connecting a sensor to a translation matrix)

Latch

Latches a value at predefined moment (e.g. index position)

Log buffer

Storage of log messages

Log reader

Reader of log messages

Matrix

Conversion between coordinate systems

Named

Retrieval and configuration of name

Object

Retrieval of type and parent

Parameter set

A set of parameters that can atomically be activated (e.g. for processing block)

Processing block

Consumes data from its inputs, processes it, and produces output on its signals

Sensor

E.g. digital input, analog input and encoder inputs

Signal

A parameter or variable that can be read and/or written

Snapshot

Reading multiple signal values in one call

State machine

For controlling and observing state machines

Sub-controller

Represents a controller that is accessed through a top-controller

Subscription

Represents a registered callback subscription, used to unsubscribe

System

Discover and manage controllers

Template

An entity that can be created in PMP

Top-controller

Represents a controller that is accessed directly from a client (e.g. via Ethernet)

Trajectory generator

Calculates movement trajectories

Trajectory interpolator

Interpolates calculated trajectories and determines the setpoint values

Updatable

E.g. firmware and injection data

Interface relation diagram

Interface relation diagram for C#

Interface relation diagram for C#

Interface relation diagram for C++

Interface relation diagram for C++