Add Multiple Tags
You can add tags to connected devices by navigating to DeviceHub > Tags. To learn more about registers for specific devices, see the Industrial Systems Connection Guide.
Before You Begin
Before creating tags, make sure you have connected a device. Refer to Connect a device.
Important
Refer to the following information on Free Tags and OPC UA Drivers:
- Certain device drivers do not have a list of register names in the Add Tag form. These are referred to as Free Tags.
- You must enter case-sensitive register names exactly how they are defined in the device.
- Devices do not display a Connected status until a tag with a correct register name is created. See Device Connectivity Issues for more information.
- For OPC UA, map the OPC server tags to the client. Enter the Register Name using this format where the semicolon is required: ns=1;s=tagname . For example: ns=2;s=Channel1.Device1.Tag1.
Add Multiple Tags
You can add multiple tags at once by downloading a CSV template file, filling out the file with tag details, and uploading the CSV file.
Important: When saving the CSV file, you must ensure that commas are used as column delimiters and not semicolons. If semicolons are used as column delimiters, you won't be able to upload the CSV file successfully. See Tag Upload through CSV Issues to learn more.
Step 1: Download a Sample CSV Template
You will need to download a template CSV file that has the required fields for the tags you will add.
To download a sample CSV template:
- From the Tags pane, select Download All Tags as CSV. The sample tags CSV is downloaded to your local drive

Step 2: Populate the CSV Template File
You can now populate the CSV template with the tags that will be added. A row/record for each tag must be populated with attribute values, as described below.
- Refer to the Industrial Systems Connection Guide and review the Tag Parameters section for your device. If tags for the device have additional fields that are not included in the template file, add them as required.
- The order of the attribute columns in the template file may be in any order.
Refer to the following sections for information on populating the CSV template file.
Example of a Tag CSV File
deviceId | deviceName | driverName | name | tagName | description | valueType | registerID | publishCov | tagFormula | metaData | pollingInterval |
|---|---|---|---|---|---|---|---|---|---|---|---|
A581B3E2-12CC-4A69-92C0-2C09DAFC5148 | Test_Device | AB CompactLogix Ethernet FreeTag | TestRegisterName | TestTagName | SampleDescription | bool | | TRUE | value+timestamp+100 | {"MetaDataKey1":"MetaDataValue1"} | 1 |
Tag Attribute Rules
- The deviceName is required to find the corresponding device. The deviceId can be omitted. If the deviceId is not included, a device name not found error displays, but the tags will still be successfully added.
- Attribute values are required unless noted as optional.
- If an optional value is null, it is ignored. This allows for the loading of register definitions for multiple device types from a single file.
- If the value is null and the device driver defines it as mandatory, the tag is not imported.
- If an optional value is present in the CSV file, but it is not supported by the device driver, it is treated as an error and the tag is not imported.
- Attribute columns in the CSV can be in any order.
Attribute Name | Data Type | Description | Required |
|---|---|---|---|
deviceId | string | ID of the device. Use the Copy icon to get this value from the device tile in DeviceHub > Devices. If a device identified by the deviceId is not found, deviceName is used. | No |
deviceName | string | The name you configure for the device. | Yes |
driverName | string | Driver name is for validating optional attributes against registration.json. This type should directly correspond to the name of the driver package. Use the Copy icon to get this value from the device tile in DeviceHub > Devices. | No |
name | string | PLC register name or full PLC register address. Depends on valueType This name is case sensitive. | Yes |
tagName | string | The name you configure for the tag. | Yes |
description | string | The description you configure for the tag. | No |
valueType | string | Type of the register value. Available selections depend on the Register Table of the device. Examples: bit, word | Yes |
registerID | string | A unique register Id generated for this tag. Leave this value blank as it is generated when the tag is created. | No |
publishCoV | boolean | A flag that indicates whether the Only Publish on Change of Value setting is enabled. If left bank, the value FALSE is set by default. | No |
tagFormula | string | A formula that will transform the tag payload value to a new final value. This column is empty when no formula entered. Available formula parameters are:
Available math functions include sin, cos, sqrt, tan, power, log, and exp Example formula: sin(value) + 1 For additional functions on tag values such as rounding and data conversions, you can use Analytics or the Flows Manager. See Analytics Guides and Flows Guides to learn more. | No |
metaData | string | A JSON-formatted string containing one or more Metadata key-value pairs | No |
pollingInterval | float | Polling interval in seconds. Defines how often the tag polls the driver for a value. 0 means auto polling disabled. 1 means poll every 1 second. If left blank, a value of 1 applies. | No |
CSV Formatting and Escaping Rules
As CSV format is not standardized, several different methods could be used for escaping special characters. The Litmus Edge CSV specification adheres to the rules used by Microsoft Excel, as listed below:
- Field separators must be a semicolon (;).
- Fields can have white spaces around them. This space is removed during processing.
- Fields can be escaped with double quotes (") or single quotes ('). Leading or trailing white spaces inside the quotes are preserved.
- Any separator characters within a quoted field is treated as part of the field value.
- Any quotation character in a field value must be escaped with a backslash (\) character.
- Fields are parsed based on their data type: string values are read "as is" and numeric values are parsed with a numeric parser.
- Empty fields are treated as null values.
Step 3: Upload Populated CSV File of Tags
Once the CSV template file is populated, you can upload it to add all tags that were added to the file.
To upload a populated CSV file:
- From the Tags pane, click Add Tag, and then select Upload CSV. The Upload Tags dialog box appears.

- Click Select CSV.
- Select the file to upload and click Open.
- From the Upload Tags dialog box, click Upload. Upon a successful upload, the tags appear in the Tags pane. If the details in the CSV file do not match the expected configuration, error messages indicate the issues.
