|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Stateful PROFINET IO-Device DCE/RPC lifecycle simulator. More...
#include <array>#include <asio.hpp>#include <atomic>#include <condition_variable>#include <cstdint>#include <mutex>#include <string>#include <thread>#include <vector>#include "profinet/protocol.h"#include "profinet/rpc.h"
Include dependency graph for virtual_profinet_rpc_device.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | profinet::sim::VirtualProfinetDeviceConfiguration |
| Configuration for a controller-facing virtual PROFINET device. More... | |
| class | profinet::sim::VirtualProfinetRpcDevice |
| Stateful UDP PROFINET IO-Device protocol simulator. More... | |
Namespaces | |
| namespace | profinet |
| namespace | profinet::sim |
Enumerations | |
| enum class | profinet::sim::VirtualProfinetDeviceState { profinet::sim::Idle , profinet::sim::Connected , profinet::sim::Parameterizing , profinet::sim::Parameterized , profinet::sim::ApplicationReady , profinet::sim::Released , profinet::sim::Fault } |
| Observable Application Relation state of the virtual device. More... | |
Functions | |
| const char * | profinet::sim::ToString (VirtualProfinetDeviceState state) noexcept |
| Convert a simulator state to a stable diagnostic string. | |
Stateful PROFINET IO-Device DCE/RPC lifecycle simulator.
This simulator deliberately implements the controller-facing startup protocol rather than calling controller methods directly. A real rpc::RPCCon can therefore connect to it and exercise:
The simulator uses UDP for DCE/RPC because that is the same transport used by the production RPCCon. It intentionally uses a configurable device RPC port so it can coexist on the same Linux host with the production CControl listener on UDP 34964.
Definition in file virtual_profinet_rpc_device.h.