Breadcrumbs

AnalogDataPoint

Applicable to OS V1.9

The AnalogDataPoint component is a component that represents an analog value in the application; it reads analog values calculated in applications and controls local or remote analog outputs.

The AnalogDataPoint allows to create standard links to all inputs and outputs; it may transfer a value via a link from the Out slot to other components. The other method to link the AnalogDataPoint is via a Reference link. The Reference link is a special compound link designed to connect Data Points with network points. The Reference link is created between special Reference slot in the network point and transfers value along with its status to AnalogDataPoint. Also, it may transfer values from AnalogDataPoints to network points at the same time returning status from network points to AnalogDataPoints, and it may return values from network points to AnalogDataPoints too. While linking Data Points and network points, it is recommended to use the Reference linking method.

In order to operate properly the component must be placed in the Application component in the Applications container.

01 ADP.png
The Analog Data Point on the Wire Sheet view

The AnalogDataPoint can operate in two configurations. First, it is a basic configuration with one writable input slot (In16), one output slot (Out), Reference linking, and other basic slots: Units, Status, Enabled, Description. In the basic configuration, the AnalogDataPoint has native BACnetAnalogPoint and ModbusAnalogPoint extensions.

02a AnalogDataPoint.png
Analog Data Point slots

The AnalogDataPoint has the following basic slots:

  • Status: indicates the current status of the component. If the component works properly, its status is OK; however, it changes accordingly when values in other slots are adjusted.

    • Available information: Disabled, Unlicensed, Error, Overriden, OK;

Note: If the referenced network point goes into a Fault or Down status, the Data Point's status will show Error in order to communicate that the value in the Out slot may be invalid.

  • Info: provides a detailed information about the Error status of the component;

    • Available information:

      • There is a problem with a target reference: occurs whenever the target reference has a Down, Error, or Fault status (e.g., referenced network point has no object ID set);

      • There is a problem with the source reference: occurs whenever the source reference has a Down, Error, or Fault status (e.g., referenced network point has no object ID set);

From OS V1.8, the Info is a numerical slot, which displays a correlated text information:

Numerical value

Displayed information

0

No information displayed in the Info slot

1

There is a problem with a target reference

2

