|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Shared data types used by the PROFINET DCE/RPC layer. More...
#include <cstdint>#include <optional>#include <string>#include <vector>#include "profinet/blocks.h"#include "profinet/dcp.h"
Include dependency graph for rpcTypes.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | profinet::rpc::IOSlot |
| One slot/subslot's expected module configuration and IO data sizes. More... | |
| struct | profinet::rpc::IOCRSetup |
| Configuration for establishing cyclic IO alongside an AR. More... | |
| struct | profinet::rpc::ConnectResult |
| Result of a successful RPCCon::Connect() that also established cyclic IO. More... | |
| struct | profinet::rpc::WriteItem |
| A single write operation for WriteMultiple(). More... | |
| struct | profinet::rpc::AllIM |
| All I&M records a device supports, read in one call. More... | |
| struct | profinet::rpc::IndexProbeResult |
| Result of probing one index in EnumerateIndices(). More... | |
| struct | profinet::rpc::RPCConOptions |
| Configuration options for an RPC connection. More... | |
Namespaces | |
| namespace | profinet |
| namespace | profinet::rpc |
Variables | |
| constexpr std::uint16_t | profinet::rpc::RPC_PORT = 0x8894 |
| PROFINET IO RPC port (34964). | |
| constexpr std::uint16_t | profinet::rpc::RPC_BIND_PORT = 0x8895 |
| PROFINET IO RPC bind port (34965). | |
| const std::string | profinet::rpc::UUID_NULL = "00000000-0000-0000-0000-000000000000" |
| Null (all-zero) DCE/RPC UUID string. | |
| const std::string | profinet::rpc::UUID_EPM_V4 = "e1af8308-5d1f-11c9-91a4-08002b14a0fa" |
| Endpoint Mapper interface UUID. | |
| const std::string | profinet::rpc::UUID_PNIO_DEVICE = "dea00001-6c97-11d1-8271-00a02442df7d" |
| PROFINET IO-Device interface UUID. | |
| const std::string | profinet::rpc::UUID_PNIO_CONTROLLER = "dea00002-6c97-11d1-8271-00a02442df7d" |
| PROFINET IO-Controller interface UUID. | |
| constexpr std::uint32_t | profinet::rpc::PNIO_DEVICE_INTERFACE_VERSION = 1 |
| Interface version used for the PNIO device interface. | |
| constexpr std::uint32_t | profinet::rpc::EPM_LOOKUP = 0x02 |
| EPM operation: Lookup. | |
| constexpr std::uint32_t | profinet::rpc::EPM_INQUIRY_ALL = 0x00 |
| EPM inquiry type: all interfaces. | |
| constexpr std::uint32_t | profinet::rpc::EPM_INQUIRY_INTERFACE = 0x01 |
| EPM inquiry type: specific interface. | |
| constexpr double | profinet::rpc::DEFAULT_TIMEOUT = 5.0 |
| Default RPC response timeout in seconds. | |
| constexpr double | profinet::rpc::CONNECTION_TIMEOUT = 10.0 |
| Maximum idle time in seconds before an AR is considered to need re-connection. | |
| constexpr std::uint16_t | profinet::rpc::BLOCK_IOD_CONTROL_PRM_END_REQ = 0x0110 |
| Block type: IODControlReqPrmEnd. | |
| constexpr std::uint16_t | profinet::rpc::BLOCK_IOD_CONTROL_APP_READY_REQ = 0x0112 |
| Block type: IODControlReqAppReady. | |
| constexpr std::uint16_t | profinet::rpc::BLOCK_IOD_CONTROL_APP_READY_RES = 0x8112 |
| Block type: IODControlResAppReady. | |
| constexpr std::uint16_t | profinet::rpc::BLOCK_IOD_CONTROL_RT_CLASS_3_REQ = 0x0117 |
| Block type: IODControlReqRTClass3. | |
| constexpr std::uint16_t | profinet::rpc::BLOCK_PRM_BEGIN_REQ = 0x0118 |
| Block type: PrmBeginReq. | |
| constexpr std::uint16_t | profinet::rpc::BLOCK_RELEASE_REQ = 0x0114 |
| Block type: IODReleaseReq. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_PRM_END = 0x0001 |
| Control command bit: PrmEnd. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_APP_READY = 0x0002 |
| Control command bit: ApplicationReady. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_RELEASE = 0x0004 |
| Control command bit: Release. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_DONE = 0x0008 |
| Control command bit: Done. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_READY_FOR_COMPANION = 0x0010 |
| Control command bit: ReadyForCompanion. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_READY_FOR_RT_CLASS_3 = 0x0020 |
| Control command bit: ReadyForRTClass3. | |
| constexpr std::uint16_t | profinet::rpc::CONTROL_CMD_PRM_BEGIN = 0x0040 |
| Control command bit: PrmBegin. | |
Shared data types used by the PROFINET DCE/RPC layer.
Defines common data structures used used to describe IO configuration, IOCR setup, RPC connection results, record operations and Identification & Maintenance data. These types are kept separate from the RPC connection classes to avoid circular dependencies between the RPC interface and implementation headers.
Definition in file rpcTypes.h.