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.