OPC UA-supported data constructs
FactoryTalk Linx
OPC UA Connector maps these OPC UA-supported data constructs into data types supported by FactoryTalk
applications.- Scalar tags and arraysThe data type must be the same for all elements in the array.UA Data TypeFactoryTalkData TypeBooleanVT_BOOLByteVT_UI1DoubleVT_R8FloatVT_R4Int16VT_I2Int32VT_I4Int64VT_I8SByteVT_I1StringVT_BSTRUInt16VT_UI2UInt32VT_UI4UInt64VT_UI8DateTimeVT_UI8DateTime@UAx_DateTimeStringVT_BSTRGuidVT_BSTRByteStringVT_BSTRNodeIdVT_BSTRExpandedNodeIdVT_BSTRXmlElementVT_BSTRStatusCodeVT_BSTRQualifiedNameVT_BSTRLocalizedText1VT_BSTREnumerationsVT_BSTR
- StructuresA structure is a collection of different data constructs (members) combined into a single named item. Structures can contain simple base datatypes, arrays and other nested structures. The FactoryTalk Linx OPC UA Connector supports accessing tags and arrays defined with structures. The data is presented hierarchically starting with a tag at the highest level and subsequent levels or members separated by a period “.” The OPC UA specification is very extensive resulting in a broad range of structure complexity. The UA Connector must transform structures received from an OPC UA server into a form that is addressable by FactoryTalk Live Data software clients. While most structured definitions can be supported, some complex definitions may be excluded by the UA Connector.
- All fields are decomposed until theDataTypeis one of the OPC UA data types in the table.
- Nested (embedded) structures within structures. The fields within a structure can be any of the supported data types.
- Structures can contain arrays of both structured and non-structured data types.
- Single-dimension and multi-dimension arrays of structures.TIP:
- Due to anomalies in third-party software, a structure cannot contain a field that is a multi-dimension array. Only single-dimension arrays can be contained within a structure. This restriction should be removed in future versions as third-party OPC UA Servers are updated.
- When a structure contains an array, either single or multi-dimension, the tag browser will display a single element that is the last usable array element as defined by the server. For example, if a structure contains an Int32 with three elements and a nested structure with two array elements, the tag browser displays it as follows:StructName.Int32Name[2]StructName.NestedStructName[1].NestedFieldNameIf the size of the array is unknown or the array is missing or null, the array index is 0:StructName.Int32Name[0]StructName.NestedStructName[0].NestedFieldName
- Polymorphic tagsFactoryTalk LinxOPC UA Connector supports processing aVariableas either a scalar, a signle-dimension array, or a multi-dimension array value. Some OPC UA Servers may define aVariableusing aValueRankattribute of 0, -2, or -3, which could result in theVariabledynamically changing its shape to one of the following values during operation:
- If theValueRankattribute is set to 0, the value will be an array of one or more dimensions.
- If theValueRankattribute is set to -2, the value will be a scalar or an array of any number of dimensions.
- If theValueRankattribute is set to -3, the value will be a scalar or an array of one dimension.
When retrieving polymorphic values from the OPC UA Server,FactoryTalk LinxOPC UA Connector tries to extract the value using the shape that the data is expected to be, based on the LiveData tag. If the tag ends with array syntax is browsed in FactoryTalk Live Data Test Client, for example, “myInt[1,2]” will show as "myInt[?,?]", you need to replace the question mark with appropriate index values. If the tag ends with array syntax, for example, “myInt[1,2]”, it will try to extract it as an element in the array “myInt”. If it does not end with array syntax, it will try to extract it as a scalar. If the extraction succeeds,FactoryTalk LinxOPC UA Connector sets the quality to “Good” and sends the value to the Live Data client. If the extraction fails,FactoryTalk LinxOPC UA Connector sets the quality to “Configuration error” and leaves the existing value unchanged. - OPC UA methodsMethods provide a mechanism for a client to initiate some process or action within a target server (e.g. remote procedure call). The FactoryTalk Linx OPC UA Connector can initiate Methods in an OPC UA server. The UA Connector will create sets of tags in the FactoryTalk Live Data namespace linked to each Method’s name. These tags can then be used to trigger, pass arguments/parameters and obtain status. For more information, see OPC UA method.
- AlarmsThe FactoryTalk Linx OPC UA Connector can be used to link alarms defined in an OPC UA server to FactoryTalk Alarms and Events. This enables the FactoryTalk Alarm Summary screen in FactoryTalk View SE to include OPC UA alarms with Logix controller and HMI alarms. The UA Connector will also create many data items associated with alarms to permit FactoryTalk Live Data client software to reference the alarm status directly. For more information, see Use OPC UA alarm monitoring inFactoryTalk Alarms and Events Help.
FactoryTalk Linx
OPC UA Connector sets the maximum Live Data string length to 2048 characters. If the number of characters in the incoming string exceeds 2048, FactoryTalk Linx
OPC UA Connector will truncate the incoming string to 2047 characters plus a terminating NULL. For each tag, FactoryTalk Linx
OPC will log a single diagnostic message, regardless of how many additional times it occurs. Communications will not be impacted.
1
An OPC-defined structure with
.Text
and .Locale
fields. Only the .Text
field is converted to a value in Live Data. FactoryTalk Linx
OPC UA Connector does not specify a locale, so the default locale provided by the OPC UA Server is always used.
Provide Feedback