UA Bundle SDK .NET
2.3.3.343
|
Inherits UnifiedAutomation.UaServer.BaseEventModel, and UnifiedAutomation.UaServer.IMethodDispatcher.
Inherited by UnifiedAutomation.UaServer.AcknowledgeableConditionModel, and UnifiedAutomation.UaServer.DialogConditionModel.
Public Member Functions | |
virtual StatusCode | Enable (RequestContext context) |
Enables the condition. More... | |
virtual StatusCode | Disable (RequestContext context) |
Disables the condition. More... | |
virtual StatusCode | AddComment (RequestContext context, byte[] eventId, LocalizedText comment) |
Adds a comment to the condition. 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... | |
Public Member Functions inherited from UnifiedAutomation.UaServer.BaseEventModel | |
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... | |
Public Member Functions inherited from UnifiedAutomation.UaServer.ModelControllerBase | |
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... | |
Properties | |
NodeId | BranchId [get, set] |
Gets or sets the BranchId More... | |
string | ClientUserId [get, set] |
Gets or sets the ClientUserId More... | |
ConditionVariableModel < LocalizedText > | Comment [get, set] |
Gets or sets the Comment More... | |
NodeId | ConditionClassId [get, set] |
Gets or sets the ConditionClassId More... | |
LocalizedText | ConditionClassName [get, set] |
Gets or sets the ConditionClassName More... | |
string | ConditionName [get, set] |
Gets or sets the ConditionName More... | |
TwoStateVariableModel | EnabledState [get, set] |
Gets or sets the EnabledState More... | |
ConditionVariableModel< ushort > | LastSeverity [get, set] |
Gets or sets the LastSeverity More... | |
ConditionVariableModel < StatusCode > | Quality [get, set] |
Gets or sets the Quality More... | |
bool | Retain [get, set] |
Gets or sets the Retain More... | |
IConditionMethods | ConditionMethods [get, set] |
Gets or sets the Condition methods. More... | |
Properties inherited from UnifiedAutomation.UaServer.BaseEventModel | |
NodeId | NodeId [get, set] |
Gets or sets the event id. 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... | |
Properties inherited from UnifiedAutomation.UaServer.ModelControllerBase | |
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 sub state machine. The ConditionType inherits all Properties of the BaseEventType. SourceNode identifies the ConditionSource. See Clause 5.12 for more details. 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.
ConditionClassId specifies in which domain this Condition is used. It is the NodeId of the corresponding ConditionClassType. See UnifiedAutomation.UaServer.ConditionModel.ConditionClassId for more details.
ConditionClassName provides the display name of the ConditionClassType.
ConditionName identifies the Condition instance that the Event originated from. See UnifiedAutomation.UaServer.ConditionModel.ConditionName for more details.
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. See UnifiedAutomation.UaServer.ConditionModel.BranchId for more details.
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. See UnifiedAutomation.UaServer.ConditionModel.Retain for more details.
EnabledState indicates whether the Condition is enabled. See UnifiedAutomation.UaServer.ConditionModel.EnabledState for more details.
Quality reveals the status of process values or other resources that this Condition instance is based upon. See UnifiedAutomation.UaServer.ConditionModel.Quality for more details.
Events are only generated for Conditions that have their Retain field set to true.
LastSeverity provides the previous severity of the ConditionBranch. See UnifiedAutomation.UaServer.ConditionModel.LastSeverity for more details.
Comment contains the last comment provided for a certain state (ConditionBranch). See UnifiedAutomation.UaServer.ConditionModel.Comment for more details.
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.
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 |
|
inline |
Initializes a new instance of the ConditionModel class.
|
inline |
Initializes a new instance of the ConditionModel class.
template | The template. |
|
inlinevirtual |
Adds a comment to the condition.
|
inlinevirtual |
Disables the condition.
|
inlinevirtual |
Dispatches the method.
context | The context. |
methodHandle | The method handle. |
inputArguments | The input arguments. |
inputArgumentResults | The input argument results. |
outputArguments | The output arguments. |
Reimplemented in UnifiedAutomation.UaServer.DialogConditionModel, and UnifiedAutomation.UaServer.AcknowledgeableConditionModel.
|
inlinevirtual |
Enables the condition.
|
inlinevirtual |
Gets the method dispatcher.
context | The context. |
objectId | The object id. |
methodId | The method id. |
Implements UnifiedAutomation.UaServer.IMethodDispatcher.
Reimplemented in UnifiedAutomation.UaServer.DialogConditionModel, and UnifiedAutomation.UaServer.AcknowledgeableConditionModel.
|
inlinevirtual |
Updates the effect display name for the enabled state.
Reimplemented in UnifiedAutomation.UaServer.ExclusiveLimitAlarmModel, UnifiedAutomation.UaServer.AlarmConditionModel, and UnifiedAutomation.UaServer.AcknowledgeableConditionModel.
|
inlinevirtual |
Updates the event.
e | The event to update. |
Reimplemented from UnifiedAutomation.UaServer.BaseEventModel.
Reimplemented in UnifiedAutomation.UaServer.DialogConditionModel, UnifiedAutomation.UaServer.NonExclusiveRateOfChangeAlarmModel, UnifiedAutomation.UaServer.NonExclusiveLevelAlarmModel, UnifiedAutomation.UaServer.NonExclusiveDeviationAlarmModel, UnifiedAutomation.UaServer.NonExclusiveLimitAlarmModel, UnifiedAutomation.UaServer.ExclusiveRateOfChangeAlarmModel, UnifiedAutomation.UaServer.ExclusiveLevelAlarmModel, UnifiedAutomation.UaServer.ExclusiveDeviationAlarmModel, UnifiedAutomation.UaServer.ExclusiveLimitAlarmModel, UnifiedAutomation.UaServer.LimitAlarmModel, UnifiedAutomation.UaServer.TripAlarmModel, UnifiedAutomation.UaServer.SystemOffNormalAlarmModel, UnifiedAutomation.UaServer.OffNormalAlarmModel, UnifiedAutomation.UaServer.DiscreteAlarmModel, UnifiedAutomation.UaServer.AlarmConditionModel, and UnifiedAutomation.UaServer.AcknowledgeableConditionModel.
|
getset |
Gets or sets the 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. See Clause 4.4 for more information about the need for creating and maintaining previous ConditionBranches and Annex B.1 for an example using branches. 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.
|
getset |
Gets or sets the ClientUserId
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.
|
getset |
Gets or sets the Comment
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.
|
getset |
Gets or sets the ConditionClassId
ConditionClassId specifies in which domain this Condition is used. It is the NodeId of the corresponding ConditionClassType. See clause 5.9 for the definition of ConditionClass and a set of ConditionClasses defined in this standard. 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.
|
getset |
Gets or sets the ConditionClassName
ConditionClassName provides the display name of the ConditionClassType.
|
getset |
Gets or sets the Condition methods.
The Condition methods.
|
getset |
Gets or sets the ConditionName
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.
|
getset |
Gets or sets the 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 enabled, changes to the following components shall cause a ConditionType Event Notification:
This may not be the complete list. Sub-Types may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.
|
getset |
Gets or sets the LastSeverity
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.
|
getset |
Gets or sets the Quality
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 (Data Access) as well as Good, Uncertain and Bad as defined in Part 4. These StatusCodes are similar to but slightly more generic than the description of data quality in the various Fieldbus 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.
|
getset |
Gets or sets the 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.