C++ Based OPC UA Client/Server SDK  1.5.5.355
OpcUa::ConditionTypeData Class Reference

Generated event data class for a ConditionType. More...

#include <opcua_conditiontypebase.h>

Inherits BaseEventTypeData, and ReferenceCounter.

Inherited by OpcUa::AcknowledgeableConditionTypeData, and OpcUa::DialogConditionTypeData.

Public Member Functions

 ConditionTypeData ()
 Constructs an ConditionTypeData object.
 
void initializeAsBranch (ConditionTypeBase *pCondition)
 This method is used to initializes the ConditionTypeData object with event data from a condition object to create a branch of this condition object. More...
 
void initializeAsBranch (ConditionTypeData *pConditionData)
 This method is used to initializes the ConditionTypeData object with event data from another condition data object to create a branch of this condition data object. More...
 
ReferenceCountergetConditionDataReferenceCounter ()
 Get the ReferenceCounter interface necessary for condition event data classes.
 
void setConditionNodeId (const UaNodeId &conditionNodeId)
 Sets the condition NodeId for the event data related to a condition object.
 
virtual UaNodeId getConditionNodeId ()
 Returns the condition NodeId since the event data is related to a condition object.
 
virtual UaNodeId getConditionBranchNodeId ()
 Returns the condition branch NodeId since the event data is related to a condition object.
 
virtual OpcUa_Boolean getConditionRetain ()
 Returns the Retain flag since the event data is related to a condition object.
 
virtual void lockEventData ()
 Lock the event data for data update and event handling. More...
 
virtual void unlockEventData ()
 Unlock the event data after data update or event handling. More...
 
virtual void getFieldData (OpcUa_UInt32 index, Session *pSession, OpcUa_Variant &data)
 Get the field value for the passed index. More...
 
void setBranchId (const UaNodeId &BranchId)
 Set the event field value BranchId. More...
 
void setBranchIdStatus (OpcUa_StatusCode status)
 Set a status code for the event field value BranchId. More...
 
UaNodeId getBranchId ()
 Get the event field value BranchId. More...
 
virtual void getBranchIdValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value BranchId for delivering the event data. More...
 
void setClientUserId (const UaString &ClientUserId)
 Set the event field value ClientUserId. More...
 
void setClientUserIdStatus (OpcUa_StatusCode status)
 Set a status code for the event field value ClientUserId. More...
 
UaString getClientUserId ()
 Get the event field value ClientUserId. More...
 
virtual void getClientUserIdValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value ClientUserId for delivering the event data. More...
 
void setComment (const UaLocalizedText &Comment)
 Set the event field value Comment. More...
 
void setCommentStatus (OpcUa_StatusCode status)
 Set a status code for the event field value Comment. More...
 
UaLocalizedText getComment ()
 Get the event field value Comment. More...
 
virtual void getCommentValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value Comment for delivering the event data. More...
 
void setComment_SourceTimestamp (const UaDateTime &SourceTimestamp)
 Set the event field state bool value for SourceTimestamp.
 
void setComment_SourceTimestampStatus (OpcUa_StatusCode status)
 Set a status code for the event field value SourceTimestamp. More...
 
UaDateTime getComment_SourceTimestamp ()
 Get the event field value SourceTimestamp.
 
virtual void getComment_SourceTimestampValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value SourceTimestamp for delivering the event data. More...
 
void setConditionClassId (const UaNodeId &ConditionClassId)
 Set the event field value ConditionClassId. More...
 
void setConditionClassIdStatus (OpcUa_StatusCode status)
 Set a status code for the event field value ConditionClassId. More...
 
UaNodeId getConditionClassId ()
 Get the event field value ConditionClassId. More...
 
virtual void getConditionClassIdValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value ConditionClassId for delivering the event data. More...
 
void setConditionClassName (const UaLocalizedText &ConditionClassName)
 Set the event field value ConditionClassName. More...
 
void setConditionClassNameStatus (OpcUa_StatusCode status)
 Set a status code for the event field value ConditionClassName. More...
 
UaLocalizedText getConditionClassName ()
 Get the event field value ConditionClassName. More...
 
virtual void getConditionClassNameValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value ConditionClassName for delivering the event data. More...
 
void setConditionName (const UaString &ConditionName)
 Set the event field value ConditionName. More...
 
void setConditionNameStatus (OpcUa_StatusCode status)
 Set a status code for the event field value ConditionName. More...
 
UaString getConditionName ()
 Get the event field value ConditionName. More...
 
virtual void getConditionNameValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value ConditionName for delivering the event data. More...
 
virtual void getEnabledStateValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value EnabledState for delivering the event data. More...
 
void setEnabledState (OpcUa_Boolean enabledState)
 Set the event field state bool value for EnabledState. More...
 
