.NET Based OPC UA Client/Server SDK
3.3.1.531
|
Used as type for DataTypeEncodings. More...
Inherits UnifiedAutomation.UaServer.BaseObjectModel.
Public Member Functions | |||
DataTypeEncodingModel () | |||
Initializes a new instance of the DataTypeEncodingModel class. More... | |||
DataTypeEncodingModel (DataTypeEncodingModel template, DummyArgument dummy=null) | |||
Initializes a new instance of the DataTypeEncodingModel class. More... | |||
Public Member Functions inherited from UnifiedAutomation.UaServer.BaseObjectModel | |||
BaseObjectModel () | |||
Initializes a new instance of the BaseObjectModel class. More... | |||
BaseObjectModel (BaseObjectModel template, DummyArgument dummy=null) | |||
Initializes a new instance of the BaseObjectModel class. 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... | |||
StatusCode | GetStatusCode (string propertyName) | ||
Retrieve the status code for the given property. If no status code was explicitly set, StatusCodes.Good will be returned.
| |||
void | SetStatusCode (string propertyName, StatusCode statusCode) | ||
Sets the status code of the given property. More... | |||
Additional Inherited Members | |
Public Attributes inherited from UnifiedAutomation.UaServer.ModelControllerBase | |
bool | HasStatusCodes => m_statusCodes != null && m_statusCodes.Count > 0 |
Protected Member Functions inherited from UnifiedAutomation.UaServer.ModelControllerBase | |
void | RaisePropertyChangedEvent ([CallerMemberName] string propertyName=null) |
Raises an property change event. More... | |
void | RaisePropertyChangeRequestedEvent< T > (T value, [CallerMemberName] string propertyName=null) |
Called when the value of a property is supposed to be changed. More... | |
bool | SetField< T > (ref T field, T value, [CallerMemberName] string propertyName=null) |
Sets the backing field to the new value, and triggers a property change event, if the value has changed. 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... | |
Properties inherited from UnifiedAutomation.UaServer.INotifyStatusCodeInfo | |
bool | HasStatusCodes [get] |
true if no property has an explicit set status code. Hence when all status codes are implicit StatusCodes.Good. More... | |
Events inherited from UnifiedAutomation.UaServer.ModelControllerBase | |
PropertyChangedEventHandler | PropertyChanged |
Occurs when a property value changes. More... | |
EventHandler < PropertyChangeRequestedEventArgs > | PropertyChangeRequested |
The event is emitted just before the value will be changed, and gives the observer the opportunity to reject or adjust (e.g. clamp) the property change by setting the PropertyChangeRequestedEventArgs.StatusCode and PropertyChangeRequestedEventArgs.Value properties. More... | |
EventHandler < StatusCodeChangedEventArgs > | StatusCodeChanged |
Events inherited from UnifiedAutomation.UaServer.INotifyPropertyChangeRequested | |
EventHandler < PropertyChangeRequestedEventArgs > | PropertyChangeRequested |
The property change request event. More... | |
Events inherited from UnifiedAutomation.UaServer.INotifyStatusCodeInfo | |
EventHandler < StatusCodeChangedEventArgs > | StatusCodeChanged |
Occurs if the status code of a property was changed. More... | |
Used as type for DataTypeEncodings.
Different kinds of DataTypes are handled differently regarding their encoding and whether this encoding is represented in the AddressSpace.
Built-in DataTypes are a fixed set of DataTypes (see Part 6 of the OPC UA Specification for a complete list of Built-in DataTypes). They have no encodings visible in the AddressSpace since the encoding should be known to all OPC UA products. Examples of Built-in DataTypes are Int32 and Double.
Simple DataTypes are subtypes of the Built-in DataTypes. They are handled on the wire like the Built-in DataType, i.e. they cannot be distinguished on the wire from their Built-in supertypes. Since they are handled like Built-in DataTypes regarding the encoding they cannot have encodings defined in the AddressSpace. Clients can read the DataType Attribute of a Variable or VariableType to identify the Simple DataType of the Value Attribute. An example of a Simple DataType is Duration. It is handled on the wire as a Double but the Client can read the DataType Attribute and thus interpret the value as defined by Duration.
Structured DataTypes are DataTypes that represent structured data and are not defined as Built-in DataTypes. Structured DataTypes inherit directly or indirectly from the DataType Structure. Structured DataTypes may have several encodings and the encodings are exposed in the AddressSpace. How the encoding of Structured DataTypes is handled on the wire is defined in Part 6 of the OPC UA Specification. The encoding of the Structured DataType is transmitted with each value, thus Clients are aware of the DataType without reading the DataType Attribute. The encoding has to be transmitted so the Client is able to interpret the data. An example of a Structured DataType is Argument.
Enumeration DataTypes are DataTypes that represent discrete sets of named values. Enumerations are always encoded as Int32 on the wire as defined in Part 6 of the OPC UA Specification. Enumeration DataTypes inherit directly or indirectly from the DataType Enumeration. Enumerations have no encodings exposed in the AddressSpace. To expose the human-readable representation of an enumerated value the DataType Node may have the EnumStrings Property that contains an array of LocalizedText. The Integer representation of the enumeration value points to a position within that array. The EnumValues Property can be used instead of the EnumStrings to support integer representation of enumerations that are not zero-based or have gaps. It contains an array of a Structured DataType containing the integer representation as well as the human-readable representation. An example of an enumeration DataType containing a sparse list of Integers is NodeClass.
In addition to the DataTypes described above, abstract DataTypes are also supported, which do not have any encodings and cannot be exchanged on the wire. Variables and VariableTypes use abstract DataTypes to indicate that their Value may be any one of the subtypes of the abstract DataType. An example of an abstract DataType is Integer.
UnifiedAutomation.UaServer.DataTypeEncodingModel.DataTypeEncodingModel | ( | ) |
Initializes a new instance of the DataTypeEncodingModel class.
UnifiedAutomation.UaServer.DataTypeEncodingModel.DataTypeEncodingModel | ( | DataTypeEncodingModel | template, |
DummyArgument | dummy = null |
||
) |
Initializes a new instance of the DataTypeEncodingModel class.
template | The template. |
dummy | Dummy argument to enable writing own constructors that are called by the generated code. |