Skip to content

Measurements & Commands

Measurements and commands are summarily called Communication Objects (COs).

Attributes

Overview:

Attribute Datatype Measurement Command Category
name string yes yes mandatory
description string yes yes optional
datatype enum yes yes mandatory
raw datatype string yes yes optional
connector name string yes yes optional
address string yes yes optional
value bool, string, number yes yes runtime
quality number yes no runtime
timestamp timestamp yes yes runtime
engineering unit string yes yes optional
engineering range tuple yes yes optional
raw range tuple yes yes optional
deadband string yes no optional
initial value bool, string, number no yes optional
archivation mode enum yes yes optional
archivation period number yes yes optional
archivation value deadband number,string yes yes optional
archivation time deadband number yes yes optional
provider addresses map yes yes optional

Name

[mandatory]

Uniquely identifies measurement/command. Must conform to C-language symbol name requirements (can contain only letters, digits and the underscore, can't start with digit) and must be unique among all COs.

Description

[optional]

Free text description of CO purpose.

Datatype

[mandatory]

Datatype used to store measured value expressed in engineering units. Supported datatypes:

Datatype Code Storage size [B] Range
binary b 1 {0, 1}
quaternary q 1 {0, 1, 2, 3}
integer i 4 < -2^31, 2^31-1 >
long l 8 < -2^63, 2^63-1 >
single-precision float f 4 see IEEE-754 standard
double-precision float d 8 see IEEE-754 standard
string s

Raw datatype

[optional]

Datatype used to obtain raw measured value from the connector.

Connector

[optional]

Name of connector to be used as a measurement datasource.

Address

[optional]

Address that represents this measurement in the context of connector assigned. I.e. Modbus reference, IEC-608750 Information Object Address, Persistor address etc. Not to be confused with provider addresses!

Current value

[runtime]

For measurement: Current measured value as assigned by its connector or other source. Always conforms to the configured datatype.
For command: Last value written to this command by some provider, REST API, or other source.

Current quality

[runtime]

Current measured value quality as assigned by its connector or other source, represented as a 16-bit unsigned integer value. Quality flags correspond to OPC-DA 2.05 specification.

Current timestamp

[runtime]

For measurement: Current measured value timestamp as assigned by its connector. Resolution is 1ms. For command: Timestamp of last command write. Resolution is 1us.

Engineering unit

[optional]

User-configurable engineering unit.

Engineering range

[optional]

Range of CO expressed in engineering units. Acquired raw samples would be scaled from raw range to this engineering range.

Raw range

[optional]

Range of CO in expressed in physical units.

Deadband

[optional]

Measured value deadband expressed either as a value in engineering units (i.e. 13.56), or a percent from the engineering range (i.e. 1.5%).

Initial value

[optional]

Value assigned to the command after startup. Defaults to empty.

Archivation mode

mode description
none CO is not archived
change CO is archived on every value change
periodic CO is archived with fixed archivation period

Archivation period

Used in conjunction with periodic archivation mode. Resolution 1ms.

Archivation value deadband

Measured value archive deadband. Expressed either as a value in engineering units (i.e. 13.56), or a percent from the engineering range (i.e. 1.5%). Applies in both change and periodic archivation modes.

Archivation time deadband

Measured value timestamp archive deadband. Applies in both change and periodic archivation modes.

Provider addresses

Provider address is an assignment of provider-specific address to the communication object. Most provider implementations provides only those measurements having provider address for that provider assigned.