PLCnext API Documentation  22.9.0.33
DiagnosisSource.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/Io/ProfinetStack/Controller/Services/DiagnosisDirection.hpp"
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 
15 namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
16 {
17 
18 using namespace Arp;
19 using namespace Arp::System::Rsc::Services;
20 
25 {
26 public:
30  uint16 ARUserID = 0;
31 
36 
40  uint32 API = 0;
41 
45  uint16 Slot = 0;
46 
50  uint16 Subslot = 0;
51 
55  uint16 ChannelNumber = 0;
56 
60  boolean Accumulative = false;
61 
65  DiagnosisDirection Direction = static_cast<DiagnosisDirection>(0);
66 
67  void Serialize(RscWriter& writer)const override
68  {
69  writer.Write(this->ARUserID);
70  writer.Write(this->NodeID);
71  writer.Write(this->API);
72  writer.Write(this->Slot);
73  writer.Write(this->Subslot);
74  writer.Write(this->ChannelNumber);
75  writer.Write(this->Accumulative);
76  writer.Write(this->Direction);
77  }
78 
79  void Deserialize(RscReader& reader)override
80  {
81  reader.Read(this->ARUserID);
82  reader.Read(this->NodeID);
83  reader.Read(this->API);
84  reader.Read(this->Slot);
85  reader.Read(this->Subslot);
86  reader.Read(this->ChannelNumber);
87  reader.Read(this->Accumulative);
88  reader.Read(this->Direction);
89  }
90 
91  static constexpr size_t GetFieldCount(void)
92  {
93  return 8;
94  }
95 };
96 
97 }}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
Contains the information where a diagnosis is located on the device according to "Guideline for PROFI...
Definition: DiagnosisSource.hpp:25
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: DiagnosisSource.hpp:79
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.
Definition: DiagnosisSource.hpp:67
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::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
DiagnosisDirection
Contains the defined values for the direction of a submodule channel
Definition: DiagnosisDirection.hpp:19
@ NodeID
Returns all diagnoses sources of one submodule identified by Arp.Io.ProfinetStack....
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API