490enum class Usi : std::uint16_t
624inline constexpr std::uint16_t
IM0 = 0xAFF0;
626inline constexpr std::uint16_t
IM1 = 0xAFF1;
628inline constexpr std::uint16_t
IM2 = 0xAFF2;
630inline constexpr std::uint16_t
IM3 = 0xAFF3;
632inline constexpr std::uint16_t
IM4 = 0xAFF4;
634inline constexpr std::uint16_t
IM5 = 0xAFF5;
636inline constexpr std::uint16_t
IM6 = 0xAFF6;
638inline constexpr std::uint16_t
IM7 = 0xAFF7;
640inline constexpr std::uint16_t
IM8 = 0xAFF8;
642inline constexpr std::uint16_t
IM9 = 0xAFF9;
644inline constexpr std::uint16_t
IM10 = 0xAFFA;
646inline constexpr std::uint16_t
IM11 = 0xAFFB;
648inline constexpr std::uint16_t
IM12 = 0xAFFC;
650inline constexpr std::uint16_t
IM13 = 0xAFFD;
652inline constexpr std::uint16_t
IM14 = 0xAFFE;
654inline constexpr std::uint16_t
IM15 = 0xAFFF;
732inline constexpr std::uint16_t
AR_DATA = 0xF820;
864inline constexpr std::uint16_t
AM_DATA = 0xFBF0;
964std::string
GetScope(std::uint16_t index);
constexpr std::uint16_t PD_PORT_DATA_REAL
PD Port Data Real.
constexpr std::uint16_t MAINT_DEMANDED_CHANNEL_SUBSLOT
MAINT Demanded Channel Subslot.
@ AlarmCrResponse
AlarmCRBlock response.
constexpr std::uint16_t PD_PORT_MRP_DATA_ADJUST
PD Port MRP Data Adjust.
constexpr std::uint16_t AR_DATA
AR Data.
constexpr std::uint16_t DIAG_DEVICE
DIAG Device.
BlockType
PROFINET block types.
@ PortDataRealExtended
PD Port Data Real Extended block.
@ MrpRingStateData
MRP Ring State Data block.
@ IoCrRequest
IOCR block request.
@ SubmoduleList
Submodule list block.
@ PortDataCheck
PD Port Data Check block.
@ IdentificationMaintenance2
I&M2 block.
@ ExpectedProcessData
PD Expected Data block.
@ IdentificationMaintenance4
I&M4 block.
@ ControlPrmEndRequest
IOD Control Prm End request.
@ RealIdentificationDataApi
Real Identification Data API block.
@ InterfaceMrpDataAdjust
PD Interface MRP Data Adjust block.
@ AlarmAcknowledgementLow
Alarm acknowledgement low block.
@ IoDataReadResponse
IOD read response block.
@ PortFoDataReal
PD Port FO Data Real block.
@ ApplicationRelationRequest
AR block request.
@ IdentificationMaintenance14
I&M14 block.
@ AlarmAcknowledgementHigh
Alarm acknowledgement high block.
@ IdentificationMaintenance13
I&M13 block.
@ ControlPrmEndResponse
IOD Control Prm End response.
@ IdentificationMaintenance10
I&M10 block.
@ PortMrpDataReal
PD Port MRP Data Real block.
@ PortStatistics
PD Port Statistic block.
@ AlarmNotificationHigh
Alarm notification high block.
@ ModuleDifference
Module difference block.
@ ReleaseResponse
IOD Release response.
@ IdentificationMaintenance11
I&M11 block.
@ ControlRtClass3Request
IOD Control RT Class 3 request.
@ IdentificationMaintenance7
I&M7 block.
@ ExpectedIdentificationData
Expected identification data block.
@ PortFoDataCheck
PD Port FO Data Check block.
@ IdentificationMaintenance6
I&M6 block.
@ PortDataReal
PD Port Data Real block.
@ ExpectedSubmoduleRequest
Expected submodule block request.
@ AlarmCrRequest
AlarmCR block request.
@ ReleaseRequest
IOD Release request.
@ IdentificationMaintenance3
I&M3 block.
@ ContainerContent
CO Container Content block.
@ DiagnosisData
Diagnosis data block.
@ IdentificationMaintenance8
I&M8 block.
@ ControlApplicationReadyRequest
IOD Control Application Ready request.
@ ApplicationRelationServer
AR Server Block.
@ IdentificationMaintenance1
I&M1 block.
@ IdentificationMaintenance12
I&M12 block.
@ ApplicationRelationResponse
AR block response.
@ RealProcessData
PD Real Data block.
@ IoCrResponse
IOCR block response.
@ ParameterizationBeginRequest
Parameterization Begin request.
@ IoDataWriteResponse
IOD write response block.
@ ParameterizationBeginResponse
Parameterization Begin response.
@ ApplicationRelationData
ARData block.
@ InterfaceMrpDataReal
PD Interface MRP Data Real block.
@ IoDataWriteRequest
IOD write request block.
@ ControlApplicationReadyResponse
IOD Control Application Ready response.
@ RealIdentificationData
Real identification data block.
@ IoDataReadRequest
IOD read request block.
@ PortDataAdjust
PD Port Data Adjust block.
@ PortDataInterfaceDataReal
PD Interface Data Real block.
@ IdentificationMaintenance15
I&M15 block.
@ PortFoDataAdjust
PD Port FO Data Adjust block.
@ MultipleHeader
Multiple Header block.
@ IdentificationMaintenance0
I&M0 block.
@ ControlRtClass3Response
IOD Control RT Class 3 response.
@ AlarmNotificationLow
Alarm notification low block.
@ IdentificationMaintenance9
I&M9 block.
@ IdentificationMaintenance5
I&M5 block.
constexpr std::uint8_t ALARM_TRANSPORT_RTA_CLASS_UDP
ALARM Cr Type ALARM.
constexpr std::uint16_t F_PRM_FLAG1
F Prm Flag1.
constexpr std::uint16_t DIAG_ALL_API
DIAG All API.
const IndexNamePairs & DiagnosisIndices(const std::string &scope)
Diagnosis indices for a given addressing scope.
constexpr std::uint8_t PE_MODE_ENERGY_SAVING_MAX
PE Mode Energy Saving Max.
const IndexNamePairs & CriticalIndices()
Critical indices that should always be tested.
constexpr std::uint16_t SUBSTITUTE_VALUES
Substitute Values.
constexpr std::uint16_t MAINT_DEMANDED_ALL_SUBSLOT
MAINT Demanded All Subslot.
constexpr std::uint16_t EXPECTED_ID_AR
Expected ID AR.
constexpr std::uint16_t SUBSLOT_PORT1
Subslot Port1.
constexpr std::uint16_t PD_TIME_DATA
PD Time Data.
std::string GetIocrRtClassName(IocrRtClass rtClass)
Get the human-readable name for an IOCR real-time class.
std::string GetScope(std::uint16_t index)
Get the addressing scope for an index.
constexpr std::uint16_t F_PARAMETER_READ
F Parameter Read.
std::string GetSubmoduleStateName(std::uint16_t state)
Get the human-readable name for a submodule state.
constexpr std::uint16_t PD_PORT_MRP_IC_DATA_REAL
PD Port MRP IC Data Real.
constexpr std::uint16_t SUBSLOT_PORT2
Subslot Port2.
constexpr std::uint8_t PE_MODE_POWER_OFF
PE Mode Power Off.
constexpr std::uint16_t PD_SYNC_DATA
PD Sync Data.
constexpr std::uint16_t AR_FSU_DATA_ADJUST
AR FSU Data Adjust.
std::string GetModuleStateName(std::uint16_t state)
Get the human-readable name for a module state.
constexpr std::uint16_t PD_REAL_DATA
PD Real Data.
constexpr std::uint16_t SUBMODULE_STATE_APPLICATION_READY_PENDING
Submodule State Application Ready Pending.
constexpr std::uint16_t IM8
I&M8.
constexpr std::uint16_t DIAG_ALL_AR
DIAG All AR.
constexpr std::uint16_t MODULE_DIFF_BLOCK
Module Diff Block.
std::string GetBlockTypeName(BlockType blockType)
Get the human-readable name for a block type.
constexpr std::uint16_t PD_INTERFACE_ADJUST
PD Interface Adjust.
AlarmType
PROFINET Alarm Types used in AlarmNotification blocks.
@ IsochronousModeProblem
Isochronous mode problem alarm.
@ MulticastMismatch
Multicast mismatch alarm.
@ PlugWrongSubmodule
Plug wrong submodule alarm.
@ DfpProblem
DFP problem alarm.
@ ReturnOfSubmodule
Return of submodule alarm.
@ Diagnosis
Diagnosis alarm.
@ PortDataChange
Port data change alarm.
@ SyncDataChanged
Sync data changed alarm.
@ ControlledBySupervisor
Controlled by supervisor alarm.
@ NetworkComponentProblem
Network component problem alarm.
@ Released
Released alarm.
@ TimeDataChanged
Time data changed alarm.
@ Redundancy
Redundancy alarm.
@ PullModule
Pull module alarm.
@ UploadRetrieval
Upload retrieval alarm.
@ DiagnosisDisappears
Diagnosis disappears alarm.
constexpr std::uint16_t DIAG_MAINTENANCE_SUBSLOT
DIAG Maintenance Subslot.
constexpr std::uint16_t PD_PORT_MRP_IC_DATA_CHECK
PD Port MRP IC Data Check.
constexpr std::uint16_t SUBMODULE_STATE_NO_SUBMODULE
Submodule State No Submodule.
constexpr std::uint16_t F_PARAMETER_BLOCK
F Parameter Block.
constexpr std::uint16_t AM_FULL_INFO
AM Full Info.
const IndexNamePairs & AllStandardIndices()
Union of every standard index category.
std::string GetUsiName(Usi usi)
Get the human-readable name for a User Structure Identifier.
constexpr std::uint16_t MAINT_REQUIRED_ALL_SUBSLOT
MAINT Required All Subslot.
constexpr std::uint16_t AR_TYPE_IOCARSR
AR Type Iocarsr.
constexpr std::uint16_t IM6
I&M6.
IocrType
PROFINET IOCR types.
@ MulticastConsumer
Multicast consumer IOCR.
@ MulticastProvider
Multicast provider IOCR.
constexpr std::uint16_t IM2
I&M2.
constexpr std::uint16_t IM10
I&M10.
std::string GetPeModeName(std::uint8_t mode)
Get the human-readable name for a PROFIenergy operational mode.
constexpr std::uint16_t IM0
I&M0.
constexpr std::uint16_t AM_LOCATION_SLOT
AM Location Slot.
constexpr std::uint16_t PD_PORT_MRP_DATA_REAL
PD Port MRP Data Real.
ControlCommand
PROFINET IOD control command values.
@ ApplicationReady
Application Ready command.
@ ReadyForCompanion
Ready for Companion command.
@ Unknown
Unknown / Initialize value.
@ Release
Release command.
@ ReadyForRtClass3
Ready for RT Class 3 command.
@ PrmBegin
Prm Begin command.
std::vector< std::pair< std::uint16_t, std::string > > IndexNamePairs
(index, name) pairs, e.g. for building a "try each of these" scan.
constexpr std::uint16_t SUBMODULE_STATE_WRONG_SUBMODULE
Submodule State Wrong Submodule.
constexpr std::uint16_t DIAG_CHANNEL_API
DIAG Channel API.
constexpr std::uint16_t EXPECTED_ID_SUBSLOT
Expected ID Subslot.
constexpr std::uint16_t DIAG_CHANNEL_SLOT
DIAG Channel Slot.
constexpr std::uint16_t DIAG_ALL_SLOT
DIAG All Slot.
constexpr std::uint8_t PE_MODE_SLEEP_MODE_WOL
PE Mode Sleep Mode WOL.
constexpr std::uint16_t IM15
I&M15.
std::string GetIocrTypeName(IocrType iocrType)
Get the human-readable name for an IOCR type.
constexpr std::uint16_t DIAG_MAINTENANCE_AR
DIAG Maintenance AR.
constexpr std::uint16_t IM1
I&M1.
constexpr std::uint16_t PD_INTERFACE_FSU_ADJUST
PD Interface FSU Adjust.
constexpr std::uint16_t MODULE_STATE_SUBSTITUTE_MODULE
Module State Substitute Module.
constexpr std::uint16_t MODULE_STATE_PROPER_MODULE
Module State Proper Module.
constexpr std::uint16_t REAL_ID_API
Real ID API.
constexpr std::uint16_t DIAG_CHANNEL_AR
DIAG Channel AR.
const IndexNamePairs & DeviceIndices()
Device-level indices.
constexpr std::uint16_t RECORD_INPUT_DATA
Record Input Data.
constexpr std::uint16_t LOG_DATA
Log Data.
constexpr std::uint16_t PD_PORT_FO_DATA_REAL
PD Port FO Data Real.
constexpr std::uint16_t IM4
I&M4.
constexpr std::uint16_t PD_IR_DATA
PD IR Data.
const IndexNamePairs & ImIndices()
I&M0-I&M15 indices.
constexpr std::uint16_t PD_IR_SUBFRAME_DATA
PD IR Subframe Data.
constexpr std::uint16_t PD_PORT_SFP_DATA_CHECK
PD Port SFP Data Check.
constexpr std::uint16_t AUTO_CONFIG
Auto Config.
constexpr std::uint16_t DIAG_MAINTENANCE_API
DIAG Maintenance API.
constexpr std::uint16_t WRITE_MULTIPLE
Write Multiple.
constexpr std::uint16_t SUBMODULE_STATE_OK
Submodule State Ok.
constexpr std::uint16_t IM0_FILTER_DATA
I&M0 Filter Data.
Usi
PROFINET User Structure Identifiers (USI).
@ Maintenance
Maintenance item.
@ MultipleDiagnosis
Multiple diagnosis.
@ Bit0till14OfChannelNumber
The channel number (bits 0-14).
@ Bit15AndExternalChannelDiagnosisOfChannelNumber
Check diagnosis is in external channel diagnosis (bit 15 of ChannelNumber + 0x02).
@ IParameter
iParameter item.
@ Bit15OfChannelNumber
Check diagnosis is accumulative (bit 15 of ChannelNumber).
@ PralAlarm
PRAL alarm item.
@ ExtendedChannelDiagnosis
Extended channel diagnosis.
@ ChannelDiagnosis
Channel diagnosis.
@ RsAlarmHigh
RS alarm item for high alarm.
@ Bit15AndQualifiedChannelDiagnosisOfChannelNumber
Check diagnosis is in qualified channel diagnosis (bit 15 of ChannelNumber + 0x03).
@ Low11BitsOfRsAlarmInfo
The low 11 bits of RsAlarmInfo, so the RS specifier can be extracted from RsAlarmInfo.
@ RsAlarmSubmodule
RS alarm item for submodule.
@ RsAlarmLow
RS alarm item for low alarm.
@ QualifiedChannelDiagnosis
Qualified channel diagnosis.
constexpr std::uint16_t DIAG_MAINTENANCE_SLOT
DIAG Maintenance Slot.
constexpr std::uint16_t IM7
I&M7.
constexpr std::uint16_t PDEV_DATA
Pdev Data.
constexpr std::uint16_t PD_INTERFACE_DATA_REAL
PD Interface Data Real.
constexpr std::uint16_t PD_EXPECTED_DATA
PD Expected Data.
constexpr std::uint16_t DIAG_ALL_SUBSLOT
DIAG All Subslot.
constexpr std::uint16_t PD_PORT_DATA_CHECK
PD Port Data Check.
constexpr std::uint16_t F_PRM_FLAG2
F Prm Flag2.
constexpr std::uint16_t ISOCHRONOUS_MODE_DATA
Isochronous Mode Data.
constexpr std::uint16_t MODULE_STATE_NO_MODULE
Module State No Module.
constexpr std::uint16_t PD_NC_DATA_CHECK
PD NC Data Check.
constexpr std::uint16_t MAINT_REQUIRED_CHANNEL_SUBSLOT
MAINT Required Channel Subslot.
constexpr std::uint16_t PD_PORT_FO_DATA_ADJUST
PD Port FO Data Adjust.
constexpr std::uint16_t AM_LOCATION_TREE
AM Location Tree.
constexpr std::uint16_t REAL_ID_AR
Real ID AR.
constexpr std::uint16_t AM_FW_ONLY
AM FW Only.
constexpr std::uint16_t IM5
I&M5.
constexpr std::uint16_t IM13
I&M13.
constexpr std::uint16_t AM_DATA
AM Data.
constexpr std::uint16_t AM_DEVICE_ID
AM Device ID.
constexpr std::uint16_t PD_PORT_MRP_IC_DATA_ADJUST
PD Port MRP IC Data Adjust.
constexpr std::uint16_t AM_HW_ONLY
AM HW Only.
constexpr std::uint8_t PE_MODE_ENERGY_SAVING_MIN
PE Mode Energy Saving Min.
constexpr std::uint16_t PD_INTERFACE_MRP_DATA_CHECK
PD Interface MRP Data Check.
constexpr std::uint16_t PD_PORT_FO_DATA_CHECK
PD Port FO Data Check.
constexpr std::uint16_t REAL_ID_SUBSLOT
Real ID Subslot.
constexpr std::uint16_t API_DATA
API Data.
constexpr std::uint16_t AR_TYPE_IOSAR
AR Type Iosar.
constexpr std::uint8_t PE_MODE_READY_TO_OPERATE
PE Mode Ready To Operate.
constexpr std::uint16_t PD_INTERFACE_MRP_DATA_ADJUST
PD Interface MRP Data Adjust.
const IndexNamePairs & InterfaceIndices()
Interface-level indices.
constexpr std::uint16_t AR_TYPE_IOCAR_SINGLE
AR Type Iocar Single.
std::string GetIndexName(std::uint16_t index)
Get the human-readable name for a record data index.
std::string GetAlarmTypeName(AlarmType alarmType)
Get the human-readable name for an alarm type.
constexpr std::uint16_t PROFIENERGY
Profienergy.
const IndexNamePairs & PortIndices()
Port-level indices.
constexpr std::uint8_t PE_MODE_OPERATE
PE Mode Operate.
constexpr std::uint16_t RECORD_OUTPUT_DATA
Record Output Data.
constexpr std::uint16_t IM12
I&M12.
constexpr std::uint16_t MODULE_STATE_WRONG_MODULE
Module State Wrong Module.
constexpr std::uint16_t PD_PORT_DATA_ADJUST
PD Port Data Adjust.
constexpr std::uint16_t IM3
I&M3.
constexpr std::uint16_t DIAG_CHANNEL_SUBSLOT
DIAG Channel Subslot.
constexpr std::uint16_t F_PARAMETER_WRITE
F Parameter Write.
constexpr std::uint16_t SUBSLOT_INTERFACE
Subslot Interface.
constexpr std::uint16_t PD_PORT_STATISTIC
PD Port Statistic.
IocrRtClass
PROFINET IOCR real-time classes.
@ Udp
UDP real-time class.
constexpr std::uint16_t PD_INTERFACE_MRP_DATA_REAL
PD Interface MRP Data Real.
constexpr std::uint16_t IM14
I&M14.
constexpr std::uint16_t IM9
I&M9.
constexpr std::uint16_t SUBSLOT_DAP
Subslot DAP.
constexpr std::uint16_t IM11
I&M11.
constexpr std::uint16_t SUBMODULE_STATE_LOCKED_BY_SUPERVISOR
Submodule State Locked By Supervisor.