C++ Based OPC UA Client/Server SDK
1.5.6.361
|
Reference | NodeClass | BrowseName | DataType | ValueRank | TypeDefinition | ModellingRule |
---|---|---|---|---|---|---|
HasSupertype | VariableType | StateVariableType | ||||
HasProperty | Variable | EffectiveTransitionTime | UtcTime | Scalar | PropertyType | Optional |
HasProperty | Variable | FalseState | LocalizedText | Scalar | PropertyType | Optional |
HasProperty | Variable | Id | Boolean | Scalar | PropertyType | Mandatory |
HasProperty | Variable | TransitionTime | UtcTime | Scalar | PropertyType | Optional |
HasProperty | Variable | TrueState | LocalizedText | Scalar | PropertyType | Optional |
Most states defined in the OPC UA Specification are simple – i.e. they are either TRUE or FALSE. The TwoStateVariableType is introduced specifically for this use case. More complex states are modelled by using a StateMachineType. The TwoStateVariableType is derived from the StateVariableType. The Value Attribute of a TwoStateVariable contains the current state as a human readable name. The EnabledState for example, might contain the name “Enabled” when TRUE and “Disabled” when FALSE.
The optional Property EffectiveDisplayName from the StateVariableType is used if a state has substates. It contains a human readable name for the current state after taking the state of any SubStateMachines in account. As an example, the EffectiveDisplayName of the EnabledState could contain “Active/HighHigh” to specify that the Condition is active and has exceeded the HighHigh limit.
A HasTrueSubState Reference is used to indicate that the TRUE state has substates.
A HasFalseSubState Reference is used to indicate that the FALSE state has substates.
The Property Id shall be the current state, i.e. either TRUE or FALSE.
Id is inherited from the StateVariableType and overridden to reflect the required DataType (Boolean).
TransitionTime specifies the time when the current state was entered.
EffectiveTransitionTime specifies the time when the current state or one of its substates was entered.
If, for example, a LevelAlarm is active and – while active – switches several times between High and HighHigh, then the TransitionTime stays at the point in time where the Alarm became active whereas the EffectiveTransitionTime changes with each shift of a substate.
TrueState and FalseState contain the localized string for the TwoStateVariable value when its Id Property has the value TRUE or FALSE, respectively.
Since the two Properties provide meta-data for the Type, Servers may not allow these Properties to be selected in the Event filter for a monitored item. Clients can use the Read Service to get the information from the specific ConditionType.
TrueState and FalseState contain the localized string for the TwoStateVariable value when its Id Property has the value TRUE or FALSE, respectively.
Since the two Properties provide metadata for the Type, Servers may not allow these Properties to be selected in the Event filter for a monitored item. Clients can use the Read Service to get the information from the specific ConditionType.
Reference | NodeClass | BrowseName | DataType | ValueRank | TypeDefinition | ModellingRule |
---|---|---|---|---|---|---|
HasSupertype | VariableType | BaseDataVariableType | ||||
HasProperty | Variable | SourceTimestamp | UtcTime | Scalar | PropertyType | Mandatory |
Various information elements of a Condition are not considered to be states. However, a change in their value is considered important and supposed to trigger an Event Notification. These information elements are called ConditionVariables. ConditionVariables are represented by a ConditionVariableType. It defines the mandatory Property SourceTimestamp.
SourceTimestamp indicates the time of the last change of the Value of this ConditionVariable.
It shall be the same time that would be returned from the Read Service inside the DataValue structure for the ConditionVariable Value Attribute.