Read Point Attributes
All Points in the CIMPLICITY project are mapped to UA Objects. The Value of the point can be read or subscribed to by selecting the "Value" component of the Point object. The NodeId of the Point object is the CIMPLICITY Point unique identifier. The NodeId of the Value component is constructed by appending the text ".Value" to the Point ID.
The CIMPLICITY Attributes associated with a Point are properties of the 'Attributes' component. Only a subset of CIMPLICITY Attributes are exposed via OPC UA. The subset was chosen based on the CIMPLICITY Attributes currently exposed by the OPC UA Server.
The following table defines the mapping for all CIMPLICITY Attributes:
CIMPLICITY Attribute | Mapping | Attribute Name | Access | Rule |
DESCRIPTION | UA Description Attribute | - | Static | Always Present |
DEVICE_ID | CIM Attribute | DEVICE_ID | Static | Device Points Only |
ADDR | CIM Attribute | ADDR | Static | Device Points Only |
ADDR_OFFSET | CIM Attribute | ADDR_OFFSET | Static | Device Points Only |
ANALOG_DEADBAND | CIM Attribute | ANALOG_DEADBAND | Static | Device Points Only and If Specified |
FR_ID | CIM Attribute | FR_ID | Static | Always Present |
PT_ENABLE_POINT | CIM Attribute | POINT_STATE | Static | Always Present |
PT_ACCESS_FLAG | UA AccessLevel Attribute | - | Static | Always Present |
SETPT_CHECK_PTID | CIM Attribute | SETCHECK_PTID | Static | If Specified |
DISPLAY_LIM_HIGH_N | UA EURange Property | - | Static | Realtime |
DISPLAY_LIM_LOW_N | UA EURange Property | - | Static | Realtime |
RANGE_HIGH_N | UA InstrumentRange Property | - | Static | Realtime |
RANGE_LOW_N | UA InstrumentRange Property | - | Static | Realtime |
EU_LABEL | UA EngineeringUnits Property | - | Static | If Specified |
DEVIATION_PTID | CIM Attribute | DEVIATION_PTID | Static | If Specified |
ALARM_HIGH_N | UA HighHighLimit Property | ALARM_HIGH_N | Static | If Specified |
WARNING_HIGH_N | UA HighLimit Property | WARNING_HIGH_N | Static | If Specified |
ALARM_LOW_N | UA LowLowLimit Property | ALARM_LOW_N | Static | If Specified |
WARNING_LOW_N | UA LowLimit Property | WARNING_LOW_N | Static | If Specified |
DEADBAND_N | CIM Attribute | DEADBAND | Static | If Specified |
SETPOINT_LOW_N | CIM Attribute | SETPOINT_LOW_N | Static | If Specified |
SETPOINT_HIGH_N | CIM Attribute | SETPOINT_HIGH_N | Static | If Specified |
MEASUREMENT_UNIT_ID | N/A | - | Static | If Specified |
QUALITY | CIM Attribute | QUALITY | Realtime | Always Present |
USER_FLAGS | CIM Attribute | USER_FLAGS | Realtime | Always Present |
QUALITY.MANUAL_MODE | CIM Attribute | MANUAL_MODE | Realtime | Always Present |
QUALITY.IS_IN_RANGE | CIM Attribute | IS_IN_RANGE | Realtime | Always Present |
QUALITY.IS_AVAILABLE | CIM Attribute | IS_AVAILABLE | Realtime | Always Present |
QUALITY.LAST_UPD_MAN | CIM Attribute | LAST_UPD_MAN | Realtime | Always Present |
QUALITY.STALE_DATA | CIM Attribute | STALE_DATA | Realtime | Always Present |
QUALITY.ALARMS_ENABLE | CIM Attribute | ALARMS_ENABLED | Realtime | Always Present |
QUALITY.DISABLE_WRITE | CIM Attribute | DISABLE_WRITE | Realtime | Always Present |
QUALITY.ALARMED | CIM Attribute | ALARMED | Realtime | Always Present |
PTM_ATTR_TIMESTAMP | SourceTimestamp | - | Realtime | Always Present |
EXTRA | CIM Attribute | EXTRA | Static | Always Present |
$RAW_VALUE | CIM Attribute | $RAW_VALUE | Realtime | Always Present |
LEVEL | CIM Attribute | LEVEL | Static | Always Present |
PT_POINT_ID | UA NodeID Attribute | - | Static | Always Present |
EXTENDED_USER_FLAGS_LOW | CIM Attribute | USER_FLAGS | Realtime | Always Present |
EXTENDED_USER_FLAGS_HIGH | CIM Attribute | USER_FLAGS | Realtime | Always Present |
In some cases, the CIMPLICITY attribute maps to a concept defined by OPC UA. The mapping column specifies the details for each mapping. If an attribute is mapped to a 'CIM Attribute,' it displays as a property of the Attributes component for the Point object. The name of the property is specified by the Attribute Name column.
In many cases, CIMPLICITY attributes provide information that is set at configuration time. This information can change, but only if the CIMPLICITY project supports dynamic configuration. Realtime attributes are associated with the current value and are read whenever the current value is read.
The Mapping for CIMPLICITY points described in the diagram linked above uses four possible Variable Type for points: DataItemType (the default), AnalogType, TwoStateDiscreteType, and MultiStateValueDiscreteType.
A CIMPLICITY Point is mapped to a TwoStateDiscreteType if it has a Boolean DataType and an Enumeration set with exactly two values.
A CIMPLICITY Point is mapped to a MultiStateValueDiscreteType if it has a numeric DataType and an Enumeration set, and it is not a TwoStateDiscreteType.
A CIMPLICITY Point is mapped to a AnalogType if it has a has a numeric DataType and the RANGE_HIGH or DISPLAY_HIGH attribute set.
Any other CIMPLICITY Point is mapped to DataItemType.
The AttributeSets defined for the Project can be found by browsing the subtypes of CIMPointUserAttribType.
The NodeId of an AttributeSet is <project name>.AS.<set name>.
The PointEnumerations defined for the CIMPLICITY Project can be found by browsing the subtypes of CIMPointEnumerationType.
The NodeId of a PointEnumeration is <project name>.PE.<enumeration name>.
Device Points may have a conversion defined. If they do the $RAW_VALUE property contains the original value received from the Device and the Value contains the value with the conversion applied. If a conversion is applied, the formula specified in the CIMPLICITY configuration is specified by the Definition property.