8#include "Arp/System/Core/Enum.hxx"
10namespace Arp {
namespace Plc {
namespace Commons {
namespace Domain
42 FlagsMask = ~StateMask,
76 SystemError = (1 << 11),
92 Resetting = (1 << 15),
147ARP_CXX_SYMBOL_EXPORT std::ostream& operator<<(std::ostream& os,
PlcState value);
148ARP_CXX_SYMBOL_EXPORT std::istream& operator>>(std::istream& is,
PlcState& value);
154 using U = std::underlying_type<PlcState>::type;
155 return static_cast<PlcState>(
static_cast<U
>(lhs) &
static_cast<U
>(rhs));
160 using U = std::underlying_type<PlcState>::type;
161 return static_cast<PlcState>(
static_cast<U
>(lhs) |
static_cast<U
>(rhs));
178 using U = std::underlying_type<PlcState>::type;
179 return static_cast<PlcState>(~static_cast<U>(arg));
186template<>
struct fmt::formatter<
Arp::Plc::Commons::Domain::PlcState>:
public fmt::ostream_formatter {};
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
PlcState
Definition: PlcState.hpp:14
@ RemainingMask
This mask defines all states which should not be cleared before any PLC operation....
@ Warm
The PLC is stopped in warm state, that is the retain data has been restored.
@ SuspendedBySystemWatchdog
Deprecated since 2022.0! Please use <cref name="Blocked"> instead. This error bit is set,...
@ StartingDelayed
The PLC is about to start, but due to component conditions the PLC start has to be delayed.
@ Hot
The PLC is stopped in hot state, that is all data still remains.
@ Halt
The PLC is halted for debug purpose.
@ Blocked
This error bit is set, if the PLC could not be loaded because it was prevented by a component.
@ SuspendedBySwitch
Deprecated since 2022.0! Please use <cref name="Suspended"> instead. This error bit is set,...
@ Forcing
The PLC is in force mode. One or more variables are forced by the GDS.
@ Changing
The PLC is changing a configuration, this implies, that the state Running is set.
@ Suspended
This error bit is set, if the PLC could not be started because it was prevented by a component.
@ DcgNotPossible
This error bit is set, if the PLC tries to perform a change operation, but it is not possible.
@ DcgRealTimeViolation
This error bit is set, if the PLC tries to perform a change operation, but it is not possible in real...
@ ClearMask
This mask defines all states which should be cleared before any PLC operation.
@ DcgFailed
This error bit is set, if the PLC tried to perform a change operation, but an error occurred.
@ Debugging
The PLC is in debug mode. One or more breakpoints are set.
@ FatalError
An unspecified fatal error or exception occurs, and the PLC is in state error.
Root namespace for the PLCnext API