Drag and Drop Variable Creation

Single Byte Operating Systems

On dragging and dropping an item from the Data Selector Exaquantum/Explorer will create a data variable. The data variable name is from the access string, for example:

Consider the tag:

Root.Folder.Tag.Value:Value

On dragging and dropping into Exaquantum/Explorer, a variable would be created with the name:

RootFolderTagValueValue

With an access string of:

Root.Folder.Tag.Value:Value

Spaces in the tag name are a special case and are replaced by underscores.

Examples:

Access String

Variable name

Root.Folder.Tag.Value:Value

RootFolderTagValueValue

Root.Folder.Tag.Value:TimeStamp

RootFolderTagValueTimeStamp

Root.Folder.Tag.Aggregations.Hour.Maximum.Value:Value

RootFolderTagAggregationsHourMaximumValueValue

Root.Folder XX.Tag YY.Value:Quality

RootFolder_XXTag_YYValueQuality

 

If the same tag is dragged and dropped onto the document but has different time parameters, for example a live value or historical, then the container will recognise that a variable already exists with the desired name so it will add a number to the variable name. For example: RootFolderTagValueValue1, RootFolderTagValueValue2 and so on.

Multi-byte Operating Systems (Japanese)

On a Japanese PC (or other multi-byte system) where characters can be multi-byte they will have to be translated into single byte characters. For an access string we should consider the component parts and identify which parts can be multi byte characters. Tag name, Folder name and Aggregation name can be in Japanese language, Root, Aggregations, Maximum etc and Value/Quality /Timestamp will always be in English. For the creation of the variable name, if one of these parts of the access string are represented by multi-byte characters they will have to be translated, if the characters in the composite part are all single byte then they can remain so.

Note: Multi-byte characters include the double-byte representations of A, B etc.

The translation of multi-byte characters will be:

Tagname -> Tag

Folder -> Folder

Aggregation –> AggregationName

Consider the following examples:

Access String

Variable name

Root.MultiByteFolder.MultiByteTag.Value:Value

RootFolderTagValueValue

Root.MultiByteFolderX.MultiByteFolderY.MultiByteTag.Value:TimeStamp

RootFolderFolderTagValueTimeStamp

Root.MultiByteFolderX.SingleByteFolderY.MultiByteTag.Value:Quality

RootFolderSingleByteFolderYTagValueTimeStamp

Root.MultiByteFolder.MultiByteTag.Aggregations.MultibyteAggregationName.Maximum.Value:Value

RootFolderTagAggregationsAggregationNameMaximumValueValue

Root.MultiByteFolder.MultiByteTag.Aggregations.SinglebyteAggregationName.Maximum.Value:Value

RootFolderTagAggregationsSingleByteAggregationNameMaximumValueValue

 

Where any tag, folder or aggregation names contain multi-byte characters that need to be translated into an equivalent English string, there will be an increased number of times when the variable names will clash. To resolve this, if the desired variable name exists then a number (n) will be appended to the variable name.

For example:

RootFolderTagValueValue1, RootFolderTagValueValue2

and so on.