Sometimes you may have a need to obtain additional information that comes from the mapping process; such as what were the resulting values of propagated parameters, or what is the precise node the current object is being mapped to (this is useful when the object is used repeatedly for patterns of nodes in the OPC address space). In order to have this information stored into members of your objects, you can use meta-members.
Annotating a member (field, method or property) with the MetaMember attribute causes it to be set to named information gathered during mapping (a meta-information).
The MetaMember attribute has a Name argument that denotes which meta-information will be used.
Meta-members in the following table are available for both OPC Classic and OPC-UA:
Name | Type | Description |
Mappings | IEnumerable<AbstractMapping> | An enumeration of mappings defined directly on the target object. |
Parent | Object | A reference to the parent target object; null if none. |
In addition, meta-members in the following table are available for OPC Classic:
Name | Type | Description |
GroupParameters | DAGroupParameters | An object containing subscription parameters, such as the requested update rate. |
NodeDescriptor | DANodeDescriptor | The descriptor of the OPC node involved in the operation. |
ReadParameters | DAReadParameters | The read parameters (such as data source or value age). |
ServerDescriptor | ServerDescriptor | An OPC server involved in the operation. |
In addition, meta-members in the following table are available for OPC-UA:
Name | Type | Description |
EndpointDescriptor | UAEndpointDescriptor | An OPC-UA server involved in the operation. |
MonitoringParameters | UAMonitoringParameters | An object containing monitoring parameters, such as the sampling interval. |
NodeDescriptor | UANodeDescriptor | The descriptor of the OPC-UA node involved in the operation. |
ReadParameters | UAReadParameters | The read parameters (such as the maximum age of the value). |
SubscriptionParameters | UASubscriptionParameters | An object containing subscription parameters, such as the publishing interval. |
All meta-information is constant after being established, and changing it later has no effect on the underlying mappings.