Deployment

The guides in this section describe how to load a custom Processing block (from a Simulink model or custom C/C++ code) on a PMP motion controller or PMP EtherCAT SubDevice. It is expected that the user has already created a PMP processing block binary file for the (simulated) controller, if not, first follow the Simulink code generation or Custom C/C++ code guide to create the binary file.

Deployment on motion controllers and PMP EtherCAT SubDevices differs, please refer to the relevant guide.

Introduction

Custom processing blocks can be deployed on PMP motion controllers or PMP EtherCAT SubDevices. The implementation on EtherCAT SubDevices has limitations and differences compared to motion controllers.

PMP motion controllers vs. PMP EtherCAT SubDevices

Functionality

PMP motion controllers

PMP EtherCAT SubDevices

Custom processing blocks

Yes, the amount of memory available for custom processing blocks and other updatables can be read via the UpdatableMemoryAvailable signal

Yes, but the amount of processing blocks, interfaces of the processing blocks and calculation order is pre-defined

Calculation order

Automatically determined based on input connections via scheduler

Calculation order pre-defined

Persistently stored

No, processing block needs to be uploaded after each reboot

Yes, processing block automatically becomes active after reboot

Processing block Timing measurements

Yes

No

Memory usage monitoring

Yes

No

Logging from custom C/C++ code

Yes

Yes

Asynchronous execution

Yes, when supported by the motion controller

No