Introduced in version 10.97.1, FrameWorX can support reading OPC UA structured variables.
For client applications that cannot yet work with the whole structure, it is possible to use the member() modifier to access individual members.
For example, assume we have a UA structured variable named "ua:MyServer\\:Server.:ServerStatus". Its members can be accessed with the "member" modifier like this:
member(ua:MyServer\\:Server.:ServerStatus).CurrentTime
member(ua:MyServer\\:Server.:ServerStatus).BuildInfo
If BuildInfo is another structure, its members can be accessed like this:
member(ua:MyServer\\:Server.:ServerStatus).BuildInfo.SoftwareVersion
member(ua:MyServer\\:Server.:ServerStatus).BuildInfo.ManufacturerName
Note: writing to OPC UA structured variables is not currently supported.
Systems with a GENESIS64 Basic SCADA license must use the member() function and map individual structured variable leaves to the Real-time Data tab of an AssetWorX equipment property. Using the example above, a Basic SCADA user could access the current time, software version, and manufacturer name by creating three AssetWorX equipment properties, going to the Real-time Data tab of each one, selecting a Source type of Dynamic tag, then setting each equipment property's Real-time data tag to one of these:
member(ua:MyServer\\:Server.:ServerStatus).CurrentTime
member(ua:MyServer\\:Server.:ServerStatus).BuildInfo.SoftwareVersion
member(ua:MyServer\\:Server.:ServerStatus).BuildInfo.ManufacturerName
Mapping AssetWorX properties to a complex member, such as member(ua:MyServer\\:Server.:ServerStatus).BuildInfo, is not currently supported. Each simple child value must have its own equipment property if it is to be read in a Basic SCADA system.