There is a problem with the source reference

  • Reference: a special slot allowing to transfer more than one value with one link (e.g., the Out slot value and the component's Status); connects Data Points with network point class components.

Note: The Data Point allows to create only one Reference connection leading to it and many Reference connections leading from it.

  • Description: an additional detailed information about a component that may be freely described by the user; the description may contain individual coding defined in the user's system documentation or any other information the user finds applicable.

  • Enabled: change of the slot's value enables or disables the component–if the component becomes disabled, it stops reading values from or transferring values to the linked network points. By default, the component is enabled.

    • Available settings: true (enabled), false (disabled).

  • Mode: allows to set a mode of the component, which defines the type of data exposed on specific protocol’s server if it is read-only or writable; 

    • Available settings: Value, Input, Output;

  • Out: shows a value transferred from the In16 slot in the basic configuration, or from the first non-null input with highest priority in the extended configuration; in case there are values on different priorities, only the value from the highest priority slot is transferred to the Out slot, the rest is dismissed.

Note: In the Wire Sheet the Out slot is visible as combined slots Out, Units, Priority (which is a source of the Out slot value; shown in the extended mode), and Status.

  • Units: defines a unit of the Out slot value; units are consistent with BACnet requirements. The unit is entered manually from a drop-down list in accordance with a value type in the Out slot;

  • In16: the basic input slot; receives analog values; the In16 value may be set by a Set action;

The AnalogDataPoint has the following basic actions:

  • Set: allows entering an analog value to set the In16 slot;

  • SetId: sets a BACnet object Id of the AnalogDataPoint (exposed in the BACnetAnalogPoint extension);

  • SetAddress: sets a Modbus address of the AnalogDataPoint (exposed in the ModbusAnalogPoint extension).

The extended configuration of the AnalogDataPoint is switched on by adding the AnalogPriorites extension to the AnalogDataPoint component. The extension adds 16 writable input slots to the Data Point. It is added by right-clicking on the AnalogDataPoint component (either in the Wire Sheet or Property Sheet view).

Tags

Tags are labels or key-value pairs that provide metadata to identify, categorize, and organize data from devices and systems like HVAC, lighting, or security. They enable interoperability by providing a standardized way to understand data from different sources, which improves data quality, facilitates automation, simplifies integration, and allows for more efficient data analysis.

Application Structure for Tags

Applying tags in the nano EDGE ENGINE is based on a semantic approach that ensures consistent data structure which is easily usable by the nanoWebUI™ and by third-party systems. Tags are applied at the Equipment and Data Point levels, where Equipment serves as the logical container defining what is being controlled, and Data Points represent the measured or commanded values associated with that equipment. This structured model ensures that tagged data is immediately usable by platforms capable of communicating through standardized tag-based HTTP APIs, e.g., Haystack.

Note: Tags can be only applied to the Equipment components and Data Points. Other component types are not supported.

It is therefore recommended (however, not mandatory) to use the following structure when creating applications:

  • Applications container

    • Application component

      • Equipment component

        • Data Point(s)

        • other components

      • Equipment component

        • Data Point(s)

        • other components

A required condition for using tags is that the Tagging library is installed on the device and the Tagging service is available in the Services container. Both are a default part of the nano EDGE ENGINE V1.9 and are not compatible with previous versions.

Tags are available in two formats: auto-tagging and manually added.

Auto-tagging

The auto-tagging purpose is to automatically assign appropriate tags and markers based on various conditions. This mechanism ensures consistency and reduces manual work when creating or modifying applications.

If enabled, the auto-tagging mechanism is executed in the following situations:

  • after all components are loaded during a device’s start-up,

  • when a component is renamed,

  • when a component is redefined (e.g., extensions/tags are added/removed),

  • when a new component is added,

  • when a component is moved within the Workspace tree.

Enabling/disabling the auto-tagging mechanism for the Data Point is possible in the Tags tab in the Data Point’s Object Properties window:

19 ADP autotags.png
Auto-tags for the AnalogDataPoint

Auto-tags available for the AnalogDataPoint are the following:

Tag

Description

hs:cur

Marker indicating a current value support (read-only)

hs:curStatus

Status of the Data Point's current value (read-only)

hs:curVal

Current output value (read-only)

hs:dis

Display name of the component (read-only)

hs:equipRef

Reference to the parent Equipment component (only if located under it) (read-only)

hs:id

Unique identifier of the Data Point (read-only)

hs:kind = "Number"

Value kind (read-only)

hs:minVal, hs:maxVal

Inclusive minimum and maximum allowable value for a numeric input in the nanoWebUI-displayed component (editable)

hs:point

Marker (read-only)

hs:writable

Added if the Data Point’s mode is set Output or Value; removed when changed to Input (read-only)

web:application

Reference to the application (for the nanoWebUI order)

web:decimalPoint, web:step

nanoWebUI presentation configuration (editable)

web:expose

User-editable flag to show on the nanoWebUI (editable)

web:widgetType

Widget type for the nanoWebUI (editable)

web:order

Order for widgets on the nanoWebUI

hs:unit

Added when the user selects a unit (read-only)

Editable Auto-tags

Some tags allow editing their values, which automatically results in changing the component’s display in the nanoWebUI™ interface, but not the component’s settings or values as such. For example, if the maxVal tag is set to 100 and the Data Point’s Out slot is 145, the only result will be that the value exceeding 100 will be marked red in the web interface; there will be no result for the actual Out slot value (more details in the nanoWebUI™ interface - widget type description):

28 tag.png
Value exceeding maxVal tag

Manual Adding Tags

Outside of the auto-tagging mechanism, it is also possible to manually add tags.

The list of available tags is comprised of two tags dictionaries available: Haystack and Webserver.

Haystack Tags Exceptions

The list of tags in the Haystack tag dictionary corresponds with the Haystack standard: Tags in Project Haystack; however, there are some differences. The dictionary does not include the following tags:

list, dict, grid, scalar, xstr, choice, symbol, is, na, remove, of, quantities, quantityOf, tagOn, tags, containedBy, contains, def, defx, inputs, outputs, reciprocalOf, relationship, span, mlIdentificationPeriod as well as tags of types: feature, filetype, lib, op, list, dict, grid.

These tags are not relevant for the data modelling based on Data Points and the Equipment component (in the application structure).

Adding and editing tags are possible in the Tags tab of the Data Point’s Object Properties window.

Tip

To access the Tags tab:

  • go directly to the Object Properties of the component,

  • go to the Tag Manager and click on the component,

  • or use the Edit Tags option of the component’s context menu:

26 Edit tags.png
Edit Tags option in the context menu

In the Tags tab, use the Add/Remove Tags button to open a dialog window, where it is possible to select new tags to add or to remove using check boxes. Confirm changes with the Apply Changes button. Tags currently added to the component are listed in the Tags tab.

23a ADP tags.png
Manual adding/removing of tags

Extensions

Data Points can have their functionality modified by extensions. The AnalogDataPoint is originally equipped with the BACnetAnalogPoint and ModbusAnalogPoint extensions (these cannot be added or removed), but other extensions, which offer different functionalities, can be added or removed as necessary. Extensions are added by right-clicking the AnalogDataPoint, either in the Wire Sheet or Property Sheet view, Application Manager, or in the Workspace Tree.

02b AnalogDataPoint.png
Adding extension in the Wire sheet view
02bb AnalogDataPoint.png
Adding extension in the Property Sheet view

From the context menu, select the Add Extension option; add the extension from the list of available options.

BACnetAnalogPoint

The BACnetAnalogPoint extension expands the AnalogDataPoint's functionality giving it an option to expose it to the BACnet IP network as an Analog Value object, and, otherwise, it allows to manually hide it from the network yet preserving its function in the application. It also transfers information to the BACnet IP network about the AnalogDataPoint's status. The extension is native (cannot be removed), and is visible along with the regular slots and actions of the AnalogDataPoint as a separate, integral part in the Object Properties view.

The extension has the following slots:

  • Object: a read-only slot showing a type of BACnet object attributed to the extension;

  • ObjectID: a BACnet object ID, which is automatically numbered from 0 up;

Worth to notice

From nano EDGE ENGINE V1.7, it is possible for the client to remotely change the exposed Data Point’s object ID over BACnet.

  • Expose: enables the Data Point to be recognized within the BACnet IP network;

    • Available settings: true (exposed), false (hidden).

ModbusAnalogPoint

The ModbusAnalogPoint extension expands the AnalogDataPoint's functionality giving it an option to expose it to the Modbus TCP/IP network as a Modbus point, and, otherwise, it allows to manually hide it from the network yet preserving its function in the application. It also transfers information to the Modbus TCP/IP network about the AnalogDataPoint's status. The extension is native (cannot be removed), and is visible along with the regular slots and actions of the AnalogDataPoint as a separate, integral part in the Object Properties view.

The extension has the following slots:

  • Address: a read-only slot showing a Modbus register, which the Data Point is exposed on;

  • Address Format: a read-only slot showing a register address format;

    • Available information: decimal, Modbus, HEX;

  • Input Priority: allows to select the input number in the Data Point, which the value from the register is synchronized on;

  • Expose: enables the Data Point to be recognized within the Modbus TCP/IP network;

    • Available settings: true (exposed), false (hidden);

  • Register: a read-only slot showing the type of the register used;

    • Available information: holding register;

  • Data Type: allows to select a value data type;

    • Available settings: integer (default), signed integer, long, signed long, float, double.

Apart from the BACnetAnalogPoint and ModbusAnalogPoint, it is possible to add the following extensions to the AnalogDataPoint:

Trend

The Trend extension allows to save values from Data Points in a database. For a trend to be saved in the Trends service, it is required to add the Trend extension to the Data Point.

16 ADP Trend.png
Trend and Bacnet Trend Log extensions in the AnalogDataPoint

The Trend extension has the following slots:

  • Enabled: allows to enable or disable the trend;

  • Trend Name: shows the name of the trend;

  • Trend Status: informs of the extension’s status;

    • Available information:

      • Disabled (the Data Point, Trend extension, or Trends service is disabled),

      • Unlicensed (the Data Point is unlicensed),

      • Stopped (the number of saved samples is equal to or greater than Max Sample Count and the Stop When Full slot is set to true),

      • OK;

  • Info: provides a detailed information about the Disabled status of the component;

    • Available information:

      • Trend extension disabled: the Enabled slot in the Trend extension is set to false,

      • Parent (Data Point) disabled: the Enabled slot in the Data Point is set to false,

      • Parent (Data Point) unlicensed: the Data Point, which the Trend extension is added to, is unlicensed,

      • Trends Service disabled: the Enabled slot in the Trends service is set to false;

From OS V1.8, the Info is a numerical slot, which displays a correlated text information:

Numerical value

Displayed information

0

No information displayed in the Info slot

1

Trend extension disabled

2

Parent (Data Point) disabled

3

Parent (Data Point) unlicensed

4

Trends Service disabled

  • Sampling Mode: allows to set a sampling mode for saving data;

    • Available settings:

      • COV (triggers saving the sample when the Data Point’s Out slot value changes and this change is bigger than the Deadband slot’s value),

      • Interval (triggers saving the sample when time reaches the value of Sampling Interval slot’s value),

      • COV Interval (triggers saving the sample in both the above cases);

  • Sampling Interval: (available only if interval or COV interval mode is selected) time value, which triggers saving trend data;

  • Deadband: (available only if COV or COV interval mode is selected, applicable only in the AnalogDataPoint) allows to set a value for a non-responsive zone; the trend data will only be saved if the COV exceeds the deadband value;

  • Max Sample Count: shows a number of maximum (2500) samples that can be saved in the database for the trend;

  • Stop When Full: allows to stop saving trend data if the Max Sample Count number is reached;

    • Available settings: false (trend overwrites the oldest samples), true (trend stops executing).

BACnet Trend Log

When the Trend extension is added to the Data Point, it automatically adds another extension in the Data Points view: the BACnet Trend Log extension. This extension allows to manage the trend’s BACnet exposition to the network and adds a BACnet ID if exposed.

The BACnet Trend Log extension has the following slots:

  • Object Id: shows an automatically assigned BACnet object ID number if the trend is exposed to the BACnet network;

  • Expose: allows to enable or disable the trend’s exposition to the BACnet network; by default, the trends is exposed to the network.

The BACnet Trend Log extension has the following action:

  • Set Trend Id: allows to set the object ID value for the trend exposed to the BACnet network.

Configuration Data

The Configuration Data extension has no slots. Its functionality is fully achieved by adding it to the Data Point. It is automatically enabled and allows the Configuration Data service to save and upload slots values of the Data Point.

AnalogPriorities

The AnalogPriorities extension adds fifteen writable input slots and the default (lowest) priority slot to the AnalogDataPoint. The extension includes the Priority slot indicating, which slot is transferring value to the Out slot. The AnalogPriorites extension adds In1–In15 slots and the Default slot, which is the lowest, 17th priority. The extension also introduces new actions to the Data Point: EmergencyOverride, EmergencyAuto, Override, and OverrideAuto.

02d AnalogDataPoint with priorities.png
AnalogPriorites extension

The AnalogDataPoint has the following slots available in the AnalogPriorities extension:

  • In1-In15: input slots providing values to the Out slot (from 1 to 16, the highest priority is In1); only the highest priority value is provided to the Out slot, the rest is dismissed. All input slots are linkable. In the extended mode, the In1 and In8 slots have actions available for overriding their values.

Note: By default, only the In16 is displayed in the Wire Sheet. In case any other input slot receives a value via link, is it displayed in the Wire Sheet along with the In16. Only the null input, which is a lack of value, allows the higher priority input to be dismissed–zero (0) is still a value that will be provided to the Out slot.

  • Default: the 17th, lowest priority input slot; allows to introduce a default value to the Data Point in case there are no links providing values from other components. If the value to the Data Point is provided by the Reference link, then the Default value is automatically dismissed (the Reference link cannot be directed to the 17th priority, only from the 16th up).

Note: According to BACnet requirements, the Default slot value can never be null; if no other value is set on the slot, it is zero (0).

  • Priority: shows, which slot is currently providing the value to the Out slot.

The AnalogDataPoint has the following actions available in the AnalogPriorities extension:

  • EmergencyOverride: enables entering an analog value to the In1 slot;

  • EmergencyAuto: sets the null value to the In1 slot (cancels the EmergencyOverride action);

  • Override: enables entering an analog value to the In8 slot;

  • OverrideAuto: sets the null value to the In8 slot (cancels the Override action).

Note: If the link is connected to the slot that may be affected by an action, the value coming from the link connection has priority over the manually evoked action.

ActionTrigger

The ActionTrigger extension is designed to invoke any action that is available for the component. The extension triggers an action selected in the Action Name on the rising edge of the Action Trigger slot. If the action has parameters to set, the parameter is taken from a relevant slot automatically added to the extension (Analog Value/Binary Value/String Value).

It is possible to add more than one ActionTrigger extension to the component (for example, one for each action in the component).

The extension is added from the context menu of the component.

The ActionTrigger extension has the following slots:

  • Action Name: allows to select an action to invoke;

  • Action Trigger: triggers an action selected in the Action Name slot;

  • Action Analog Value/Action Binary Value/Action String Value: a slot added automatically to the extension if an action selected in the Action Name slot has any specific parameters to set (depending on the type of action and its parameters, the relevant type of value is matched).

02a AnalogDataPoint AT.png
ActionTrigger extension in the AnalogDataPoint