PLCnext API Documentation 23.6.0.37
DiagnosisSource.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
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
15namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
16{
17
18using namespace Arp;
19using namespace Arp::System::Rsc::Services;
20
25{
26public:
31
36
41
46
51
56
60 boolean Accumulative = false;
61
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
boolean Accumulative
If set to true the diagnosis source addresses a channel group.
Definition: DiagnosisSource.hpp:60
uint16 ChannelNumber
Channel Number of the diagnosis source. If set to 0x8000 the channel number adresses the whole submod...
Definition: DiagnosisSource.hpp:55
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
uint16 Slot
Slot numer of the diagnosis source
Definition: DiagnosisSource.hpp:45
uint16 ARUserID
User ID of the application relation
Definition: DiagnosisSource.hpp:30
uint16 Subslot
Subslot number of the diagnosis source
Definition: DiagnosisSource.hpp:50
uint32 NodeID
NodeID of the diagnosis source
Definition: DiagnosisSource.hpp:35
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
DiagnosisDirection Direction
Direction of the channel of the diagnosis source.
Definition: DiagnosisSource.hpp:65
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
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
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
DiagnosisDirection
Contains the defined values for the direction of a submodule channel
Definition: DiagnosisDirection.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API