PLCnext API Documentation 23.6.0.37
AlarmInfo.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/System/Rsc/Services/IRscSerializable.hpp"
10#include "Arp/System/Rsc/Services/RscReader.hpp"
11#include "Arp/System/Rsc/Services/RscWriter.hpp"
12
13// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
14
15namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
16{
17
18using namespace Arp;
19using namespace Arp::System::Rsc::Services;
20
26{
27public:
31 boolean NewAlarmReceived = false;
32
37
42
47
52
57
62
67
72
77
82
87
92
96 std::vector<byte> AlarmInfoItem;
97
98 void Serialize(RscWriter& writer)const override
99 {
100 writer.Write(this->NewAlarmReceived);
101 writer.Write(this->Id);
102 writer.Write(this->BlockType);
103 writer.Write(this->BlockLength);
104 writer.Write(this->BlockVersion);
105 writer.Write(this->AlarmType);
106 writer.Write(this->Api);
107 writer.Write(this->Slot);
108 writer.Write(this->Subslot);
109 writer.Write(this->ModuleId);
110 writer.Write(this->SubmoduleId);
111 writer.Write(this->AlarmSpecifier);
112 writer.Write(this->UserStructId);
113 writer.WriteArray(this->AlarmInfoItem);
114 }
115
116 void Deserialize(RscReader& reader)override
117 {
118 reader.Read(this->NewAlarmReceived);
119 reader.Read(this->Id);
120 reader.Read(this->BlockType);
121 reader.Read(this->BlockLength);
122 reader.Read(this->BlockVersion);
123 reader.Read(this->AlarmType);
124 reader.Read(this->Api);
125 reader.Read(this->Slot);
126 reader.Read(this->Subslot);
127 reader.Read(this->ModuleId);
128 reader.Read(this->SubmoduleId);
129 reader.Read(this->AlarmSpecifier);
130 reader.Read(this->UserStructId);
131 reader.ReadArray(this->AlarmInfoItem);
132 }
133
134 static constexpr size_t GetFieldCount(void)
135 {
136 return 14;
137 }
138};
139
140}}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
This structure contains all information about a received alarm. For more information read the PROFINE...
Definition: AlarmInfo.hpp:26
uint16 BlockType
Type of alarm information
Definition: AlarmInfo.hpp:41
boolean NewAlarmReceived
Flag is set, if new alarm has been received
Definition: AlarmInfo.hpp:31
uint16 Slot
Slot number
Definition: AlarmInfo.hpp:66
uint16 AlarmType
Type of alarm
Definition: AlarmInfo.hpp:56
uint16 BlockVersion
Version of alarm information
Definition: AlarmInfo.hpp:51
uint16 AlarmSpecifier
Alarm Specifier
Definition: AlarmInfo.hpp:86
uint16 UserStructId
User structure identifier
Definition: AlarmInfo.hpp:91
uint32 Id
Node id
Definition: AlarmInfo.hpp:36
uint32 SubmoduleId
Submodule identification
Definition: AlarmInfo.hpp:81
std::vector< byte > AlarmInfoItem
Alarm info item
Definition: AlarmInfo.hpp:96
uint32 ModuleId
Module identification
Definition: AlarmInfo.hpp:76
uint32 Api
Application Process Identifier
Definition: AlarmInfo.hpp:61
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: AlarmInfo.hpp:116
uint16 BlockLength
Length of alarm information in bytes
Definition: AlarmInfo.hpp:46
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.
Definition: AlarmInfo.hpp:98
uint16 Subslot
Subslot number
Definition: AlarmInfo.hpp:71
Marshalls structure or class data types. Serialize and Deserialize have to marshal fields in the same...
Definition: IRscSerializable.hpp:20
Reads data from Rsc
Definition: RscReader.hpp:27
void ReadArray(std::vector< T > &result)
Reads an array from Rsc. The read data is stored as std::vector.
Definition: RscReader.hpp:188
T Read(void)
Reads an element of T from Rsc. With data tagging enabled RscType of T is validated.
Definition: RscReader.hpp:166
Writes data to Rsc.
Definition: RscWriter.hpp:32
void Write(const T &value)
Writes an element of T from Rsc. Datatag and format is determined deducted by type of T.
Definition: RscWriter.hpp:178
void WriteArray(const std::vector< T > &values)
Writes an array to Rsc. The data to write has to be stored in a std::vector.
Definition: RscWriter.hpp:204
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:36
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:32
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API