void setEnabledStateStatus (OpcUa_StatusCode status)
 Set a status code for the event field value EnabledState. More...
 
OpcUa_Boolean getEnabledState ()
 Get the event field state bool value for EnabledState. More...
 
void setEnabledState_EffectiveDisplayName (const UaLocalizedText &EffectiveDisplayName)
 Set the event field state bool value for EffectiveDisplayName.
 
void setEnabledState_EffectiveDisplayNameStatus (OpcUa_StatusCode status)
 Set a status code for the event field value EffectiveDisplayName. More...
 
UaLocalizedText getEnabledState_EffectiveDisplayName ()
 Get the event field value EffectiveDisplayName.
 
virtual void getEnabledState_EffectiveDisplayNameValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value EffectiveDisplayName for delivering the event data. More...
 
void setEnabledState_EffectiveTransitionTime (const UaDateTime &EffectiveTransitionTime)
 Set the event field state bool value for EffectiveTransitionTime.
 
void setEnabledState_EffectiveTransitionTimeStatus (OpcUa_StatusCode status)
 Set a status code for the event field value EffectiveTransitionTime. More...
 
UaDateTime getEnabledState_EffectiveTransitionTime ()
 Get the event field value EffectiveTransitionTime.
 
virtual void getEnabledState_EffectiveTransitionTimeValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value EffectiveTransitionTime for delivering the event data. More...
 
virtual void getEnabledState_IdValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value Id for delivering the event data. More...
 
void setEnabledState_TransitionTime (const UaDateTime &TransitionTime)
 Set the event field state bool value for TransitionTime.
 
void setEnabledState_TransitionTimeStatus (OpcUa_StatusCode status)
 Set a status code for the event field value TransitionTime. More...
 
UaDateTime getEnabledState_TransitionTime ()
 Get the event field value TransitionTime.
 
virtual void getEnabledState_TransitionTimeValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value TransitionTime for delivering the event data. More...
 
void setLastSeverity (OpcUa_UInt16 LastSeverity)
 Set the event field value LastSeverity. More...
 
void setLastSeverityStatus (OpcUa_StatusCode status)
 Set a status code for the event field value LastSeverity. More...
 
OpcUa_UInt16 getLastSeverity ()
 Get the event field value LastSeverity. More...
 
virtual void getLastSeverityValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value LastSeverity for delivering the event data. More...
 
void setLastSeverity_SourceTimestamp (const UaDateTime &SourceTimestamp)
 Set the event field state bool value for SourceTimestamp.
 
void setLastSeverity_SourceTimestampStatus (OpcUa_StatusCode status)
 Set a status code for the event field value SourceTimestamp. More...
 
UaDateTime getLastSeverity_SourceTimestamp ()
 Get the event field value SourceTimestamp.
 
virtual void getLastSeverity_SourceTimestampValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value SourceTimestamp for delivering the event data. More...
 
void setQuality (OpcUa_StatusCode Quality)
 Set the event field value Quality. More...
 
void setQualityStatus (OpcUa_StatusCode status)
 Set a status code for the event field value Quality. More...
 
OpcUa_StatusCode getQuality ()
 Get the event field value Quality. More...
 
virtual void getQualityValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value Quality for delivering the event data. More...
 
void setQuality_SourceTimestamp (const UaDateTime &SourceTimestamp)
 Set the event field state bool value for SourceTimestamp.
 
void setQuality_SourceTimestampStatus (OpcUa_StatusCode status)
 Set a status code for the event field value SourceTimestamp. More...
 
UaDateTime getQuality_SourceTimestamp ()
 Get the event field value SourceTimestamp.
 
virtual void getQuality_SourceTimestampValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value SourceTimestamp for delivering the event data. More...
 
void setRetain (OpcUa_Boolean Retain)
 Set the event field value Retain. More...
 
void setRetainStatus (OpcUa_StatusCode status)
 Set a status code for the event field value Retain. More...
 
OpcUa_Boolean getRetain ()
 Get the event field value Retain. More...
 
virtual void getRetainValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value Retain for delivering the event data. More...
 
- Public Member Functions inherited from BaseEventTypeData
 BaseEventTypeData ()
 Constructs a BaseEventTypeData object.
 
virtual ~BaseEventTypeData ()
 Destroys the BaseEventTypeData object.
 
virtual void prepareNewEvent (const UaDateTime &time, const UaDateTime &receiveTime, const UaByteString &userEventId)
 Initializes the event data fields EventId, Time and ReceiveTime with valid values for the next event. More...
 
virtual UaByteString getEventId () const
 Get the EventId event field. More...
 
virtual UaNodeId getEventTypeId () const
 Get the EventType event field. More...
 
virtual void setSource (const UaNode *pNode)
 Set the SourceNode and SourceName by passing in a node pointer for the source node.
 
