PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::sim::VirtualProfinetDeviceConfiguration Struct Reference

Configuration for a controller-facing virtual PROFINET device. More...

#include <virtual_profinet_rpc_device.h>

+ Collaboration diagram for profinet::sim::VirtualProfinetDeviceConfiguration:

Public Attributes

std::uint16_t rpcPort = 34965
 UDP port on which the virtual device accepts controller RPC.
 
std::uint16_t controllerCcontrolPort = rpc::RPC_PORT
 Controller CControl listener port used for ApplicationReady.
 
std::string controllerAddress = "127.0.0.1"
 Controller loopback address used for ApplicationReady.
 
std::string stationName = "valve2"
 Station name reported by the virtual device.
 
MacAddress deviceMac {0xA0, 0xD3, 0x85, 0x00, 0xF6, 0x13}
 Device MAC address used by the virtual device model.
 
std::uint16_t vendorId = 0x013F
 PROFINET vendor identifier.
 
std::uint16_t deviceId = 0x0002
 PROFINET device identifier.
 
std::chrono::milliseconds applicationReadyDelay {10}
 Delay between accepting PrmEnd and sending ApplicationReady.
 
std::uint16_t inputFrameId = 0xC000
 Frame ID returned for the input IOCR.
 
std::uint16_t outputFrameId = 0xC001
 Frame ID returned for the output IOCR.
 
std::uint16_t deviceAlarmReference = 42
 Alarm reference returned by the device when AlarmCR is supported.
 
bool requireBothIocrs = true
 Require an Input and Output IOCR when CONNECT contains cyclic data.
 
bool requireExpectedSubmodules = true
 Require ExpectedSubmoduleBlockReq in cyclic CONNECT requests.
 
bool requireAlarmCr = true
 Require AlarmCR when cyclic CONNECT is requested.
 
bool automaticApplicationReady = true
 Automatically send ApplicationReady after PrmEnd.
 

Detailed Description

Configuration for a controller-facing virtual PROFINET device.

Definition at line 69 of file virtual_profinet_rpc_device.h.

Member Data Documentation

◆ applicationReadyDelay

std::chrono::milliseconds profinet::sim::VirtualProfinetDeviceConfiguration::applicationReadyDelay {10}

Delay between accepting PrmEnd and sending ApplicationReady.

Definition at line 97 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::ScheduleApplicationReady().

◆ automaticApplicationReady

bool profinet::sim::VirtualProfinetDeviceConfiguration::automaticApplicationReady = true

Automatically send ApplicationReady after PrmEnd.

Definition at line 118 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::HandleControl().

◆ controllerAddress

std::string profinet::sim::VirtualProfinetDeviceConfiguration::controllerAddress = "127.0.0.1"

Controller loopback address used for ApplicationReady.

Definition at line 82 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::SendApplicationReady().

◆ controllerCcontrolPort

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::controllerCcontrolPort = rpc::RPC_PORT

Controller CControl listener port used for ApplicationReady.

Definition at line 79 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::SendApplicationReady().

◆ deviceAlarmReference

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::deviceAlarmReference = 42

Alarm reference returned by the device when AlarmCR is supported.

Definition at line 106 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::HandleConnect().

◆ deviceId

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::deviceId = 0x0002

PROFINET device identifier.

Definition at line 94 of file virtual_profinet_rpc_device.h.

◆ deviceMac

MacAddress profinet::sim::VirtualProfinetDeviceConfiguration::deviceMac {0xA0, 0xD3, 0x85, 0x00, 0xF6, 0x13}

Device MAC address used by the virtual device model.

Definition at line 88 of file virtual_profinet_rpc_device.h.

◆ inputFrameId

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::inputFrameId = 0xC000

Frame ID returned for the input IOCR.

Definition at line 100 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::HandleConnect().

◆ outputFrameId

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::outputFrameId = 0xC001

Frame ID returned for the output IOCR.

Definition at line 103 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::HandleConnect().

◆ requireAlarmCr

bool profinet::sim::VirtualProfinetDeviceConfiguration::requireAlarmCr = true

Require AlarmCR when cyclic CONNECT is requested.

Definition at line 115 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::ValidateConnect().

◆ requireBothIocrs

bool profinet::sim::VirtualProfinetDeviceConfiguration::requireBothIocrs = true

Require an Input and Output IOCR when CONNECT contains cyclic data.

Definition at line 109 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::ValidateConnect().

◆ requireExpectedSubmodules

bool profinet::sim::VirtualProfinetDeviceConfiguration::requireExpectedSubmodules = true

Require ExpectedSubmoduleBlockReq in cyclic CONNECT requests.

Definition at line 112 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::ValidateConnect().

◆ rpcPort

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::rpcPort = 34965

UDP port on which the virtual device accepts controller RPC.

The production device normally uses 34964. On the same Linux host this simulator uses another port because RPCCon currently binds its CControl listener to 34964 on INADDR_ANY.

Definition at line 76 of file virtual_profinet_rpc_device.h.

Referenced by profinet::sim::VirtualProfinetRpcDevice::RpcPort(), profinet::sim::VirtualProfinetRpcDevice::Start(), and profinet::sim::VirtualProfinetRpcDevice::WakeWorker().

◆ stationName

std::string profinet::sim::VirtualProfinetDeviceConfiguration::stationName = "valve2"

Station name reported by the virtual device.

Definition at line 85 of file virtual_profinet_rpc_device.h.

◆ vendorId

std::uint16_t profinet::sim::VirtualProfinetDeviceConfiguration::vendorId = 0x013F

PROFINET vendor identifier.

Definition at line 91 of file virtual_profinet_rpc_device.h.


The documentation for this struct was generated from the following file: