How It Works

To dynamically create asset properties and link them to external data, you'll need to go through a couple of steps.

Create Folder

In your site folder (ie. /opt/web/sites/default on Linux servers), create a writable folder called 'dynamiccontent'.

You may want to share this folder if you're planning on syncing with scripts or packages running on other systems, as this is where each of them will write a json file containing the different properties they want to create on your ARDI assets.

Data Sources

Make sure you have setup the data sources you want to read information from (if you are going to bind these properties to external data).

You'll need to know the data source name and address format before-hand.

For example, the system you're synchronising ARDI with might provide live data via REDIS and history via MYSQL. You should set up the appropriate ARDI data sources.

Create JSON File

Next, create a JSON file describing the properties you want to create on your assets.

For example…

{
   "style": "property", 
   "type": "measurement", 
   "default": "0|PSI|0|100", 
   "name": "Pressure - Air PSI", 
   "attachto": 171, 
   "livebind": "DEEP>Objects/Air Pressure Sensor/Pressure - Air PSI",
   "histbind": "DEEP>Air_Pressure_Sensor_Pressure_Air_PSI"
}

Above is an example of the file generated by a modelling system. It's converting metric variables to imperial ones.

style

Describes the type of dynamic content. At the present time, 'property' is the only supported option.

type

The type of property to be created. measurement, status, enum and text are the most common types.

default

The default value to write. This is in the same format that the properties are exported in - for example for a measurement, the format is <value>|<min>|<max>|<units>|<precision>.

name

The name of the property

attachto

The ID, name or reference number of the ARDI asset to attach this property to.

livebind

The live data address for this item, in the format [sourcename]>[address].

In the example above, DEEP uses OPC-UA - this is the full OPC-UA address of the data point.

histbind

The historical address for this item, in the format [sourcename]>[address].

In the example above, DEEP uses Prometheus. This is the full Prometheus point-name for the data point.

Call Update

Open the Dynamic Content admin page and press the 'Update' button. The property will be created, attached to assets, then bound to live and historical data (where applicable).

If for any reason results aren't what you expected, you can press remove to clear these changes.

Schedule Updates

If you're happy with results, you can use the Task Scheduler to schedule a routine (ie. 24-hour, 1 hour or 10-minute) call to the 'Update' function that will keep your ARDI system in-sync with the changes from your external application.

The update function will not perform redundant work - if a change has already been made, it won't waste time unappling-and-reapplying that change.