virtual void setSourceNode (const UaNodeId &sourceNode)
 Set the SourceNode event field. More...
 
virtual UaNodeId getSourceNode () const
 Get the SourceNode event field. More...
 
virtual void setSourceName (const UaString &sourceName)
 Set the SourceName event field. More...
 
virtual UaString getSourceName () const
 Get the SourceName event field. More...
 
virtual void setTime (const UaDateTime &time)
 Set the Time event field. More...
 
virtual UaDateTime getTime () const
 Get the Time event field. More...
 
virtual void setReceiveTime (const UaDateTime &receiveTime)
 Set the ReceiveTime event field. More...
 
virtual UaDateTime getReceiveTime () const
 Get the ReceiveTime event field. More...
 
virtual void setMessage (const UaLocalizedText &message)
 Set the Message event field. More...
 
virtual UaLocalizedText getMessage () const
 Get the Message event field. More...
 
virtual void getMessageValue (Session *pSession, UaVariant &data)
 Get the message field value. More...
 
virtual void setSeverity (OpcUa_UInt16 severity)
 Set the Severity event field. More...
 
virtual OpcUa_UInt16 getSeverity () const
 Get the Severity event field. More...
 
virtual void setLocalTime (const UaTimeZoneDataType &localTime)
 Set the LocalTime event field. More...
 
virtual UaTimeZoneDataType getLocalTime () const
 Get the LocalTime event field. More...
 
- Public Member Functions inherited from UaEventData
 UaEventData ()
 construction
 
virtual ~UaEventData ()
 destruction
 
void setEventUserData (OpcUa_Handle pEventUserData)
 Sets the user specific event data to the EventData object. More...
 
OpcUa_Handle getEventUserData () const
 Returns the user specific event data.
 
const NodeAccessInfogetEventAccessInfo () const
 Returns the access info associated with this UaEventData. More...
 
void useEventAccessInfoFrom (const UaEventData *pOther)
 Set the access info from another node to this node. More...
 
void setEventAccessInfo (NodeAccessInfo *pAccessInfo)
 Set access info for this UaEventData. More...
 
void attachEventAccessInfo (NodeAccessInfo *pAccessInfo)
 Set access info for this UaEventData. More...
 
- Public Member Functions inherited from ReferenceCounter
 ReferenceCounter ()
 construction
 
virtual ~ReferenceCounter ()
 destruction
 

Protected Member Functions

virtual ~ConditionTypeData ()
 Destroys the ConditionTypeData object.
 

Additional Inherited Members

- Static Public Member Functions inherited from BaseEventTypeData
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 
- Static Public Member Functions inherited from UaEventData
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 
- Public Attributes inherited from BaseEventTypeData
UaVariant m_EventId
 Field 01 - EventId.
 
UaNodeId m_EventTypeId
 Field 02 - EventType.
 
UaVariant m_SourceNode
 Field 03 - SourceNode.
 
UaVariant m_SourceName
 Field 04 - SourceName.
 
UaVariant m_Time
 Field 05 - Time.
 
UaVariant m_ReceiveTime
 Field 06 - ReceiveTime.
 
UaVariant m_LocalTime
 Field 07 - LocalTime.
 
UaVariant m_Message
 Field 08 - Message.
 
UaVariant m_Severity
 Field 09 - Severity.
 

Detailed Description

Generated event data class for a ConditionType.

This class contains the auto generated code for the object type ConditionType providing UaEventData interface for the access to event data containing the current state of the condition for events sent to the client. The class is used for condition events if the condition has no nodes in the address space or for condition branches created as snapshot of the main branch.

Event Fields of the ConditionType:

Browse Name DataType TypeDefinition Modelling Rule See Also
BranchId NodeId PropertyType Mandatory getBranchId, setBranchId
ClientUserId String PropertyType Mandatory getClientUserId, setClientUserId
Comment LocalizedText ConditionVariableType Mandatory getComment, setComment
ConditionClassId NodeId PropertyType Mandatory getConditionClassId, setConditionClassId
ConditionClassName LocalizedText PropertyType Mandatory getConditionClassName, setConditionClassName
ConditionName String PropertyType Mandatory getConditionName, setConditionName
EnabledState LocalizedText TwoStateVariableType Mandatory getEnabledState, setEnabledState
LastSeverity UInt16 ConditionVariableType Mandatory getLastSeverity, setLastSeverity
Quality StatusCode ConditionVariableType Mandatory getQuality, setQuality
Retain Boolean PropertyType Mandatory getRetain, setRetain

The ConditionType defines all general characteristics of a Condition. All other ConditionTypes derive from it.

The FALSE state of the EnabledState shall not be extended with a substate machine. The ConditionType inherits all Properties of the BaseEventType.

