The import function is, together with the export function, built to easily and effortlessly copy tags from one device to another. Additionally, you can use the import function to prepare tags in a CSV file to then import the tags to the StrideLinx Cloud.
This article explains the structure of the CSV file and the syntax of the corresponding settings. Despite the fact that every protocol is structured in it's own way (i.e. Siemens S7 works with Data Blocks and OPC UA doesn't) a uniform file structure is applied for all protocols.
How to: export and import tags
CSV file structure
The structure of the CSV file needs to be correct for the import function to work properly. The headers (first row) of column 1-9 should look like this:
Identifier | Address | Name | Logging interval | Retention policy | Edge aggregator | On change expiry | Log event |
---|
The headers of column 10-12, only applicable when setting "log event" to "trigger", should look like this:
Trigger address | Trigger condition | Trigger threshold |
---|
Each column represents a different setting and all are explained below. You can easily navigate to the desired section by pressing the corresponding header above.
Tip: an easy template
Identifier
This variable ensures that every data source and variable in the your company remains unique, even when you give multiple variables the same name. An identifier only has to be unique for a certain data-source. Two different data-sources in the same company can have the same identifiers and can therefore import the same CSV-file.
Address
Every tag needs to be linked to a variable. You do this by entering the address of the concerning variable. The address is fully explained in the "Import variables" article. Below you will find several examples.
Protocol | Example address |
---|---|
BACnet/IP | 2.4.85 |
Digital Input | GPIO:: |
EtherNet/IP | Line1.RunTime.ACC |
Modbus TCP | 2.1 |
OPC UA | ns=2;s=20001 |
Siemens S7-300/400/1200/1500 | D3.2.1 |
SMTP | SMTP::Keyw:High |
Name
You can name the tags freely. It is advised to enter a very brief description of the variable (i.e. weight, temperature zone #1, emergency stop section B5).
Logging interval
This setting's function depends on what you set as the type of log event:
Log on interval
Log on interval means the variable is logged every X seconds.
This setting determines the logging interval, which can be configured anywhere between 100ms - 1h, using milliseconds, seconds, minutes, or hour. Examples are listed in the table below.
Online (StrideLinx Cloud) | Offline (CSV file) |
---|---|
Interval | Logging interval |
Every 500 milliseconds | 500ms |
Every 30 seconds | 30s |
Every 15 minutes | 15m |
Every hour | 1h |
Log on change or on trigger
Log on change means the variable is logged when its value changes, while log on trigger means the variable is logged when a custom trigger happens (view "Configure triggers" for more info).
This setting now determines the maximum amount of logged values per hour. If you have this set to "up to 100 values per hour" and the variable changes/triggers 101 times in an hour, then the 101th time won't be logged. Don't worry, the logging will continue when the next hour begins. All available options are listed in the table below.
Online (StrideLinx Cloud) | Offline (CSV file) |
---|---|
Interval | Logging interval |
Up to 20000 values per hour | 180ms |
Up to 5000 values per hour | 720ms |
Up to 1000 values per hour | 3600ms |
Up to 500 values per hour | 7200ms |
Up to 100 values per hour | 36s |
Up to 50 values per hour | 72s |
Up to 25 values per hour | 144s |
Up to 10 values per hour | 6m |
Up to 5 values per hour | 12m |
Retention policy
The data storage duration is indicated in weeks with four options to choose from. Data older then the retention policy will be deleted from the StrideLinx Cloud completely. The available options are:
Online (StrideLinx Cloud) | Offline (CSV file) |
---|---|
Retention policy | Retention policy |
6 months | 26w |
2 years | 104w |
5 years | 260w |
7 years | 364w |
Edge aggregator
Supported hardware
The edge aggregator is called Formula in the StrideLinx Cloud. To have reliable and accurate data the StrideLinx router is constantly requesting the variables' value. The edge aggregator processes this data between logging intervals.
Online (StrideLinx Cloud) | Offline (CSV file) | |
---|---|---|
Formula | Edge aggregator | Description |
Mean | avg | Logs the average value. |
Min | min | Logs the minimum value. |
Max | max | Logs the maximum value. |
Last | last | Logs the most recent value. |
Increase | increase | Logs the increase in value. Useful for production counters. All value decreases are ignored. For example, if the value changes from 0 to 5 to 0 to 5, the logged value is 10. |
On change expiry
When logging on change, you may want to log the value every hour when the value doesn't change as well. If this is the case you have to add 1h to this column, otherwise you can leave the column empty.
Log event
This setting, together with the "logging interval"-setting, determines when the variable will be logged. All options are listed in the table below.
Online (StrideLinx Cloud) | Offline (CSV file) | |
---|---|---|
Log on ... | Log event | Description |
Interval | interval | Log every 100ms - 1h. |
Change | change | Log when its value changes. (i.e. for data that doesn't change often or only has a few states like a bool/int) |
Trigger | trigger | Log when a custom trigger happens. (view "Configure triggers" for more info) |
Trigger address
Here you enter the address corresponding with the variable you'd like to use as trigger. For example, when using Modbus and the variable is a holding register with address 7, you enter a 7 here. If you're unsure you can best export an existing trigger first.
Trigger condition
A trigger happens if the outcome of <variable><condition><threshold> is true. For example, if variable "Temperature" is "greater than or equal to" "60" degrees celsius. The available options for the condition are:
Online (StrideLinx Cloud) | Offline (CSV file) |
---|---|
Condition | Condition |
Equal to | == |
Not equal to | != |
Less than | < |
Less than or equal to | <= |
Greater than | > |
Greater than or equal to | >= |
Trigger threshold
The threshold is the last part of the equation that determines if a trigger happens or not. The available options depend on the variable's data type. For example, if the variable's data type is boolean, then you can choose either TRUE or FALSE.