Breadcrumbs

BinaryDataPoint

Applicable to OS V1.9

The BinaryDataPoint component is a component that represents a Boolean value in the application; it reads binary values calculated in applications and controls local or remote binary outputs. The BinaryDataPoint 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 BinaryDataPoint 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 slots in network points and transfers values along with the its status to BinaryDataPoints. Also, it may transfer values from BinaryDataPoints to network points at the same time returning status from network points to BinaryDataPoints, and it may return values from network points to BinaryDataPoints 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.

02 BDP.png
BinaryDataPoint

The BinaryDataPoint 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: Mode, Active Text, Inactive Text, Status, Enabled, Description. In the basic configuration, the BACnet Data Point has native BACnetBinaryPoint and ModbusBinaryPoint extensions.

03a BinaryDataPoint.png
BinaryDataPoint component in a simple variant

In its basic configuration, the BinaryDataPoint has one action: Set (which allows to set a value to the In16 slot).

The BinaryDataPoint 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 high priority status (e.g., fault or down), 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, Priority, and Status. The Out slot displays the value in accordance with the settings in the ActiveText and InactiveText slots.

  • InactiveText: a text value that is displayed in the Out slot if its value is false; the text is freely adjustable by the user. By default, this field is empty and "false" is displayed for a false value;

  • ActiveText: a text value that is displayed in the Out slot if its value is true; the text is freely adjustable by the user. By default, this field is empty and "true" is displayed for a true value;

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

The BinaryDataPoint has the following basic actions:

  • Set: allows entering a Boolean value to set the In16 slot;

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

  • SetAddress: sets a Modbus address of the BinaryDataPoint (exposed in the ModbusBinaryPoint extension).

The extended configuration of the BinaryDataPoint is switched on by adding the BinaryPriorites extension to the BinaryDataPoint component. The extension adds 16 writable input slots to the Data Point. It is added by right-clicking on the BinaryDataPoint component (either in the Wire Sheet or Property Sheet view, Application Manager, or the Workspace Tree).

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:

20 BDP autotags.png
Auto-tags for the BinaryDataPoint

Auto-tags available for the BinaryDataPoint 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:enum

Derived from falseText and trueText (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 = "Bool"

Indicates Boolean data type (read-only)

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:expose

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

web:order

Order for widgets on the nanoWebUI

web:widgetType

Widget type for the nanoWebUI (editable)

Editable Auto-tags

Effectively, only one tag is editable in the BinaryDataPoint—it is the nanoWebUI™ interface expose tag (web:expose); if set to false, disables the display of the Data Point in the web interface. The widget type tag (web:widgetType), although technically editable, has no effect on the nanoWebUI™ display—the BinaryDataPoint supports only the basic widget type (more details in the nanoWebUI™ interface - widget type description):

29 BDP wigget.png
BinaryDataPoint nanoWebUI™ interface widget

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.

24a BDP tags.png
Manual adding/removing of tags

Extensions

Data Points can have their functionality modified by extensions. The BinaryDataPoint is originally equipped with the BACnetBinaryPoint and ModbusBinaryPoint 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 BinaryDataPoint, either in the Wire Sheet or Property Sheet view, Application Manager, or the Workspace Tree.

03b BinaryDataPoint.png
Adding extension in the Wire Sheet view
03bb BinaryDataPoint.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.

BACnetBinaryPoint

The BACnetBinaryPoint extension expands the BinaryDataPoint's functionality giving it an option to expose it to the BACnet network as a Binary 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 network about the BinaryDataPoint's. The extension is native (cannot be removed), and is visible along with the regular slots and actions of the BinaryDataPoint 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 network;

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

ModbusBinaryPoint

The ModbusBinaryPoint extension expands the BinaryDataPoint'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 BinaryDataPoint's status. The extension is native (cannot be removed), and is visible along with the regular slots and actions of the BinaryDataPoint 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.

Apart from the BACnetBinaryPoint and ModbusBinaryPoint, it is possible to add the following extensions to the BinaryDataPoint:

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.

17 BDP Trend.png
Trend and Bacnet Trend Log extensions in the BinaryDataPoint

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;

  • 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.

BinaryPriorities

The BinaryPriorites 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. The BinaryPriorities extension adds fifteen writable input slots and the default priority slot to the BinaryDataPoint. The extension includes also the Priority slot indicating, which slot is transferring value to the Out slot.

03c BinaryDataPoint with priorities.png
The extended variant of the Binary Data Point

The BinaryDataPoint has the following slots available in the BinaryPriorities 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. The In1 and In8 slots have actions available for emergency overriding their values;

Note: By default, only 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 value allows the higher priority input to be dismissed.

  • 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 false.

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

The BinaryDataPoint has the following actions available in the BinaryPriorities extension:

  • EmergencyOverrideActive: enables entering a true value to the In1 slot;

  • EmergencyOverrideInactive: enables entering a false value to the In1 slot;

  • EmergencyAuto: sets the null value to the In1 slot (cancels the EmergencyOverrideActive and EmergencyOverrideInactive action);

  • OverrideActive: enables entering a true value to the In8 slot;

  • OverrideInactive: enables entering a false value to the In8 slot;

  • OverrideAuto: sets the null value to the In8 slot (cancels the OverrideActive and OverrideInactive actions).

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).

03a BinaryDataPoint AT.png
ActionTrigger extension in the BinaryDataPoint component