|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Decoded PROFINET RTA ERR-PDU. More...
#include <protocol.h>
Collaboration diagram for profinet::RtaError:Public Member Functions | |
| RtaErrorClass | ErrorClass () const |
| Classify the ErrorCode2 reason. | |
| bool | IsRtaProtocolError () const |
| Whether the status belongs to the RTA protocol-error class. | |
| bool | IsSequenceNumberError () const |
| Whether this is RTA sequence-number coordination failure. | |
| bool | IsAbort () const |
| Whether this reason is an RTA abort reason. | |
| bool | IsExtended () const |
| Whether the reason is one of the later extended RTA reasons. | |
| bool | IsObsoleted () const |
| Whether this reason code is obsolete. | |
| bool | IsUserAbort () const |
| Whether this is the user-specific RTA abort. | |
| std::string | ReasonName () const |
| Return the decoded RTA reason name. | |
Static Public Member Functions | |
| static RtaErrorReason | ClassifyRtaErrorReason (std::uint8_t errorCode2) |
| Return the decoded RTA reason. | |
| static RtaErrorClass | ClassifyRtaError (std::uint8_t errorCode2) |
| Return the decoded RTA reason. | |
| static RtaErrorClass | ClassifyRtaError (RtaErrorReason reason) |
| Return the decoded RTA reason. | |
Public Attributes | |
| PNRTAHeader | header |
| Complete RTA header associated with this error. | |
| std::uint32_t | statusPnio = 0 |
| Raw four-byte PNIO status value. | |
| std::uint8_t | errorCode = 0 |
| PNIO ErrorCode byte. | |
| std::uint8_t | errorDecode = 0 |
| PNIO ErrorDecode byte. | |
| std::uint8_t | errorCode1 = 0 |
| PNIO ErrorCode1 byte. | |
| std::uint8_t | errorCode2 = 0 |
| PNIO ErrorCode2 byte. | |
| RtaErrorReason | reason = RtaErrorReason::Reserved |
| Decoded RTA reason. | |
| RtaErrorClass | kind = RtaErrorClass::UserSpecific |
| Decoded RTA class. | |
Decoded PROFINET RTA ERR-PDU.
An ERR-RTA PDU has RTA PDU type 0x04 and carries a four-byte PNIO status value in its variable part. The PNIO status bytes are: ErrorCode, ErrorDecode, ErrorCode1, ErrorCode2.
For example: CF 81 FD 0F
means an RTA protocol error with ErrorCode2 0x0F.
Definition at line 2570 of file protocol.h.
|
static |
Return the decoded RTA reason.
| reason | RTA ErrorCode2 value. |
|
static |
Return the decoded RTA reason.
| errorCode2 | RTA ErrorCode2 value. |
Definition at line 496 of file alarms.cpp.
References profinet::Abort, errorCode2, profinet::Extended, profinet::Obsoleted, profinet::Reserved, and profinet::SequenceNumber.
Referenced by profinet::ParseRtaError(), and profinet::TEST().
Here is the caller graph for this function:
|
static |
Return the decoded RTA reason.
| errorCode2 | RTA ErrorCode2 value. |
Definition at line 347 of file alarms.cpp.
References profinet::ArAbortRequest, profinet::ArAddProviderConsumerFailed, profinet::ArAlarmAckSendConfirmationNegative, profinet::ArAlarmDataTooLong, profinet::ArAlarmIndError, profinet::ArAlarmOpenFailed, profinet::ArAlarmSendConfirmationNegative, profinet::ArApRemoved, profinet::ArCmiTimeout, profinet::ArConsumerDhtWdtExpired, profinet::ArDeviceDeactivated, profinet::ArForbiddenPullPlug, profinet::ArLinkDown, profinet::ArMulticastMacRegistrationFailed, profinet::ArNameResolutionError, profinet::ArOutOfMemory, profinet::ArProtocolViolation, profinet::ArReleaseIndReceived, profinet::ArRemoved, profinet::ArRerunAbortsExisting, profinet::ArRpcBindError, profinet::ArRpcClientCallConfirmationNegative, profinet::ArRpcConnectError, profinet::ArRpcControlError, profinet::ArRpcReadError, profinet::ArRpcWriteError, profinet::CompanionAr8ippSubmodule, profinet::DcpResetToFactorySettings, profinet::DcpStationNameChanged, errorCode2, profinet::InstanceClosed, profinet::IocarSrArProtocolViolation, profinet::IocarSrMtotExpired, profinet::IocarSrPdevParameterizationImpossible, profinet::IocarSrRdhtExpired, profinet::IocarSrRedundantInterfaceLost, profinet::IpSuiteChanged, profinet::NoIrdataRecordYet, profinet::NotSynchronized, profinet::ObsoletedNmeNoConfiguration, profinet::Pdev, profinet::PdevNoRequiredSpeedDuplexity, profinet::PdevPlugPortWithoutCombinedObjectContainer, profinet::RemoteApplicationReadyTimeout, profinet::Reserved, profinet::SequenceNumber, profinet::UserAbort, and profinet::WrongTopology.
Referenced by profinet::ParseRtaError(), and profinet::TEST().
Here is the caller graph for this function:
|
inline |
Classify the ErrorCode2 reason.
Definition at line 2598 of file protocol.h.
References kind.
|
inline |
Whether this reason is an RTA abort reason.
Definition at line 2622 of file protocol.h.
References errorCode2, and IsRtaProtocolError().
Here is the call graph for this function:
|
inline |
Whether the reason is one of the later extended RTA reasons.
Definition at line 2631 of file protocol.h.
References errorCode2, and IsRtaProtocolError().
Here is the call graph for this function:
|
inline |
Whether this reason code is obsolete.
Definition at line 2640 of file protocol.h.
References errorCode2, and IsRtaProtocolError().
Here is the call graph for this function:
|
inline |
Whether the status belongs to the RTA protocol-error class.
Definition at line 2605 of file protocol.h.
References errorCode, errorCode1, and errorDecode.
Referenced by IsAbort(), IsExtended(), IsObsoleted(), IsSequenceNumberError(), and IsUserAbort().
Here is the caller graph for this function:
|
inline |
Whether this is RTA sequence-number coordination failure.
Definition at line 2614 of file protocol.h.
References errorCode2, and IsRtaProtocolError().
Here is the call graph for this function:
|
inline |
Whether this is the user-specific RTA abort.
Definition at line 2648 of file protocol.h.
References errorCode2, and IsRtaProtocolError().
Here is the call graph for this function:| std::string profinet::RtaError::ReasonName | ( | ) | const |
Return the decoded RTA reason name.
Definition at line 563 of file alarms.cpp.
References profinet::ArAbortRequest, profinet::ArAddProviderConsumerFailed, profinet::ArAlarmAckSendConfirmationNegative, profinet::ArAlarmDataTooLong, profinet::ArAlarmIndError, profinet::ArAlarmOpenFailed, profinet::ArAlarmSendConfirmationNegative, profinet::ArApRemoved, profinet::ArCmiTimeout, profinet::ArConsumerDhtWdtExpired, profinet::ArDeviceDeactivated, profinet::ArForbiddenPullPlug, profinet::ArLinkDown, profinet::ArMulticastMacRegistrationFailed, profinet::ArNameResolutionError, profinet::ArOutOfMemory, profinet::ArProtocolViolation, profinet::ArReleaseIndReceived, profinet::ArRemoved, profinet::ArRerunAbortsExisting, profinet::ArRpcBindError, profinet::ArRpcClientCallConfirmationNegative, profinet::ArRpcConnectError, profinet::ArRpcControlError, profinet::ArRpcReadError, profinet::ArRpcWriteError, profinet::CompanionAr8ippSubmodule, profinet::DcpResetToFactorySettings, profinet::DcpStationNameChanged, profinet::InstanceClosed, profinet::IocarSrArProtocolViolation, profinet::IocarSrMtotExpired, profinet::IocarSrPdevParameterizationImpossible, profinet::IocarSrRdhtExpired, profinet::IocarSrRedundantInterfaceLost, profinet::IpSuiteChanged, profinet::NoIrdataRecordYet, profinet::NotSynchronized, profinet::ObsoletedNmeNoConfiguration, profinet::Pdev, profinet::PdevNoRequiredSpeedDuplexity, profinet::PdevPlugPortWithoutCombinedObjectContainer, reason, profinet::RemoteApplicationReadyTimeout, profinet::Reserved, profinet::SequenceNumber, profinet::UserAbort, and profinet::WrongTopology.
| std::uint8_t profinet::RtaError::errorCode = 0 |
PNIO ErrorCode byte.
Definition at line 2579 of file protocol.h.
Referenced by IsRtaProtocolError(), and profinet::ParseRtaError().
| std::uint8_t profinet::RtaError::errorCode1 = 0 |
PNIO ErrorCode1 byte.
Definition at line 2585 of file protocol.h.
Referenced by IsRtaProtocolError(), and profinet::ParseRtaError().
| std::uint8_t profinet::RtaError::errorCode2 = 0 |
PNIO ErrorCode2 byte.
Definition at line 2588 of file protocol.h.
Referenced by ClassifyRtaError(), ClassifyRtaErrorReason(), IsAbort(), IsExtended(), IsObsoleted(), IsSequenceNumberError(), IsUserAbort(), and profinet::ParseRtaError().
| std::uint8_t profinet::RtaError::errorDecode = 0 |
PNIO ErrorDecode byte.
Definition at line 2582 of file protocol.h.
Referenced by IsRtaProtocolError(), and profinet::ParseRtaError().
| PNRTAHeader profinet::RtaError::header |
Complete RTA header associated with this error.
Definition at line 2573 of file protocol.h.
Referenced by profinet::ParseRtaError().
| RtaErrorClass profinet::RtaError::kind = RtaErrorClass::UserSpecific |
Decoded RTA class.
Definition at line 2594 of file protocol.h.
Referenced by ErrorClass(), and profinet::ParseRtaError().
| RtaErrorReason profinet::RtaError::reason = RtaErrorReason::Reserved |
Decoded RTA reason.
Definition at line 2591 of file protocol.h.
Referenced by profinet::ParseRtaError(), and ReasonName().
| std::uint32_t profinet::RtaError::statusPnio = 0 |
Raw four-byte PNIO status value.
Definition at line 2576 of file protocol.h.
Referenced by profinet::ParseRtaError().