10 #include "Arp/System/Nm/SpecializedPayload.hpp"
14 namespace Arp {
namespace System {
namespace NmPayload {
namespace Io {
namespace ProfinetStack
24 using ArgumentsType = std::tuple<const char*, uint32, bool, uint16, const char*, uint16, uint16, uint32, uint32, uint16, bool, bool, bool, bool, uint16, const char*, const char*>;
26 using SpecializedPayload::SpecializedPayload;
52 bool isChannelDiagnosis,
bool isManufacturerSpecificDiagnosis,
bool isSubmoduleDiagnosisState,
53 bool isArDiagnosisState,
uint16 userDataStructureIdentifier,
54 const String& userDataStructureIdentifierName,
const String& userDataInfo);
111 size_t indexDeviceName = this->AddField<String>();
112 size_t indexApi = this->AddField<uint32>();
113 size_t indexHighPriority = this->AddField<bool>();
114 size_t indexAlarmType = this->AddField<uint16>();
115 size_t indexAlarmTypeName = this->AddField<String>();
116 size_t indexSlotNumber = this->AddField<uint16>();
117 size_t indexSubslotNumber = this->AddField<uint16>();
118 size_t indexModuleNumber = this->AddField<uint32>();
119 size_t indexSubModuleNumber = this->AddField<uint32>();
120 size_t indexSequenceNumber = this->AddField<uint16>();
121 size_t indexIsChannelDiagnosis = this->AddField<bool>();
122 size_t indexIsManufacturerSpecificDiagnosis = this->AddField<bool>();
123 size_t indexIsSubmoduleDiagnosisState = this->AddField<bool>();
124 size_t indexIsArDiagnosisState = this->AddField<bool>();
125 size_t indexuserDataStructureIdentifier = this->AddField<uint16>();
126 size_t indexuserDataStructureIdentifierName = this->AddField<String>();
127 size_t indexUserDataInfo = this->AddField<String>();
Payload class for a Profinet alarm
Definition: AlarmPayload2.hpp:21
bool GetIsManufacturerSpecificDiagnosis() const
Return s true if alarm is manufacturer specific diagnosis
bool GetIsChannelDiagnosis() const
Returns true if alarm is a channel diagnosis
uint16 GetAlarmType() const
Returns the alarm type
String GetAlarmTypeName() const
Returns the alarm type as string
uint16 GetSequenceNumber() const
Returns the sequence number
String GetDeviceName() const
Returns the Profinet device name
bool GetIsArDiagnosisState() const
Return s true if alarm is diagnostic information of the application reference
uint32 GetModuleNumber() const
Returns the module number
String GetUserDataInfo() const
Returns the User Data Structure as text
bool IsHighPriority() const
Returns true if alarm is high priority
AlarmPayload2(const ArgumentsType &args)
Creates a payload object
uint16 GetUserDataStructureIdentifier() const
Returns the User Data Structure Identifier
bool GetIsSubmoduleDiagnosisState() const
Return s true if alarm is submodule diagnosis
std::tuple< const char *, uint32, bool, uint16, const char *, uint16, uint16, uint32, uint32, uint16, bool, bool, bool, bool, uint16, const char *, const char * > ArgumentsType
ArgumentsType to be used with NonBlockingNotificationRegistration3
Definition: AlarmPayload2.hpp:24
uint16 GetSlotNumber() const
Returns the slot number
AlarmPayload2(const String &deviceName, uint32 api, bool highPriority, uint16 alarmType, const String &alarmTypeName, uint16 slotNumber, uint16 subslotNumber, uint32 moduleNumber, uint32 subModuleNumber, uint16 sequenceNumber, bool isChannelDiagnosis, bool isManufacturerSpecificDiagnosis, bool isSubmoduleDiagnosisState, bool isArDiagnosisState, uint16 userDataStructureIdentifier, const String &userDataStructureIdentifierName, const String &userDataInfo)
Creates a payload object
String GetUserDataStructureIdentifierName() const
Returns the User Data Structure Identifier as string
uint32 GetApi() const
Returns the PROFINET API
uint32 GetSubModuleNumber() const
Returns the sub module number
uint16 GetSubslotNumber() const
Returns the sub slot number
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:43
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API