|
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/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... | |
| struct | profinet::rpc::EPMEndpoint |
| One RPC endpoint advertised by a device's Endpoint Mapper. 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::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::vector< EPMEndpoint > | profinet::rpc::EpmLookup (asio::io_context &ioContext, const std::string &ip, std::uint16_t port=RPC_PORT, double timeoutSec=DEFAULT_TIMEOUT, std::optional< std::string > interfaceFilter=std::nullopt) |
| Query a device's Endpoint Mapper for available RPC endpoints. | |
| dcp::DCPDeviceDescription | profinet::rpc::GetStationInfo (const EthernetSocket &sock, const MacAddress &src, const std::string &name, int timeoutSec=static_cast< int >(DEFAULT_TIMEOUT *2)) |
| Resolve a device by PROFINET station name via DCP. | |
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.
Ported from profinet-py's profinet/rpc.py.
Provides IO-Controller RPC functionality over UDP port 34964:
Not yet ported from rpc.py (left for a later pass – they depend on blocks.py/indices.py/diagnosis.py, which hadn't been ported yet when this module was first written): read_inm0filter, read_logbook, read_ar_info, enumerate_records, scan_slots.
Definition in file rpc.h.