Motion Master
|
Manages devices and performs cyclic process data exchange. More...
#include <base.h>
Public Member Functions | |
virtual bool | setState (uint8_t state, const std::chrono::steady_clock::duration expiryTime)=0 |
Sets the operational state of all managed devices. More... | |
virtual std::vector< uint8_t > | exchangeProcessData (const std::vector< uint8_t > &data, const std::chrono::steady_clock::duration expiryTime)=0 |
Exchanges process data with devices. More... | |
virtual void | exchangeProcessDataAndUpdateParameters (uint64_t missedCycles, const std::chrono::steady_clock::duration expiryTime)=0 |
Exchanges process data and updates internal parameters for each device. More... | |
virtual std::vector< Device > & | devices ()=0 |
Manages devices and performs cyclic process data exchange.
This abstract interface defines methods for controlling device states, exchanging process data, and managing the device list. The implementation can use various industrial communication protocols (e.g., EtherCAT, SPoE, or others).
|
pure virtual |
|
pure virtual |
Exchanges process data with devices.
Sends process data to devices and receives their response in a single communication cycle. The exact transport mechanism depends on the underlying protocol.
data | Process data to send. |
expiryTime | Maximum allowed duration for the exchange before timing out. |
|
pure virtual |
Exchanges process data and updates internal parameters for each device.
Performs a process data exchange with all managed devices, then updates the internal parameter set for each device based on the received data.
missedCycles | Number of cyclic exchanges missed since the last call. |
expiryTime | Maximum allowed duration for the exchange before timing out. |
|
pure virtual |
Sets the operational state of all managed devices.
Requests a transition of all devices to the specified state, as defined by the underlying network protocol. The operation will fail if the transition cannot be completed within the given time limit.
state | Target state value, interpreted according to the active protocol. |
expiryTime | Maximum allowed duration for the state transition before timing out. |