Tooling

This Tooling section explains how to interface with a PMP system via the PMP Tooling.

Background and context

The Prodrive Motion Platform (PMP) Tooling is a GUI that incorporates the basic functionality of the PMP API. PMP Tooling is intended for testing and debugging PMP applications. Some of the capabilities are read/write of signals, a scope view for tracing signals, manipulation of state machines, executing command sequences, actuator alignment, firmware upload/download, etc. The PMP Tooling does not prevent actions that are not allowed in the API. These actions will result in an error generated by the API.

A typical setup is shown in Setup - Overview. A client is connected to a PMP system via Ethernet and communicates with the top-controller. The top-controller communicates with the sub-controllers. All controllers can read sensors and control actuators.

Hardware Setup Overview.

Setup - Overview

Intended audience and document goal

The intended audience is any user that wants to interface with a PMP system via the PMP Tooling. It is also expected that basic concepts such as the top-controller state machine, command queue and axis control state machine are known. This document serves as a getting started to the PMP Tooling. It is not intended as an extensive manual and does not cover the complete functionality of the PMP Tooling. Only the most important functionality of the tooling is discussed so that a user can work with the PMP Tooling.

Definitions

Client

A client is typically a computer, which runs an operating system with the customer application (C++, C#, MATLAB, or Python.NET) that interacts with the PMP system.

Controller

A controller is a hardware interface, or a part thereof, which provides the following features:

  1. Can communicate with actuators and sensors and/or has access to sub-controllers, which can communicate with actuators and sensors.

  2. Has processing power to perform calculations.

Top-controller

A top-controller is a controller that runs the Prodrive Motion Platform and communicates directly with the client. It communicates with actuators and sensors and/or has access to sub-controllers, which can communicate with actuators and sensors.

Sub-controller

A sub-controller communicates directly with a top-controller, actuators and sensors, but not with the application. Communication with the client is always via the top-controller.