Xentara v2.0.4
User Manual
Skill Data Points

Skill data points are a special type of skill element that is used to represent a single input, output, or input/output that a skill supplies. Skill data points are usually children of another skill element, that represents a device, a microservice, a control logic, or some other components that actually produces or consumes the data. Some skills, however, allow top-levent skill data points, that are not children of a skill element, but can be placed directly inside the model or inside an element group.

A skill data point can represent a physical I/O, like an input on an input clamp, an I/O on an I/O card, or a value from a smart sensor or smart device. A skill data point can also represent a software skill data point, like an input or output of a PDU controller or an FMU. Generally, any data that a skill or a skill element produces or consumes can be represented by a skill data point.

Skill data points can be used directly, but more commonly, they are used as inputs or outputs to regular Xentara data points.

Acquiring Values

The input values of skill data points will generally be acquired in one of two ways:

  • Some devices will push the value of an I/O to Xentara whenever it changes. An OPC UA server or an IEC 60870 device may push changed node values to Xentara, e.g.
  • Xentara can query the data from the device using a read or poll command. Queries will usually be implemented as I/O transactions and query the values of several skill data points at the same time. Queries must usually be executed regularly, either using a timer, or in response to an event.

Writing Values

The output values of skill data points can generally be written in one of two ways:

  • The value of the skill data point can be pushed to the device immediately as soon as it is written.
  • The value of the skill data point can be cached within Xentara, and sent later at some specified time. This is usually done to integrate the writing of the values into the Xentara task scheduling mechanism, or to be able to write multiple outputs at the same time to improve performance (batch writing). These delayed write operations will usually be implemented as I/O transactions, and must be triggered using a timer or an event.

A specific skill data point may support one or both of these methods.

Attributes of Skill Data Points

A skill data point that supports the input direction has at least the following attributes:

  • value The last known value of the input
  • updateTime The time that the last known value was updated
  • quality The quality of the value

A skill data point that supports the output direction has at least the following writable attributes:

  • value Writable attribute used to write the value to the output

A skill data point that supports both input and output directions will have all of the listed attributes, and the value attribute will be both readable and writable.

Attention
Xentara skill data points are written asynchronously. If you write the value of a skill data point that supports both input and output directions, the value attribute will only reflect the new value once it has been sent to the device, and the device has confirmed that the value has been accepted. Some device may also modify the value you write, so that the value you read back may not be the same as the value you wrote. Some device perform clamping, for example, where the value is clamped to a certain range before writing.

Different types of skill data points may have additional attributes. Many skill data points that supports the input direction also have one or more of the following attributes:

  • sourceTime The time stamp provided by the source of the data. This will usually be the physical device the skill data point is first acquired on.
  • changeTime The last time at which value of the input changed.
  • error The error code for the case where the value could not be acquired.

Many skill data points that supports the output direction also have one or more of the following attributes:

  • writeTime The last time the output was written.
  • writeError The error code for the case where the last write operation failed.

A skill data point may also have any number of other attributes not listed here.

Accessing Skill Data Points

skill data points have at least the following members:

Attributes
keyThe skill data point’s primary key.
nameThe skill data point’s name. The name is the last point of the primary key.
UUIDThe unique UUID of the skill data point.
typeThe skill data point’s element type.
categoryThe skill data point’s category. For skill data points, this is always “data point”.
valueThe value of the skill data point. This will be readable for skill data points that support the input direction, and writable for skill data points that support the output direction. For skill data points that support both direction, this attribute will be readable and writable.
updateTimeThe last time the value was updated. This attribute is only available for skill data points that support the input direction.
qualityThe quality of the current value. This attribute is only available for skill data points that support the input direction.

skill data points can optionally also have the following members:

Optional Attributes
sourceTimeThe time stamp provided by the data source. This attribute is only available for skill data points that support the input direction.
changeTimeThe last time the value changed. This attribute is only available for skill data points that support the input direction.
writeTimeThe last time the value was written. This attribute is only available for skill data points that support the output direction.
errorThe last read error, as a protocol specific error code. This attribute is only available for skill data points that support the input direction.
writeErrorThe last write error, as a protocol specific error code. This attribute is only available for skill data points that support the output direction.
Optional Events
changedTriggered when any of the input data has changed. This event is only available for skill data points that support the input direction.
valueTriggered when the input value has changed. This event is only available for skill data points that support the input direction.
qualityTriggered when the quality of the input value has changed. This event is only available for skill data points that support the input direction.

Each individual type of skill data point can have additional members. Most skill data points will have an attribute containing the I/O address, for example. Please refer to the documentation of the specific skill data point for details.