|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Namespaces | |
| namespace | test |
Classes | |
| class | InMemoryEthernetBus |
| Small virtual Ethernet switch suitable for deterministic tests and demos. More... | |
| class | InMemoryEthernetSocket |
| Injectable raw-Ethernet endpoint attached to an in-memory bus. More... | |
| struct | VirtualAumaAlarmEvent |
| Captured alarm traffic produced by a virtual AUMA scenario. More... | |
| struct | VirtualAumaIocrConfiguration |
| Input and output RTC1 configurations used by the virtual AUMA peer. More... | |
| class | VirtualAumaValve |
| AUMA SGx application model that behaves as a real RTC1 peer in memory. More... | |
| struct | VirtualAumaValveConfiguration |
| Application-level signal mapping and motion settings for a virtual AUMA SGx. More... | |
| struct | VirtualPhoenixIoImage |
| Local Phoenix PLC process image derived from its GSDML signal layout. More... | |
| class | VirtualPhoenixPlc |
| Virtual Phoenix Contact AXC F 1252 controller hosting real CyclicController instances. More... | |
| struct | VirtualProfinetDeviceConfiguration |
| Configuration for a controller-facing virtual PROFINET device. More... | |
| class | VirtualProfinetLab |
| Owns one shared Ethernet bus plus any number of virtual PLCs and AUMA valves. More... | |
| class | VirtualProfinetRpcDevice |
| Stateful UDP PROFINET IO-Device protocol simulator. More... | |
Enumerations | |
| enum class | VirtualAumaScenario { Normal , Fault , BadIops , NoInput , SlowValve , Jammed , InvalidInput , DuplicateInput , OutOfOrderInput } |
| Deterministic operating and communication scenarios for a virtual AUMA valve. More... | |
| enum class | VirtualProfinetDeviceState { Idle , Connected , Parameterizing , Parameterized , ApplicationReady , Released , Fault } |
| Observable Application Relation state of the virtual device. More... | |
Functions | |
| VirtualAumaIocrConfiguration | MakeVirtualAumaIocrConfiguration (const gsdml::GSDMLDevice &device, std::uint16_t inputFrameId=0x9000, std::uint16_t outputFrameId=0x8001, std::uint16_t sendClockFactor=32, std::uint16_t reductionRatio=8, std::uint16_t watchdogFactor=3, std::uint16_t dataHoldFactor=3) |
| Build the standard two-module AUMA SGx process-data layout from its GSDML. | |
| const char * | ToString (VirtualAumaScenario scenario) noexcept |
| Convert a virtual AUMA scenario into its stable CLI spelling. | |
| const char * | ToString (VirtualProfinetDeviceState state) noexcept |
| Convert a simulator state to a stable diagnostic string. | |
| TEST (InMemoryEthernetRoutingTests, UnicastReachesOnlyMatchingEndpoint) | |
| TEST (InMemoryEthernetRoutingTests, BroadcastIsFloodedWithoutLoopback) | |
| TEST (InMemoryEthernetRoutingTests, MulticastIsFlooded) | |
| TEST (InMemoryEthernetRoutingTests, SameMacSocketsDoNotLoopBackTraffic) | |
| TEST (InMemoryEthernetSocketTests, ReceiveTimeoutReturnsEmptyFrame) | |
| TEST (InMemoryEthernetSocketTests, NegativeTimeoutThrows) | |
| TEST (InMemoryEthernetRoutingTests, ShortFrameThrows) | |
| TEST (InMemoryEthernetBusTests, ClearQueuesRemovesPendingFrames) | |
| TEST (InMemoryEthernetBusTests, EndpointDestructionDetachesSocket) | |
| TEST (VirtualAumaValveTests, StartsFromConfiguredGsdmlPosition) | |
| TEST (VirtualAumaValveTests, OpenCommandMovesValveToEndStop) | |
| TEST (VirtualAumaValveTests, RejectsFramesFromSecondController) | |
| TEST (VirtualAumaValveTests, SlowValveMovesButAtReducedSpeed) | |
| TEST (VirtualAumaValveTests, JammedPreventsMovement) | |
| TEST (VirtualAumaScenarioTests, JammedKeepsIopsGood) | |
| TEST (VirtualAumaScenarioTests, BadIopsStillEmitsCyclicFramesWithBadIops) | |
| TEST (VirtualAumaAlarmTests, RequestedScenariosExposeBothAlarmPaths) | |
| TEST (VirtualAumaAlarmTests, ThrowingAlarmCallbackDoesNotKillSimulator) | |
| TEST (VirtualAumaScenarioTests, NoInputSuppressesDeviceInputTraffic) | |
| TEST (VirtualAumaScenarioTests, InvalidInputClearsDataValidity) | |
| TEST (VirtualAumaScenarioTests, DuplicateInputProducesDuplicateCycleCounters) | |
| TEST (VirtualAumaScenarioTests, OutOfOrderInputProducesOutOfOrderCycles) | |
| TEST (VirtualAumaScenarioTests, EveryScenarioHasStableName) | |
| TEST (VirtualAumaValveTests, RejectsInvalidMotionConfiguration) | |
| TEST (VirtualRealGsdmlIntegrationTests, ParsesRealAumaGsdmlAndBuildsSignalCatalog) | |
| TEST (VirtualRealGsdmlIntegrationTests, ParsesRealPhoenixGsdmlAndBuildsSignalCatalog) | |
| TEST (VirtualRealGsdmlIntegrationTests, RunsRealAumaAndPhoenixThroughCyclicController) | |
| TEST (VirtualPhoenixPlcTests, BuildsGsdmlDerivedProcessImage) | |
| TEST (VirtualPhoenixPlcTests, LocalInputBytesRoundTrip) | |
| TEST (VirtualPhoenixPlcTests, LocalTypedValuesRoundTrip) | |
| TEST (VirtualPhoenixPlcTests, BitSignalsPreserveSiblingBits) | |
| TEST (VirtualPhoenixPlcTests, TypedValueValidationRejectsInvalidValues) | |
| TEST (VirtualPhoenixPlcTests, ConnectedControllerDrivesVirtualAuma) | |
| TEST (VirtualPhoenixPlcTests, BadIopsWithholdsInputData) | |
| TEST (VirtualPhoenixPlcTests, NoInputTriggersControllerWatchdog) | |
| TEST (VirtualPhoenixPlcTests, DisconnectAllowsReconnect) | |
| TEST (VirtualPhoenixPlcTests, DuplicateConnectionIsRejected) | |
| TEST (VirtualProfinetLabTests, RunsMultipleIndependentValvePlcPairs) | |
| TEST (VirtualProfinetLabTests, DuplicateNamesAreRejected) | |
| TEST (VirtualProfinetLabTests, DuplicateMacAddressesAreRejectedAcrossNodeTypes) | |
| TEST (VirtualProfinetLabTests, ScenarioChangeUpdatesDashboard) | |
|
strong |
Deterministic operating and communication scenarios for a virtual AUMA valve.
Definition at line 34 of file virtual_auma_valve.h.
|
strong |
Observable Application Relation state of the virtual device.
Definition at line 46 of file virtual_profinet_rpc_device.h.
| VirtualAumaIocrConfiguration profinet::sim::MakeVirtualAumaIocrConfiguration | ( | const gsdml::GSDMLDevice & | device, |
| std::uint16_t | inputFrameId = 0x9000, |
||
| std::uint16_t | outputFrameId = 0x8001, |
||
| std::uint16_t | sendClockFactor = 32, |
||
| std::uint16_t | reductionRatio = 8, |
||
| std::uint16_t | watchdogFactor = 3, |
||
| std::uint16_t | dataHoldFactor = 3 |
||
| ) |
Build the standard two-module AUMA SGx process-data layout from its GSDML.
The helper intentionally uses the AUMA GSDML module and submodule identifiers to obtain process-data lengths. The fixed AUMA placement is slot 1/subslot 1 for inputs and slot 2/subslot 1 for outputs. The returned frame offsets describe the process-data objects, not the logical signal offsets inside those objects.
| device | Parsed AUMA GSDML document. |
| inputFrameId | RTC1 frame ID used by the virtual device. |
| outputFrameId | RTC1 frame ID used by the virtual device. |
| sendClockFactor | Send-clock factor. |
| reductionRatio | Reduction ratio. |
| watchdogFactor | Watchdog factor. |
| dataHoldFactor | Data-hold factor. |
| std::invalid_argument | If the expected AUMA modules/submodules cannot be found. |
Definition at line 99 of file virtual_auma_config.cpp.
References profinet::rt::IOCRConfig::dataLength, profinet::gsdml::GSDMLDevice::FindModule(), profinet::rt::IOCRConfig::frameId, profinet::sim::VirtualAumaIocrConfiguration::input, profinet::rt::IOCR_TYPE_INPUT, profinet::rt::IOCR_TYPE_OUTPUT, profinet::rt::IOCRConfig::objects, profinet::sim::VirtualAumaIocrConfiguration::output, profinet::rt::IOCRConfig::reductionRatio, profinet::rt::IOCRConfig::referenceIOCR, profinet::rt::IOCRConfig::sendClockFactor, profinet::rt::IOCRConfig::typeIOCR, and profinet::rt::IOCRConfig::watchdogFactor.
Referenced by profinet::sim::test::MakeTestAumaIocrs(), and TEST().
Here is the call graph for this function:
Here is the caller graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetBusTests | , |
| ClearQueuesRemovesPendingFrames | |||
| ) |
Definition at line 161 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::ClearQueues(), profinet::sim::InMemoryEthernetBus::CreateSocket(), and profinet::sim::InMemoryEthernetBus::EndpointCount().
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetBusTests | , |
| EndpointDestructionDetachesSocket | |||
| ) |
Definition at line 177 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket(), and profinet::sim::InMemoryEthernetBus::EndpointCount().
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetRoutingTests | , |
| BroadcastIsFloodedWithoutLoopback | |||
| ) |
Definition at line 70 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket(), and frame.
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetRoutingTests | , |
| MulticastIsFlooded | |||
| ) |
Definition at line 91 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket(), and frame.
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetRoutingTests | , |
| SameMacSocketsDoNotLoopBackTraffic | |||
| ) |
Definition at line 111 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket(), frame, rx, and tx.
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetRoutingTests | , |
| ShortFrameThrows | |||
| ) |
Definition at line 152 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket().
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetRoutingTests | , |
| UnicastReachesOnlyMatchingEndpoint | |||
| ) |
Definition at line 51 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket(), and frame.
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetSocketTests | , |
| NegativeTimeoutThrows | |||
| ) |
Definition at line 143 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket().
Here is the call graph for this function:| profinet::sim::TEST | ( | InMemoryEthernetSocketTests | , |
| ReceiveTimeoutReturnsEmptyFrame | |||
| ) |
Definition at line 129 of file test_in_memory_ethernetMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaAlarmTests | , |
| RequestedScenariosExposeBothAlarmPaths | |||
| ) |
Definition at line 357 of file test_virtual_auma_valveMore.cpp.
References profinet::sim::VirtualAumaAlarmEvent::alarmNotificationFrame, BadIops, profinet::sim::InMemoryEthernetBus::CreateSocket(), Fault, frame, profinet::rt::FRAME_ID_ALARM_LOW, Jammed, NoInput, Normal, profinet::sim::VirtualAumaValve::OnAlarm(), profinet::sim::VirtualAumaValve::OutputProcessData(), profinet::ParseAlarmNotification(), pduType, profinet::sim::VirtualAumaAlarmEvent::rtaErrorFrame, profinet::sim::VirtualAumaValve::SetScenario(), SlowValve, profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaAlarmTests | , |
| ThrowingAlarmCallbackDoesNotKillSimulator | |||
| ) |
Definition at line 459 of file test_virtual_auma_valveMore.cpp.
References profinet::sim::InMemoryEthernetBus::CreateSocket(), Fault, profinet::sim::VirtualAumaValve::FaultActive(), profinet::sim::VirtualAumaValve::OnAlarm(), profinet::sim::VirtualAumaValve::OutputProcessData(), profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| BadIopsStillEmitsCyclicFramesWithBadIops | |||
| ) |
Definition at line 319 of file test_virtual_auma_valveMore.cpp.
References BadIops, profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, frame, profinet::rt::RTFrame::frameId, profinet::sim::VirtualAumaValve::OnFrame(), payload, profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| DuplicateInputProducesDuplicateCycleCounters | |||
| ) |
Definition at line 570 of file test_virtual_auma_valveMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionStats(), DuplicateInput, ioContext, profinet::sim::test::MakePhoenixGsdml(), profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| EveryScenarioHasStableName | |||
| ) |
Definition at line 638 of file test_virtual_auma_valveMore.cpp.
References BadIops, DuplicateInput, Fault, InvalidInput, Jammed, NoInput, Normal, OutOfOrderInput, SlowValve, and ToString().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| InvalidInputClearsDataValidity | |||
| ) |
Definition at line 519 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::RTFrame::cycleCounter, profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, profinet::rt::RTFrame::dataStatus, frame, profinet::rt::RTFrame::frameId, InvalidInput, mutex, profinet::sim::VirtualAumaValve::OnFrame(), profinet::rt::ParseEthernetFrame(), profinet::rt::RTFrame::payload, profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| JammedKeepsIopsGood | |||
| ) |
Definition at line 270 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, frame, profinet::rt::RTFrame::frameId, profinet::rt::IOXS_GOOD, Jammed, profinet::rt::ParseEthernetFrame(), payload, profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| NoInputSuppressesDeviceInputTraffic | |||
| ) |
Definition at line 487 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, frame, profinet::rt::RTFrame::frameId, NoInput, payload, profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaScenarioTests | , |
| OutOfOrderInputProducesOutOfOrderCycles | |||
| ) |
Definition at line 604 of file test_virtual_auma_valveMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionStats(), ioContext, profinet::sim::test::MakePhoenixGsdml(), OutOfOrderInput, profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaValveTests | , |
| JammedPreventsMovement | |||
| ) |
Definition at line 238 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, profinet::sim::VirtualAumaValve::FaultActive(), frame, profinet::rt::RTFrame::frameId, Jammed, payload, profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaValveTests | , |
| OpenCommandMovesValveToEndStop | |||
| ) |
Definition at line 122 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, frame, profinet::rt::RTFrame::frameId, profinet::sim::VirtualAumaValveConfiguration::initialPosition, profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaValveTests | , |
| RejectsFramesFromSecondController | |||
| ) |
Definition at line 165 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::RTFrame::cycleCounter, profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, profinet::rt::RTFrame::dataStatus, profinet::rt::RTFrame::frameId, profinet::sim::VirtualAumaValve::OutputProcessData(), profinet::rt::RTFrame::payload, profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::rt::RTFrame::transferStatus.
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaValveTests | , |
| RejectsInvalidMotionConfiguration | |||
| ) |
Definition at line 652 of file test_virtual_auma_valveMore.cpp.
References profinet::sim::VirtualAumaValveConfiguration::travelUnitsPerSecond.
| profinet::sim::TEST | ( | VirtualAumaValveTests | , |
| SlowValveMovesButAtReducedSpeed | |||
| ) |
Definition at line 205 of file test_virtual_auma_valveMore.cpp.
References profinet::rt::BuildEthernetFrame(), profinet::sim::InMemoryEthernetBus::CreateSocket(), profinet::rt::DATA_STATUS_PROVIDER_RUN, profinet::rt::DATA_STATUS_STATE, profinet::rt::DATA_STATUS_STATION_OK, profinet::rt::DATA_STATUS_VALID, frame, profinet::rt::RTFrame::frameId, payload, profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualAumaValve::SetScenario(), SlowValve, profinet::sim::VirtualAumaValve::Start(), and profinet::sim::VirtualAumaValve::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualAumaValveTests | , |
| StartsFromConfiguredGsdmlPosition | |||
| ) |
Definition at line 104 of file test_virtual_auma_valveMore.cpp.
References Normal, profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualAumaValve::Scenario(), profinet::io::IoSignalCatalog::Sensors(), profinet::sim::VirtualAumaValve::SignalCatalog(), and profinet::sim::VirtualAumaValve::TargetPosition().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| BadIopsWithholdsInputData | |||
| ) |
Definition at line 173 of file test_virtual_phoenix_plcMore.cpp.
References BadIops, profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionStats(), ioContext, profinet::sim::VirtualPhoenixPlc::ReadInput(), profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| BitSignalsPreserveSiblingBits | |||
| ) |
Definition at line 93 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::GetLocalOutputBytes(), profinet::sim::VirtualPhoenixPlc::SetLocalOutputBytes(), and profinet::sim::VirtualPhoenixPlc::SetLocalOutputValue().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| BuildsGsdmlDerivedProcessImage | |||
| ) |
Definition at line 46 of file test_virtual_phoenix_plcMore.cpp.
References profinet::io::IoSignalCatalog::Actuators(), profinet::sim::VirtualPhoenixPlc::ConnectionCount(), profinet::sim::VirtualPhoenixPlc::GetLocalInputBytes(), profinet::io::IoSignalCatalog::Sensors(), and profinet::sim::VirtualPhoenixPlc::SignalCatalog().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| ConnectedControllerDrivesVirtualAuma | |||
| ) |
Definition at line 128 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionCount(), profinet::sim::VirtualPhoenixPlc::ConnectionState(), ioContext, profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualPhoenixPlc::ReadInput(), profinet::cyclic::Running, profinet::sim::VirtualPhoenixPlc::SetOutput(), profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| DisconnectAllowsReconnect | |||
| ) |
Definition at line 256 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionCount(), profinet::sim::VirtualPhoenixPlc::ConnectionState(), profinet::sim::VirtualPhoenixPlc::Disconnect(), ioContext, profinet::cyclic::Running, profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| DuplicateConnectionIsRejected | |||
| ) |
Definition at line 293 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionCount(), ioContext, profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| LocalInputBytesRoundTrip | |||
| ) |
Definition at line 58 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::GetLocalInputBytes(), and profinet::sim::VirtualPhoenixPlc::SetLocalInputBytes().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| LocalTypedValuesRoundTrip | |||
| ) |
Definition at line 71 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::GetLocalInputValue(), profinet::sim::VirtualPhoenixPlc::GetLocalOutputValue(), profinet::sim::VirtualPhoenixPlc::SetLocalInputValue(), and profinet::sim::VirtualPhoenixPlc::SetLocalOutputValue().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| NoInputTriggersControllerWatchdog | |||
| ) |
Definition at line 212 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionState(), profinet::sim::VirtualPhoenixPlc::ConnectionStats(), profinet::cyclic::Fault, ioContext, NoInput, profinet::sim::VirtualAumaValve::SetScenario(), profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualPhoenixPlcTests | , |
| TypedValueValidationRejectsInvalidValues | |||
| ) |
Definition at line 114 of file test_virtual_phoenix_plcMore.cpp.
References profinet::sim::VirtualPhoenixPlc::SetLocalInputValue(), and profinet::sim::VirtualPhoenixPlc::SetLocalOutputValue().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualProfinetLabTests | , |
| DuplicateMacAddressesAreRejectedAcrossNodeTypes | |||
| ) |
Definition at line 128 of file test_virtual_pn_labMore.cpp.
References profinet::sim::VirtualProfinetLab::AddAumaValve(), profinet::sim::VirtualProfinetLab::AddPhoenixPlc(), profinet::sim::VirtualProfinetLab::PlcNames(), and profinet::sim::VirtualProfinetLab::ValveNames().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualProfinetLabTests | , |
| DuplicateNamesAreRejected | |||
| ) |
Definition at line 108 of file test_virtual_pn_labMore.cpp.
References profinet::sim::VirtualProfinetLab::AddAumaValve(), and profinet::sim::VirtualProfinetLab::AddPhoenixPlc().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualProfinetLabTests | , |
| RunsMultipleIndependentValvePlcPairs | |||
| ) |
Definition at line 63 of file test_virtual_pn_labMore.cpp.
References profinet::sim::VirtualProfinetLab::Bus(), profinet::sim::InMemoryEthernetBus::EndpointCount(), profinet::sim::VirtualProfinetLab::Plc(), profinet::sim::VirtualProfinetLab::PlcNames(), profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualPhoenixPlc::ReadInput(), profinet::sim::VirtualPhoenixPlc::SetOutput(), profinet::sim::VirtualProfinetLab::Stop(), profinet::sim::VirtualProfinetLab::Valve(), and profinet::sim::VirtualProfinetLab::ValveNames().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualProfinetLabTests | , |
| ScenarioChangeUpdatesDashboard | |||
| ) |
Definition at line 144 of file test_virtual_pn_labMore.cpp.
References profinet::sim::VirtualProfinetLab::AddAumaValve(), profinet::sim::VirtualProfinetLab::AddPhoenixPlc(), profinet::sim::VirtualProfinetLab::Connect(), ioContext, Jammed, profinet::sim::VirtualAumaValve::Scenario(), profinet::sim::VirtualProfinetLab::SetAumaScenario(), profinet::sim::VirtualProfinetLab::StatusReport(), profinet::sim::VirtualProfinetLab::Stop(), and profinet::sim::VirtualProfinetLab::Valve().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualRealGsdmlIntegrationTests | , |
| ParsesRealAumaGsdmlAndBuildsSignalCatalog | |||
| ) |
Definition at line 92 of file test_virtual_gsdmlIntegrationMore.cpp.
References profinet::io::IoSignalCatalog::FromGsdml(), and profinet::gsdml::ParseGsdml().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualRealGsdmlIntegrationTests | , |
| ParsesRealPhoenixGsdmlAndBuildsSignalCatalog | |||
| ) |
Definition at line 116 of file test_virtual_gsdmlIntegrationMore.cpp.
References profinet::io::IoSignalCatalog::FromGsdml(), and profinet::gsdml::ParseGsdml().
Here is the call graph for this function:| profinet::sim::TEST | ( | VirtualRealGsdmlIntegrationTests | , |
| RunsRealAumaAndPhoenixThroughCyclicController | |||
| ) |
Definition at line 134 of file test_virtual_gsdmlIntegrationMore.cpp.
References profinet::sim::VirtualPhoenixPlc::Connect(), profinet::sim::VirtualPhoenixPlc::ConnectionStats(), ioContext, profinet::sim::test::kControllerMac, profinet::sim::test::kValveMac, MakeVirtualAumaIocrConfiguration(), profinet::gsdml::ParseGsdml(), profinet::sim::VirtualAumaValve::Position(), profinet::sim::VirtualPhoenixPlc::ReadInput(), profinet::sim::VirtualPhoenixPlc::SetOutput(), profinet::sim::VirtualAumaValve::Start(), profinet::sim::VirtualAumaValve::Stop(), and profinet::sim::VirtualPhoenixPlc::Stop().
Here is the call graph for this function:
|
noexcept |
Convert a virtual AUMA scenario into its stable CLI spelling.
| scenario | Scenario to convert. |
Definition at line 141 of file virtual_auma_valve.cpp.
References BadIops, DuplicateInput, Fault, InvalidInput, Jammed, NoInput, Normal, OutOfOrderInput, and SlowValve.
Referenced by profinet::sim::VirtualPhoenixPlc::StatusReport(), profinet::sim::VirtualProfinetLab::StatusReport(), and TEST().
Here is the caller graph for this function:
|
noexcept |
Convert a simulator state to a stable diagnostic string.
Definition at line 41 of file virtual_profinet_rpc_device.cpp.
References ApplicationReady, Connected, Fault, Idle, Parameterized, Parameterizing, and Released.