PLCnext API Documentation  22.9.0.33
SystemVariables.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
9 #include "Arp/System/Rsc/Services/RscReader.hpp"
10 #include "Arp/System/Rsc/Services/RscWriter.hpp"
11 
12 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
13 
14 namespace Arp { namespace Io { namespace Profibus { namespace Services
15 {
16 
17 using namespace Arp;
18 using namespace Arp::System::Rsc::Services;
19 
24 {
25 public:
29  uint8 MasterMainState = 0;
30 
34  boolean HasControlError = false;
35 
39  boolean HasAutoClearError = false;
40 
44  boolean HasExchangeError = false;
45 
49  boolean IsHostReady = false;
50 
54  boolean HasTimeoutError = false;
55 
59  uint16 BusErrorCounter = 0;
60 
64  uint16 TimeoutCounter = 0;
65 
66  void Serialize(RscWriter& writer)const override
67  {
68  writer.Write(this->MasterMainState);
69  writer.Write(this->HasControlError);
70  writer.Write(this->HasAutoClearError);
71  writer.Write(this->HasExchangeError);
72  writer.Write(this->IsHostReady);
73  writer.Write(this->HasTimeoutError);
74  writer.Write(this->BusErrorCounter);
75  writer.Write(this->TimeoutCounter);
76  }
77 
78  void Deserialize(RscReader& reader)override
79  {
80  reader.Read(this->MasterMainState);
81  reader.Read(this->HasControlError);
82  reader.Read(this->HasAutoClearError);
83  reader.Read(this->HasExchangeError);
84  reader.Read(this->IsHostReady);
85  reader.Read(this->HasTimeoutError);
86  reader.Read(this->BusErrorCounter);
87  reader.Read(this->TimeoutCounter);
88  }
89 
90  static constexpr size_t GetFieldCount(void)
91  {
92  return 8;
93  }
94 };
95 
96 }}}} // end of namespace Arp::Io::Profibus::Services
Delivers Profibus system variables
Definition: SystemVariables.hpp:24
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: SystemVariables.hpp:78
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.
Definition: SystemVariables.hpp:66
Marshalls structure or class data types. Serialize and Deserialize have to marshal fields in the same...
Definition: IRscSerializable.hpp:19
Reads data from Rsc
Definition: RscReader.hpp:26
T Read(void)
Reads an element of T from Rsc. With data tagging enabled RscType of T is validated.
Definition: RscReader.hpp:165
Writes data to Rsc.
Definition: RscWriter.hpp:31
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:177
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API