SourceNode identifies the ConditionSource. If the ConditionSource is not a Node in the AddressSpace, the NodeId is set to null. The SourceNode is the Node which the condition is associated with, it may be the same as the InputNode for an alarm, but it may be a separate node. For example, a motor which is a variable with a value that is an RPM may be the ConditionSource for Conditions that are related to the motor, as well as a temperature sensor associated with the motor. In the former, the InputNode for the High RPM alarm is the value of the Motor RPM, while in the later the InputNode of the High Alarm would be the value of the temperature sensor that is associated with the motor.

Events are only generated for Conditions that have their Retain field set to true.

The NodeId of the Condition instance is used as ConditionId. It is not explicitly modelled as a component of the ConditionType. However, it can be requested with the following SimpleAttributeOperand in the SelectClause of the EventFilter:

Name Type Description
typeId NodeId NodeId of the ConditionType Node
browsePath[] QualifiedName empty
attributeId IntegerId Id of the NodeId Attribute

See also ConditionType for a documentation of the complete Information Model.

Member Function Documentation

UaNodeId OpcUa::ConditionTypeData::getBranchId ( )

Get the event field value BranchId.

BranchId is Null for all Event Notifications that relate to the current state of the Condition instance. If BranchId is not Null it identifies a previous state of this Condition instance that still needs attention by an Operator. If the current ConditionBranch is transformed into a previous ConditionBranch then the Server needs to assign a non-null BranchId. An initial Event for the branch will be generated with the values of the ConditionBranch and the new BranchId. The ConditionBranch can be updated many times before it is no longer needed. When the ConditionBranch no longer requires Operator input the final Event will have Retain set to FALSE. The retain bit on the current Event is TRUE, as long as any ConditionBranches require Operator input.The BranchId DataType is NodeId although the Server is not required to have ConditionBranches in the Address Space. The use of a NodeId allows the Server to use simple numeric identifiers, strings or arrays of bytes.

void OpcUa::ConditionTypeData::getBranchIdValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value BranchId for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

BranchId is Null for all Event Notifications that relate to the current state of the Condition instance. If BranchId is not Null it identifies a previous state of this Condition instance that still needs attention by an Operator. If the current ConditionBranch is transformed into a previous ConditionBranch then the Server needs to assign a non-null BranchId. An initial Event for the branch will be generated with the values of the ConditionBranch and the new BranchId. The ConditionBranch can be updated many times before it is no longer needed. When the ConditionBranch no longer requires Operator input the final Event will have Retain set to FALSE. The retain bit on the current Event is TRUE, as long as any ConditionBranches require Operator input.The BranchId DataType is NodeId although the Server is not required to have ConditionBranches in the Address Space. The use of a NodeId allows the Server to use simple numeric identifiers, strings or arrays of bytes.

UaString OpcUa::ConditionTypeData::getClientUserId ( )

Get the event field value ClientUserId.

Is related to the Comment field and contains the identity of the user who inserted the most recent Comment.

The logic to obtain the ClientUserId is defined in Part 5 of the OPC UA Specification.

void OpcUa::ConditionTypeData::getClientUserIdValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value ClientUserId for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Is related to the Comment field and contains the identity of the user who inserted the most recent Comment.

The logic to obtain the ClientUserId is defined in Part 5 of the OPC UA Specification.

UaLocalizedText OpcUa::ConditionTypeData::getComment ( )

Get the event field value Comment.

Contains the last comment provided for a certain state (ConditionBranch).

It may have been provided by an AddComment method, some other method or in some other manner. The initial value of this Variable is null, unless it is provided in some other manner. If a method provides as an option the ability to set a Comment, then the value of this Variable is reset to null if an optional comment is not provided.

void OpcUa::ConditionTypeData::getComment_SourceTimestampValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value SourceTimestamp for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getCommentValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value Comment for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Contains the last comment provided for a certain state (ConditionBranch).

It may have been provided by an AddComment method, some other method or in some other manner. The initial value of this Variable is null, unless it is provided in some other manner. If a method provides as an option the ability to set a Comment, then the value of this Variable is reset to null if an optional comment is not provided.

UaNodeId OpcUa::ConditionTypeData::getConditionClassId ( )

Get the event field value ConditionClassId.

Specifies in which domain this Condition is used.

It is the NodeId of the corresponding ConditionClassType. When using this Property for filtering, Clients have to specify all individual ConditionClassType NodeIds. The OfType operator cannot be applied. BaseConditionClassType is used as class whenever a Condition cannot be assigned to a more concrete class.

void OpcUa::ConditionTypeData::getConditionClassIdValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value ConditionClassId for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Specifies in which domain this Condition is used.

It is the NodeId of the corresponding ConditionClassType. When using this Property for filtering, Clients have to specify all individual ConditionClassType NodeIds. The OfType operator cannot be applied. BaseConditionClassType is used as class whenever a Condition cannot be assigned to a more concrete class.

UaLocalizedText OpcUa::ConditionTypeData::getConditionClassName ( )

Get the event field value ConditionClassName.

ConditionClassName provides the display name of the ConditionClassType.

void OpcUa::ConditionTypeData::getConditionClassNameValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value ConditionClassName for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

ConditionClassName provides the display name of the ConditionClassType.

UaString OpcUa::ConditionTypeData::getConditionName ( )

Get the event field value ConditionName.

Identifies the Condition instance that the Event originated from.

It can be used together with the SourceName in a user display to distinguish between different Condition instances. If a ConditionSource has only one instance of a ConditionType, and the Server has no instance name, the Server shall supply the ConditionType browse name.

void OpcUa::ConditionTypeData::getConditionNameValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value ConditionName for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Identifies the Condition instance that the Event originated from.

It can be used together with the SourceName in a user display to distinguish between different Condition instances. If a ConditionSource has only one instance of a ConditionType, and the Server has no instance name, the Server shall supply the ConditionType browse name.

OpcUa_Boolean OpcUa::ConditionTypeData::getEnabledState ( )

Get the event field state bool value for EnabledState.

EnabledState indicates whether the Condition is enabled.

EnabledState/Id is TRUE if enabled, FALSE otherwise. EnabledState/TransitionTime defines when the EnabledState last changed. Recommended state names for LocaleIds are listed in the following table.

LocaleId FALSE State Name TRUE State Name
en Disabled Enabled
de Ausgeschaltet Eingeschaltet
fr Hors Service En Service

A Condition’s EnabledState effects the generation of Event Notifications and as such results in the following specific behaviour:

  • When the Condition instance enters the Disabled state, the Retain Property of this Condition shall be set to FALSE by the Server to indicate to the Client that the Condition instance is currently not of interest to Clients.
  • When the Condition instance enters the enabled state, the Condition shall be evaluated and all of its Properties updated to reflect the current values. If this evaluation causes the Retain Property to transition to TRUE for any ConditionBranch, then an Event Notification shall be generated for that ConditionBranch.
  • The Server may choose to continue to test for a Condition instance while it is Disabled. However, no Event Notifications will be generated while the Condition instance is disabled.
  • For any Condition that exists in the AddressSpace the Attributes and the following Variables will continue to have valid values even in the Disabled state: EventId, Event Type, Source Node, Source Name, Time, and EnabledState. Other properties may no longer provide current valid values. All Variables that are no longer provided shall return a status of Bad_ConditionDisabled. The Event that reports the Disabled state should report the properties as NULL or with a status of Bad_ConditionDisabled.

When enabled, changes to the following components shall cause a ConditionType Event Notification:

  • Quality
  • Severity (inherited from BaseEventType)
  • Comment

This may not be the complete list. Subtypes may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.

void OpcUa::ConditionTypeData::getEnabledState_EffectiveDisplayNameValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value EffectiveDisplayName for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getEnabledState_EffectiveTransitionTimeValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value EffectiveTransitionTime for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getEnabledState_IdValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value Id for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getEnabledState_TransitionTimeValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value TransitionTime for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getEnabledStateValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value EnabledState for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

EnabledState indicates whether the Condition is enabled.

EnabledState/Id is TRUE if enabled, FALSE otherwise. EnabledState/TransitionTime defines when the EnabledState last changed. Recommended state names for LocaleIds are listed in the following table.

LocaleId FALSE State Name TRUE State Name
en Disabled Enabled
de Ausgeschaltet Eingeschaltet
fr Hors Service En Service

A Condition’s EnabledState effects the generation of Event Notifications and as such results in the following specific behaviour:

  • When the Condition instance enters the Disabled state, the Retain Property of this Condition shall be set to FALSE by the Server to indicate to the Client that the Condition instance is currently not of interest to Clients.
  • When the Condition instance enters the enabled state, the Condition shall be evaluated and all of its Properties updated to reflect the current values. If this evaluation causes the Retain Property to transition to TRUE for any ConditionBranch, then an Event Notification shall be generated for that ConditionBranch.
  • The Server may choose to continue to test for a Condition instance while it is Disabled. However, no Event Notifications will be generated while the Condition instance is disabled.
  • For any Condition that exists in the AddressSpace the Attributes and the following Variables will continue to have valid values even in the Disabled state: EventId, Event Type, Source Node, Source Name, Time, and EnabledState. Other properties may no longer provide current valid values. All Variables that are no longer provided shall return a status of Bad_ConditionDisabled. The Event that reports the Disabled state should report the properties as NULL or with a status of Bad_ConditionDisabled.

When enabled, changes to the following components shall cause a ConditionType Event Notification:

  • Quality
  • Severity (inherited from BaseEventType)
  • Comment

This may not be the complete list. Subtypes may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.

OpcUa_UInt16 OpcUa::ConditionTypeData::getLastSeverity ( )

Get the event field value LastSeverity.

Provides the previous severity of the ConditionBranch.

Initially this Variable contains a zero value; it will return a value only after a severity change. The new severity is supplied via the Severity Property which is inherited from the BaseEventType.

void OpcUa::ConditionTypeData::getLastSeverity_SourceTimestampValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value SourceTimestamp for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getLastSeverityValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value LastSeverity for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Provides the previous severity of the ConditionBranch.

Initially this Variable contains a zero value; it will return a value only after a severity change. The new severity is supplied via the Severity Property which is inherited from the BaseEventType.

OpcUa_StatusCode OpcUa::ConditionTypeData::getQuality ( )

Get the event field value Quality.

Reveals the status of process values or other resources that this Condition instance is based upon.

If, for example, a process value is “Uncertain”, the associated “LevelAlarm” Condition is also questionable. Values for the Quality can be any of the OPC StatusCodes defined in Part 8 of the OPC UA Specification as well as Good, Uncertain and Bad as defined in Part 4 of the OPC UA Specification. These StatusCodes are similar to but slightly more generic than the description of data quality in the various field bus Specifications. It is the responsibility of the Server to map internal status information to these codes. A Server which supports no quality information shall return Good. This quality can also reflect the communication status associated with the system that this value or resource is based on and from which this Alarm was received. For communication errors to the underlying system, especially those that result in some unavailable Event fields, the quality shall be Bad_NoCommunication error.

void OpcUa::ConditionTypeData::getQuality_SourceTimestampValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value SourceTimestamp for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client.

void OpcUa::ConditionTypeData::getQualityValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value Quality for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Reveals the status of process values or other resources that this Condition instance is based upon.

If, for example, a process value is “Uncertain”, the associated “LevelAlarm” Condition is also questionable. Values for the Quality can be any of the OPC StatusCodes defined in Part 8 of the OPC UA Specification as well as Good, Uncertain and Bad as defined in Part 4 of the OPC UA Specification. These StatusCodes are similar to but slightly more generic than the description of data quality in the various field bus Specifications. It is the responsibility of the Server to map internal status information to these codes. A Server which supports no quality information shall return Good. This quality can also reflect the communication status associated with the system that this value or resource is based on and from which this Alarm was received. For communication errors to the underlying system, especially those that result in some unavailable Event fields, the quality shall be Bad_NoCommunication error.

OpcUa_Boolean OpcUa::ConditionTypeData::getRetain ( )

Get the event field value Retain.

Retain when TRUE describes a Condition (or ConditionBranch) as being in a state that is interesting for a Client wishing to synchronize its state with the Server’s state. The logic to determine how this flag is set is Server specific. Typically all Active Alarms would have the Retain flag set; however, it is also possible for inactive Alarms to have their Retain flag set to TRUE. In normal processing, when a Client receives an Event with the Retain flag set to FALSE, the Client should consider this as a ConditionBranch that is no longer of interest, in the case of a “current Alarm display” the ConditionBranch would be removed from the display.

void OpcUa::ConditionTypeData::getRetainValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value Retain for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Retain when TRUE describes a Condition (or ConditionBranch) as being in a state that is interesting for a Client wishing to synchronize its state with the Server’s state. The logic to determine how this flag is set is Server specific. Typically all Active Alarms would have the Retain flag set; however, it is also possible for inactive Alarms to have their Retain flag set to TRUE. In normal processing, when a Client receives an Event with the Retain flag set to FALSE, the Client should consider this as a ConditionBranch that is no longer of interest, in the case of a “current Alarm display” the ConditionBranch would be removed from the display.

void OpcUa::ConditionTypeData::initializeAsBranch ( ConditionTypeBase pCondition)

This method is used to initializes the ConditionTypeData object with event data from a condition object to create a branch of this condition object.

The method creates a unique BranchId. EventManagerBase::fireEvent() is used send the intial branch state and status updates for the branch to the client(s). It is necessary to update the timestamps and the EventId for every update sent to the client(s).

Parameters
pConditionThe condition object .
void OpcUa::ConditionTypeData::initializeAsBranch ( ConditionTypeData pConditionData)

This method is used to initializes the ConditionTypeData object with event data from another condition data object to create a branch of this condition data object.

The method creates a unique BranchId. EventManagerBase::fireEvent() is used to send the intial branch state and status updates for the branch to the client(s). It is necessary to update the timestamps and the EventId for every update sent to the client(s).

Parameters
pConditionDataThe condition data object .
virtual void OpcUa::ConditionTypeData::lockEventData ( )
inlinevirtual

Lock the event data for data update and event handling.

This method is used for event data objects maintaining a state for conditions since there may be concurrent access to the condition data by a condition update and a condition refresh triggered by a client. This method is also used during the event processing in the SDK.

Reimplemented from UaEventData.

void OpcUa::ConditionTypeData::setBranchId ( const UaNodeId BranchId)

Set the event field value BranchId.

BranchId is Null for all Event Notifications that relate to the current state of the Condition instance. If BranchId is not Null it identifies a previous state of this Condition instance that still needs attention by an Operator. If the current ConditionBranch is transformed into a previous ConditionBranch then the Server needs to assign a non-null BranchId. An initial Event for the branch will be generated with the values of the ConditionBranch and the new BranchId. The ConditionBranch can be updated many times before it is no longer needed. When the ConditionBranch no longer requires Operator input the final Event will have Retain set to FALSE. The retain bit on the current Event is TRUE, as long as any ConditionBranches require Operator input.The BranchId DataType is NodeId although the Server is not required to have ConditionBranches in the Address Space. The use of a NodeId allows the Server to use simple numeric identifiers, strings or arrays of bytes.

void OpcUa::ConditionTypeData::setBranchIdStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value BranchId.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setClientUserId ( const UaString ClientUserId)

Set the event field value ClientUserId.

Is related to the Comment field and contains the identity of the user who inserted the most recent Comment.

The logic to obtain the ClientUserId is defined in Part 5 of the OPC UA Specification.

void OpcUa::ConditionTypeData::setClientUserIdStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value ClientUserId.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setComment ( const UaLocalizedText Comment)

Set the event field value Comment.

Contains the last comment provided for a certain state (ConditionBranch).

It may have been provided by an AddComment method, some other method or in some other manner. The initial value of this Variable is null, unless it is provided in some other manner. If a method provides as an option the ability to set a Comment, then the value of this Variable is reset to null if an optional comment is not provided.

void OpcUa::ConditionTypeData::setComment_SourceTimestampStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value SourceTimestamp.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setCommentStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value Comment.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setConditionClassId ( const UaNodeId ConditionClassId)

Set the event field value ConditionClassId.

Specifies in which domain this Condition is used.

It is the NodeId of the corresponding ConditionClassType. When using this Property for filtering, Clients have to specify all individual ConditionClassType NodeIds. The OfType operator cannot be applied. BaseConditionClassType is used as class whenever a Condition cannot be assigned to a more concrete class.

void OpcUa::ConditionTypeData::setConditionClassIdStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value ConditionClassId.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setConditionClassName ( const UaLocalizedText ConditionClassName)

Set the event field value ConditionClassName.

ConditionClassName provides the display name of the ConditionClassType.

void OpcUa::ConditionTypeData::setConditionClassNameStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value ConditionClassName.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setConditionName ( const UaString ConditionName)

Set the event field value ConditionName.

Identifies the Condition instance that the Event originated from.

It can be used together with the SourceName in a user display to distinguish between different Condition instances. If a ConditionSource has only one instance of a ConditionType, and the Server has no instance name, the Server shall supply the ConditionType browse name.

void OpcUa::ConditionTypeData::setConditionNameStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value ConditionName.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setEnabledState ( OpcUa_Boolean  EnabledState)

Set the event field state bool value for EnabledState.

EnabledState indicates whether the Condition is enabled.

EnabledState/Id is TRUE if enabled, FALSE otherwise. EnabledState/TransitionTime defines when the EnabledState last changed. Recommended state names for LocaleIds are listed in the following table.

LocaleId FALSE State Name TRUE State Name
en Disabled Enabled
de Ausgeschaltet Eingeschaltet
fr Hors Service En Service

A Condition’s EnabledState effects the generation of Event Notifications and as such results in the following specific behaviour:

  • When the Condition instance enters the Disabled state, the Retain Property of this Condition shall be set to FALSE by the Server to indicate to the Client that the Condition instance is currently not of interest to Clients.
  • When the Condition instance enters the enabled state, the Condition shall be evaluated and all of its Properties updated to reflect the current values. If this evaluation causes the Retain Property to transition to TRUE for any ConditionBranch, then an Event Notification shall be generated for that ConditionBranch.
  • The Server may choose to continue to test for a Condition instance while it is Disabled. However, no Event Notifications will be generated while the Condition instance is disabled.
  • For any Condition that exists in the AddressSpace the Attributes and the following Variables will continue to have valid values even in the Disabled state: EventId, Event Type, Source Node, Source Name, Time, and EnabledState. Other properties may no longer provide current valid values. All Variables that are no longer provided shall return a status of Bad_ConditionDisabled. The Event that reports the Disabled state should report the properties as NULL or with a status of Bad_ConditionDisabled.

