Skip to main content
Version: 24.2 (stable)

What are HELIO Data Collections?

"HELIO Data Collections are used to store a lists of structured data withing your HMI, not on your PLC. This kind of data is often too large to be handled as a whole on your PLC, which is often only interested in specific properties of a collection item.

  • HELIO uses simple JSON files to store those collections on the device that executes the HELIO Runtime.

  • Each file and therefore item hast to follow the same schema, be it for recipes, tools, or tasks.

  • In some cases, other software components may even read, write, and delete files in the same collection. Meanwhile, HELIO monitors changes and notifies all connected HMIs.”


The different kinds of Data Collections

Managed Collections

For Managed Collections, HELIO will handle most tasks, including selecting the storage location and creating unique keys that identify each item.

Although Managed Collections have limitations, they also relieve you of most decision-making responsibilities.

Un-Managed Collections

Unmanaged Collections provide more control over both the storage location and the unique key attribute of a collection.

Unmanaged Collections are often used as very a simple API interface between your HMI and external backend services (e.g. PLC or other software services that run on your target device).


When to use which Collection?

Managed

Un-Managed

  • You require a storage solution for a set of structured data.

  • Your backend needs direct file access to the large structured data because…

    • …it stores additional metadata, files, or assets for each item.

    • …it needs the ability to create, store or update items in this collection.

  • You have a third-party application or service that requires access to this data, such as an MES System or Reporting System.


How does HELIO store Collection Data?

Managed

  • The collection is stored in a directory within the Data Directory , the so called Collection Directory. The name and the location of this directory are hidden from you.

  • Each item inside the Collection Directory is stored as a separate folder, the so called Item Directory.

  • HELIO creates unique IDs for each item to make sure they are one of a kind. But, these internal IDs won't be shown to the users of the collection. The Item Directory is named after the unique key that identifies the item.

  • All the properties of an item are stored in a file called data.json inside the Item Directory.

Un-Managed

  • The collection is stored in the directory you specify during the creation of the collection. It can be within or outside of the Data Directory.

  • Each item inside the Collection Directory is stored as a separate folder, the so called Item Directory.

  • The creator of an item must ensure its uniqueness. This is determined by the Key attribute, which is specified during the creation of the collection.

  • Each Item Directory will be named by its Key attribute.

  • All the properties of an item are stored in a file called data.json inside the Item Directory.


How does it look in the File System?

Managed

The folder aD73L5TqQqyOd56Uns-swg is an example of a Managed Collection. It’s name and also the names of its Item Directories have all autogenerated by HELIO.

Un-Managed

The folder DataCollectionExampleUnmanaged is an example of an Unmanaged Collection. It’s name has been chosen by the HMI Engineer, and the name of its Item Directories are generated by the HMI.


How does it look in the HMI Data Tree of my project?

Managed

The DataCollectionExampleManaged does not include its internal unique key.

Un-Managed

The DataCollectionExampleUnmanaged list includes the CustomID property, which can be both read and written by the HMI.


How is uniqueness guaranteed?

Managed

  • Helio manages item uniqueness internally.

  • There's no need to worry about unique keys when creating items.

As a result…

…the HMI DOES NOT Have Access to the Key Attribute!

As a result, you won't be able to access the unique key of Managed Data Items in your HMI. However, this is not a concern as you don't need to manage it.

You are welcome to add more key or ID attributes to your Item Blueprint. However, HELIO will not guarantee uniqueness for these attributes.

Un-Managed

  • Item uniqueness is guaranteed by using the Key attribute of each item.

  • The HMI needs to provide a unique key when creating items, for example, by using the UUID , or including a value provided by the PLC using the Data Variable (Dynamic Property).

As a result…

…the HMI Has Access to the Key Attribute!

The unique key can also be read and manipulated by the HMI.


Supplying Collection Data to PLCs or other external systems

Managed

Use Method Calls

After an item is stored or updated, the HMI can trigger your backend using the OPC UA Connection and the Call Data Method Action. In such a case you provide the attributes of the changed item using the parameters of the method.

Un-Managed

Use File Watchers

External systems can implement a file-watcher for the Data Collection Directory. This will provide updates about the creation, deletion, and modification of items.

Use Method Calls

After an item is stored or updated, the HMI can trigger your backend using the OPC UA Connection and the Call Data Method Action. The backend, in turn, can load a single item as JSON files and commence procedures based on the values they contain.