Tag Data Types
This page details the different data types that can be applied to standard tags.
The data type of a tag is determined by the Data Type property, which is accessible from the Tag Editor. The tags system will attempt to coerce any raw incoming value (for example, from OPC or a SQL query) into the desired type.
The following table lists all the data types available for tags in Ignition.
Data Type | String Value | Integer Value |
---|---|---|
Byte | Int1 | 0 |
Short | Int2 | 1 |
Integer | Int4 | 2 |
Long | Int8 | 3 |
Float | Float4 | 4 |
Double | Float8 | 5 |
Boolean | Boolean | 6 |
String | String | 7 |
DateTime Changed in 8.1.29 Prior to 8.1.29, the Siemens driver does not support Ignition tag's DateTime type. In these cases it is recommended to extract each byte in the Siemens DATE_AND_TIME value item, storing each into a separate Ignition tag. Then use an expression tag to combine each byte into a human readable datetime. For 8.1.29+, the Siemens driver supports DateTime data types for the following Siemens devices: | DateTime | 8 |
Text (Deprecated in 8.1.8) | Text | 10 |
Byte Array | Int1Array | 17 |
Short Array | Int2Array | 18 |
Integer Array | Int4Array | 11 |
Long Array | Int8Array | 12 |
Float Array | Float4Array | 19 |
Double Array | Float8Array | 13 |
Boolean Array | BooleanArray | 14 |
String Array | StringArray | 15 |
DateTime Array | DateTimeArray | 16 |
Binary Data | ByteArray | 20 |
Dataset | DataSet | 9 |
Document | Document | 29 |
Array and Dataset Data Types​
The Array and Dataset data types available on tags allow for multiple data points to be stored in a single tag. Configuring a tag as an array or dataset is as easy as changing the data type in the Tag Editor.
Most OPC device drivers do not support array and dataset data types. These types work best when used on query tags or memory tags. When working with arrays via our OPC UA device drivers, it is recommended to create Ignition tags for each array element instead of using an array data type tag.
Array Tags​
For OPC servers and drivers that support array type tags, each element in the array can easily be represented with the array data types in Ignition. Because the core data type of each element in the array is the same, it is possible to apply Tag History, Alarming, or Scaling configurations onto the array, and these configurations will be inherited by each element.
The array tag type will now accept and coerce JSON array types, allowing methods such as jsonGet
.
Array Tag Write-Back​
OPC Array tags support writing back to the device. How this is done can vary, depending on the type of OPC Server in use. Some OPC Servers support writes to individual array elements, where a write would occur just like any other tag write. However, some OPC Servers do not support individual element writes, which means the whole array will need to be written back to the array tag, even if only a single element is changing.
Dataset Tags​
Dataset tags allow multiple rows and columns worth of data to be stored in a tag. Each column is exposed as a separate folder in the tag (i.e., the "name" folder in the image below). Dataset tags can be driven by a query, so it's possible to query for multiple columns on a row in a single tag. This is more efficient than using multiple query tags (and thus multiple queries) to retrieve the same data.
While dataset tags are convenient, note that the Tag History system and Alarm system do not support tags with dataset types.
Valid data types that can be stored in dataset tags include the following:
- Float
- Short
- Long
- Date
- Integer
- Boolean
- String
- Color
- Double
- Timestamp
- New in 8.1.20Byte Arrays
Dataset Tag Example​
The following example will create a dataset memory tag and display the contents in a Table component.
- Create a new Memory Tag. Name it Dataset, and change the data type to Dataset. The Dataset will be empty by default.
- Click the Edit icon next to Value. The Value screen is displayed. For this example, we created a simple dataset with four columns and five rows.
- Click the Add Column icon. Name the first column City and set type to be String.
- Click Add Column.
- Repeat adding columns as follows:
- Column Name: Population Type: Integer
- Column Name: TimeZone Type: String
- Column Name: GMTOffset Type: Integer
- Click the Add Row icon. Add the row information as follows:
New York 8368710 EST -5 Los Angeles 3833995 PST -8 Chicago 2853114 CST -6 Houston 2242193 CST -6 Phoenix 1567924 MST -7 - Click the Commit button.
- Click OK to save the tag.
The tag will now contain rows, columns, and values based on the configurations you made earlier in this example. Now you have a tag with a dataset value that can be bound to by components in Vision and Perspective.
Document Type​
The document type allows a tag to have a JSON document as a value. Note that the Tag History system does not support tags with a document type.
Most OPC device drivers do not support the document data type. This type works best when used on query tags or memory tags.
The document tag type now supports writing to OPC tags containing DocumentArray values. Setting a tag to this type will cause the value field to display an icon.
Clicking the icon will transition the Tag Editor into a JSON Editor, allowing you to manually write JSON directly to the value.
Click the + icon to add new members to the object. When finished, press Commit.
When saved, the value of the tag will render as a JSON document in the Tag Browser.
The document tag type will now accept and coerce PyDictionary types.