Symbols

Symbols represent variables from a gate, e.g. a TwinCAT PLC variable. The symbol configuration includes the address information that the Data Agent requires in order to read a symbol’s value or write to it. This address information is therefore depending on the gate type.

On gates that support a target browser, the browser will automatically detect the correct address information for a symbol. For all other gates, this information needs to be entered manually.

Gate type

Setting

Description

ADS

URN

Symbol name address information of the ADS variable. Might not work with all ADS devices, e.g. BC devices do not support symbol names.

ADS

IndexGroup

IndexOffset

IndexGroup/IndexOffset combination can be used to access data of an ADS device that does not support symbolic address information. In case of the TwinCAT PLC, the IndexGroup/IndexOffset combination directly represents a memory address, e.g. from a PLC variable, which may change after a re-compilation of the TwinCAT project. It is therefore common practice to use the TwinCAT PLC symbol server instead, which provides symbolic information for its PLC variables, which means that a variable can be accessed via its symbol name instead, which stays valid even after a re-compilation or online change (if the symbol still exists).

However, some ADS services do not include such a symbol server, e.g. small Beckhoff BC devices. In those cases the IndexGroup/IndexOffset combination needs to be used.

ADS

DataType

Data type of the symbol

ADS

Conversion

Specifies conversion mode for this symbol.

OPC UA

Name

Descriptive name of the OPC UA node. Only used in Configurator, does not represent any online address information.

OPC UA

Identifier

Identifier of OPC UA symbol on the server, e.g.:

  • s = MAIN.nCounter (if the IdentifierType is “String”)
  • n = 42 (if the IdentifierType is “Numeric”)

OPC UA

NsName

Namespace name in which the symbol is located. This corresponds to the namespace index, which is part of an OPC UA NodeId. The translation can be done via the NamespaceArray.

OPC UA

AttributeId

The AttributeId defines the OPC UA attribute that should be used by the Data Agent when reading a symbol. In most scenarios, this is the “Value” of a symbol.

OPC UA

Conversion

Specifies conversion mode for this symbol.

MQTT

URN

Name of the MQTT symbol. This represents the name that is being used in the JSON format as a key, also when receiving data from the MQTT Gate.

MQTT

DataType

Data type of the symbol

MQTT

Conversion

Specifies conversion mode for this symbol.

IoT Hub

URN

Name of the IoT Hub symbol. This represents the name that is being used in the JSON format as a key, also when receiving data from IoT Hub.

IoT Hub

DataType

Data type of the symbol

IoT Hub

Conversion

Specifies conversion mode for this symbol.

When configuring a Channel, symbols can be added via a target browser or manually by providing the correct address information. Note that not all gate types include target browser functionalities. In this case symbols need to be configured manually.

Manual symbol configuration

If the target device is not online or does not provide any symbolic address information (e.g. the BC9191), symbols may also be added manually by entering the symbol address. The tables at the beginning of this document show which information is required in this case.

Type conversion

The TC3 IoT Data Agent supports data type conversion before the data is published to a Gate. Type conversion occurs on symbol level, which means that different Symbols can use different conversion modes. The following table shows the different conversion modes available.

Conversion mode

Description

Losless

Default setting. “Smaller” types can be converted into “larger” types. For example, a subscriber symbol of data type INT can be published to a symbol of data type Int32 (2 byte to 4 byte).

Lossy

If required, “larger” symbols can also be converted into “smaller” symbols. For example, a subscriber symbol of data type DINT can be published to a symbol of data type Int16 (4 byte to 2 byte). Depending on the value of the subscriber symbol, this can of course result in cut-off values.

Strict

If required, symbols can also be configured to use “strict mode”. In this conversion mode, the data type size of a subscriber symbol needs to match exactly the data type of the mapped publisher symbol. For example, a subscriber symbol of data type INT can only be published to a symbol of data type Int16 (2 byte to 2 byte).