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
You require a storage solution for a set of structured data.
Your backend service requires certain data from the collection, but the HMI provides it through the PLC Connection , such as an OPC UA Connection.
The HMI uses the following actions to provide data to your backend:
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 calledItem 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 theItem 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 calledItem 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 itsKey attribute
.All the properties of an item are stored in a file called
data.json
inside theItem 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.
How does it look in the HMI Data Tree of my project?
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 (Dynamic Property) , 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.