PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::io::IoSignalCatalog Class Reference

Builds and owns the logical sensor and actuator signals described by a GSDML device. More...

#include <IOSignal.h>

+ Collaboration diagram for profinet::io::IoSignalCatalog:

Public Member Functions

const std::vector< IoSignal > & Sensors () const noexcept
 Returns all non-reserved sensor/input signals.
 
const std::vector< IoSignal > & Actuators () const noexcept
 Returns all non-reserved actuator/output signals.
 
std::size_t Size () const noexcept
 Returns the total number of sensor and actuator signals.
 

Static Public Member Functions

static IoSignalCatalog FromGsdml (const gsdml::GSDMLDevice &device)
 Build a signal catalogue from a parsed GSDML device.
 

Private Attributes

std::vector< IoSignal > sensors
 
std::vector< IoSignal > actuators
 

Detailed Description

Builds and owns the logical sensor and actuator signals described by a GSDML device.

The catalogue is intentionally a pure transformation of a parsed gsdml::GSDMLDevice. It does not select a concrete runtime slot configuration and does not calculate an RTC1 frame offset.

Definition at line 185 of file IOSignal.h.

Member Function Documentation

◆ Actuators()

const std::vector< IoSignal > & profinet::io::IoSignalCatalog::Actuators ( ) const
noexcept

Returns all non-reserved actuator/output signals.

Definition at line 539 of file IOSignal.cpp.

References actuators.

Referenced by profinet::sim::VirtualPhoenixPlc::RequiredImageSize(), and profinet::sim::TEST().

+ Here is the caller graph for this function:

◆ FromGsdml()

IoSignalCatalog profinet::io::IoSignalCatalog::FromGsdml ( const gsdml::GSDMLDevice &  device)
static

Build a signal catalogue from a parsed GSDML device.

Parameters
deviceParsed GSDML device.
Returns
Catalogue containing all non-reserved input and output DataItems.
Exceptions
std::invalid_argumentIf the GSDML references a module or submodule that cannot be resolved.

Definition at line 470 of file IOSignal.cpp.

References actuators, profinet::gsdml::GSDMLDevice::moduleReferences, profinet::gsdml::GSDMLDevice::modules, and sensors.

Referenced by profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::io::TEST(), profinet::sim::TEST(), profinet::sim::TEST(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), profinet::gsdml::TEST_F(), and profinet::gsdml::TEST_F().

+ Here is the caller graph for this function:

◆ Sensors()

const std::vector< IoSignal > & profinet::io::IoSignalCatalog::Sensors ( ) const
noexcept

Returns all non-reserved sensor/input signals.

Definition at line 534 of file IOSignal.cpp.

References sensors.

Referenced by profinet::sim::VirtualPhoenixPlc::RequiredImageSize(), profinet::sim::TEST(), and profinet::sim::TEST().

+ Here is the caller graph for this function:

◆ Size()

std::size_t profinet::io::IoSignalCatalog::Size ( ) const
noexcept

Returns the total number of sensor and actuator signals.

Definition at line 544 of file IOSignal.cpp.

References actuators, and sensors.

Member Data Documentation

◆ actuators

std::vector<IoSignal> profinet::io::IoSignalCatalog::actuators
private

Definition at line 207 of file IOSignal.h.

Referenced by Actuators(), FromGsdml(), and Size().

◆ sensors

std::vector<IoSignal> profinet::io::IoSignalCatalog::sensors
private

Definition at line 206 of file IOSignal.h.

Referenced by FromGsdml(), Sensors(), and Size().


The documentation for this class was generated from the following files: