The ConditionType defines all general characteristics of a Condition. All other ConditionTypes derive from it.
More...
|
virtual StatusCode | Enable (RequestContext context) |
| Changes a Condition instance to the Disabled state. More...
|
|
virtual StatusCode | Disable (RequestContext context) |
| Change a Condition instance to the enabled state. More...
|
|
virtual StatusCode | AddComment (RequestContext context, byte[] eventId, LocalizedText comment) |
| Applies a comment to a specific state of a Condition instance. More...
|
|
virtual void | UpdateEnabledEffectiveDisplayName () |
| Updates the effect display name for the enabled state. More...
|
|
| ConditionModel () |
| Initializes a new instance of the ConditionModel class. More...
|
|
| ConditionModel (ConditionModel template) |
| Initializes a new instance of the ConditionModel class. More...
|
|
override void | UpdateEvent (GenericEvent e) |
| Updates the event. More...
|
|
virtual CallMethodEventHandler | GetMethodDispatcher (RequestContext context, NodeId objectId, NodeId methodId) |
| Gets the method dispatcher. More...
|
|
virtual StatusCode | DispatchMethod (RequestContext context, MethodHandle methodHandle, IList< Variant > inputArguments, List< StatusCode > inputArgumentResults, List< Variant > outputArguments) |
| Dispatches the method. More...
|
|
| BaseEventModel () |
| Initializes a new instance of the BaseEventModel class. More...
|
|
| BaseEventModel (BaseEventModel template) |
| Initializes a new instance of the BaseEventModel class. More...
|
|
void | NewId () |
| Assigns a new EventId, Time and ReceiveTime to the event. More...
|
|
virtual GenericEvent | CreateEvent (FilterManager manager) |
| Creates the event. More...
|
|
virtual GenericEvent | CreateEvent (FilterManager manager, bool autoGenerateEventIdAndTime) |
| Creates the event. More...
|
|
virtual ModelHandle | GetModelHandle (StringTable namespaceUris, object instance) |
| Gets the metadata handle. More...
|
|
virtual DataValue | GetValue (IMapperContext context, ModelMapping mapping) |
| Gets the value associated with the mapping. More...
|
|
virtual bool | SetValue (IMapperContext context, ModelMapping mapping, DataValue value) |
| Sets the value associated with the mapping. More...
|
|
|
NodeId | BranchId [get, set] |
|
string | ClientUserId [get, set] |
| Is related to the Comment field and contains the identity of the user who inserted the most recent Comment. More...
|
|
ConditionVariableModel
< LocalizedText > | Comment [get, set] |
| Contains the last comment provided for a certain state (ConditionBranch). More...
|
|
NodeId | ConditionClassId [get, set] |
| Specifies in which domain this Condition is used. More...
|
|
LocalizedText | ConditionClassName [get, set] |
|
string | ConditionName [get, set] |
| Identifies the Condition instance that the Event originated from. More...
|
|
NodeId[] | ConditionSubClassId [get, set] |
| Gets or sets the ConditionSubClassId More...
|
|
LocalizedText[] | ConditionSubClassName [get, set] |
| Gets or sets the ConditionSubClassName More...
|
|
TwoStateVariableModel | EnabledState [get, set] |
| EnabledState indicates whether the Condition is enabled. More...
|
|
ConditionVariableModel< ushort > | LastSeverity [get, set] |
| Provides the previous severity of the ConditionBranch. More...
|
|
ConditionVariableModel
< StatusCode > | Quality [get, set] |
| Reveals the status of process values or other resources that this Condition instance is based upon. More...
|
|
bool | Retain [get, set] |
|
IConditionMethods | ConditionMethods [get, set] |
| Gets or sets the Condition methods. More...
|
|
NodeId | NodeId [get, set] |
| The node identifier for a representation of an event in the Server address space. Used mainly for ConditionIds. More...
|
|
byte[] | EventId [get, set] |
| Generated by the server to uniquely identify a particular Event Notification. More...
|
|
NodeId | EventType [get, set] |
| Describes the specific type of Event. More...
|
|
NodeId | SourceNode [get, set] |
| Identifies the Node that the Event originated from. More...
|
|
string | SourceName [get, set] |
| Provides a description of the source of the Event. More...
|
|
DateTime | Time [get, set] |
| Provides the time the Event occurred. More...
|
|
DateTime | ReceiveTime [get, set] |
| Provides the time the OPC UA Server received the Event from the underlying device of another Server. More...
|
|
TimeZoneDataType | LocalTime [get, set] |
| Contains the Offset and the DaylightSavingInOffset flag. More...
|
|
LocalizedText | Message [get, set] |
| Provides a human-readable and localizable text description of the Event. More...
|
|
ushort | Severity [get, set] |
| An indication of the urgency of the Event. More...
|
|
INodeAccessInfo | NodeAccessInfo [get, set] |
| Using a NodeAccessInfo can restrict the access of an event to single scopes. More...
|
|
ModelHandle | ModelHandle [get, set] |
| Gets or sets the metadata handle. More...
|
|
object | UserData [get, set] |
| Gets or sets the user data. More...
|
|
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 |
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.
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.