PLCnext API Documentation 23.6.0.37
UsiDiagnosisInformation.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Io/ProfinetStack/Controller/Services/ChannelQualifier.hpp"
10#include "Arp/System/Rsc/Services/IRscSerializable.hpp"
11#include "Arp/System/Rsc/Services/RscReader.hpp"
12#include "Arp/System/Rsc/Services/RscWriter.hpp"
13
14// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
15
16namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
17{
18
19using namespace Arp;
20using namespace Arp::System::Rsc::Services;
21
26{
27public:
31
36
40 std::vector<byte> ManufacturerData;
41
42 void Serialize(RscWriter& writer)const override
43 {
44 writer.Write(this->Severity);
45 writer.Write(this->Usi);
46 writer.WriteArray(this->ManufacturerData);
47 }
48
49 void Deserialize(RscReader& reader)override
50 {
51 reader.Read(this->Severity);
52 reader.Read(this->Usi);
53 reader.ReadArray(this->ManufacturerData);
54 }
55
56 static constexpr size_t GetFieldCount(void)
57 {
58 return 3;
59 }
60};
61
62}}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
Contains informationen about diagnosis, that are not in standard format. These are dedicated to field...
Definition: UsiDiagnosisInformation.hpp:26
ChannelQualifier Severity
Severity of the diagnosis. Always set to Arp.Io.ProfinetStack.Controller.Services....
Definition: UsiDiagnosisInformation.hpp:30
std::vector< byte > ManufacturerData
Additional informationen about the diagnosis. Data depends on USI and are manufacturer specific.
Definition: UsiDiagnosisInformation.hpp:40
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: UsiDiagnosisInformation.hpp:49
uint16 Usi
Coding of the diagnosis
Definition: UsiDiagnosisInformation.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: UsiDiagnosisInformation.hpp:42
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::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:32
ChannelQualifier
Describes diagnosis severity.
Definition: ChannelQualifier.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API