When enabled, changes to the following components shall cause a ConditionType Event Notification:

  • Quality
  • Severity (inherited from BaseEventType)
  • Comment

This may not be the complete list. Subtypes may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.

void OpcUa::ConditionTypeData::setEnabledState_EffectiveDisplayNameStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value EffectiveDisplayName.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setEnabledState_EffectiveTransitionTimeStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value EffectiveTransitionTime.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setEnabledState_TransitionTimeStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value TransitionTime.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setEnabledStateStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value EnabledState.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

EnabledState indicates whether the Condition is enabled.

EnabledState/Id is TRUE if enabled, FALSE otherwise. EnabledState/TransitionTime defines when the EnabledState last changed. Recommended state names for LocaleIds are listed in the following table.

LocaleId FALSE State Name TRUE State Name
en Disabled Enabled
de Ausgeschaltet Eingeschaltet
fr Hors Service En Service

A Condition’s EnabledState effects the generation of Event Notifications and as such results in the following specific behaviour:

  • When the Condition instance enters the Disabled state, the Retain Property of this Condition shall be set to FALSE by the Server to indicate to the Client that the Condition instance is currently not of interest to Clients.
  • When the Condition instance enters the enabled state, the Condition shall be evaluated and all of its Properties updated to reflect the current values. If this evaluation causes the Retain Property to transition to TRUE for any ConditionBranch, then an Event Notification shall be generated for that ConditionBranch.
  • The Server may choose to continue to test for a Condition instance while it is Disabled. However, no Event Notifications will be generated while the Condition instance is disabled.
  • For any Condition that exists in the AddressSpace the Attributes and the following Variables will continue to have valid values even in the Disabled state: EventId, Event Type, Source Node, Source Name, Time, and EnabledState. Other properties may no longer provide current valid values. All Variables that are no longer provided shall return a status of Bad_ConditionDisabled. The Event that reports the Disabled state should report the properties as NULL or with a status of Bad_ConditionDisabled.

When enabled, changes to the following components shall cause a ConditionType Event Notification:

  • Quality
  • Severity (inherited from BaseEventType)
  • Comment

This may not be the complete list. Subtypes may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.

void OpcUa::ConditionTypeData::setLastSeverity ( OpcUa_UInt16  LastSeverity)

Set the event field value LastSeverity.

Provides the previous severity of the ConditionBranch.

Initially this Variable contains a zero value; it will return a value only after a severity change. The new severity is supplied via the Severity Property which is inherited from the BaseEventType.

void OpcUa::ConditionTypeData::setLastSeverity_SourceTimestampStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value SourceTimestamp.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setLastSeverityStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value LastSeverity.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setQuality ( OpcUa_StatusCode  Quality)

Set the event field value Quality.

Reveals the status of process values or other resources that this Condition instance is based upon.

If, for example, a process value is “Uncertain”, the associated “LevelAlarm” Condition is also questionable. Values for the Quality can be any of the OPC StatusCodes defined in Part 8 of the OPC UA Specification as well as Good, Uncertain and Bad as defined in Part 4 of the OPC UA Specification. These StatusCodes are similar to but slightly more generic than the description of data quality in the various field bus Specifications. It is the responsibility of the Server to map internal status information to these codes. A Server which supports no quality information shall return Good. This quality can also reflect the communication status associated with the system that this value or resource is based on and from which this Alarm was received. For communication errors to the underlying system, especially those that result in some unavailable Event fields, the quality shall be Bad_NoCommunication error.

void OpcUa::ConditionTypeData::setQuality_SourceTimestampStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value SourceTimestamp.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setQualityStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value Quality.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

void OpcUa::ConditionTypeData::setRetain ( OpcUa_Boolean  Retain)

Set the event field value Retain.

Retain when TRUE describes a Condition (or ConditionBranch) as being in a state that is interesting for a Client wishing to synchronize its state with the Server’s state. The logic to determine how this flag is set is Server specific. Typically all Active Alarms would have the Retain flag set; however, it is also possible for inactive Alarms to have their Retain flag set to TRUE. In normal processing, when a Client receives an Event with the Retain flag set to FALSE, the Client should consider this as a ConditionBranch that is no longer of interest, in the case of a “current Alarm display” the ConditionBranch would be removed from the display.

void OpcUa::ConditionTypeData::setRetainStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value Retain.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.

virtual void OpcUa::ConditionTypeData::unlockEventData ( )
inlinevirtual

Unlock the event data after data update or event handling.

This method is used for event data objects maintaining a state for conditions since there may be concurrent access to the condition data by a condition update and a condition refresh triggered by a client. This method is also used during the event processing in the SDK.

Reimplemented from UaEventData.


The documentation for this class was generated from the following files: