|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
PROFINET DCE/RPC protocol structures and IO-Device connection API. More...
#include <array>#include <asio.hpp>#include <chrono>#include <cstdint>#include <map>#include <optional>#include <string>#include <vector>#include "profinet/AsioIoContextRunner.h"#include "profinet/IRPCCon.h"#include "profinet/blocks.h"#include "profinet/dcp.h"#include "profinet/diagnosis.h"#include "profinet/exceptions.h"#include "profinet/indices.h"#include "profinet/protocol.h"#include "profinet/rpcTransport.h"#include "profinet/rpcTypes.h"#include "profinet/util.h"
Include dependency graph for rpc.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | profinet::rpc::BlockHeaderView |
| Generic block header (type + length) used to scan response blocks. More... | |
| class | profinet::rpc::RPCCon |
| Connection to a PROFINET IO-Device: establishes an AR (Application Relationship) and performs acyclic read/write and CONTROL operations. More... | |
Namespaces | |
| namespace | profinet |
| namespace | profinet::rpc |
Functions | |
| BlockHeaderView | profinet::rpc::PeekBlockHeader (const Bytes &data, std::size_t offset) |
| std::array< std::uint8_t, uuidLenght > | profinet::rpc::BuildObjectUuid (std::uint8_t b10, std::uint8_t b11, std::uint8_t b12, std::uint8_t b13, std::uint8_t b14, std::uint8_t b15) |
| Builds a PROFINET object UUID. | |
| std::string | profinet::rpc::UuidBytesToString (const std::array< std::uint8_t, uuidLenght > &data) |
| Format a 16-byte DCE/RPC UUID as a canonical string. | |
| std::array< std::uint8_t, uuidLenght > | profinet::rpc::StringToUuidBytes (const std::string &uuidStr) |
| Parse a canonical UUID string into 16 raw DCE/RPC UUID bytes. | |
| std::optional< EPMEndpoint > | profinet::rpc::ParseEpmTower (const Bytes &towerData) |
| Parses a DCE/RPC EPM tower into a PROFINET endpoint. | |
| dcp::DCPDeviceDescription | profinet::rpc::GetStationInfo (IRawEthernetSocket &sock, const MacAddress &src, const std::string &name, double timeoutSec=DEFAULT_TIMEOUT *2) |
| Resolve a device by PROFINET station name via DCP. | |
Variables | |
| constexpr std::uint8_t | profinet::rpc::VERSION_HIGH = 0x01 |
| Version high. | |
| constexpr std::uint8_t | profinet::rpc::VERSION_LOW = 0x00 |
| Version low. | |
PROFINET DCE/RPC protocol structures and IO-Device connection API.
Defines RPC packet structures, Endpoint Mapper support, IOCR configuration, and the RPCCon interface used to establish and operate a PROFINET Application Relationship with an IO-Device.
Provides IO-Controller RPC functionality over UDP port 34964:
Definition in file rpc.h.