Channels

Channels are configured on a Gate to send (“publisher”) or receive (“subscriber”) data to/from a Gate.

Each channel has different settings that either describe the data format that should be used for this channel or the sampling settings that the TC3 IoT Data Agent should use for gathering data. These settings may also depend on the Gate type for which the channel is configured.

All available settings are listed in the table below.

Setting

Description

Applicable to Gate type

Direction

Specifies whether the channel should be either a Publisher (sender) or Subscriber (receiver) Channel. Depending on the selection and Gate type, other settings are required or pre-selected.

All Gates

Setting

Description

Applicable to Gate type

SamplingMode

Selects if the channel should use either cyclic or event-based sampling mechanisms when gathering data from a source. It should be noted that not all Gates support both types, depending on the direction. An MQTT Gate, for example, uses when receiving data always SamplingMode “event” (this is always event-based due to the Pub/Sub principle).

All Gates

CycleTime

Only applicable for SamplingMode “cyclic”. Specifies the sampling rate in [ms].

All Gates

Timeout

The timeout for a communication with the Gate in [ms].

All Gates

PartialUpdate

Enables/disables partial updates on this channel. When enabled (default), a Publish includes only the updated symbol. When disabled, a Publish includes all symbols of a channel with their last known value.

Only applicable to Publisher channels.

All Gates

BufferSize

Specifies the size (number of messages) of the ring buffer in the event of connection loss.

MQTT, AWS IoT, Azure IoT Hub

Setting

Description

Applicable to Gate type

Formatter

Specifies the data format to use for this channel, such as binary or JSON. Note that some Gates require their channels to use a predefined data format, such as ADS or OPC UA Gates, because communication with these devices requires a specific format. In this case the Formatter is predefined and not changeable via the configurator.

MQTT, AWS IoT, Azure IoT Hub

FormatterType

Specifies the Formatter type on this channel. In most cases, the Formatter type is an InOut type. For more information on this setting, see our documentation article on writing custom plugins using the Formatter interface.

MQTT, AWS IoT, Azure IoT Hub

Setting

Description

Applicable to Gate type

Topic

Specifies the MQTT topic to be used for publishing or subscribing.

MQTT

QoS

Specifies the QoS (Quality-of-Service) level to be used for publishing or subscribing.

MQTT, AWS IoT

Retain

Specifies whether a message should be sent as "Retain". (Only relevant for the Publisher channel)

MQTT

SendStateInfo

When enabled, the TC3 IoT Data Agent publishes its OnlineState to the subtopic /Desc/ and uses this subtopic in its LastWill. When the TC3 IoT Data Agent connects to the message broker, a JSON message is published to this topic containing the following

{ “OnlineState” : true }

When the TC3 IoT Data Agent properly disconnects from the message broker, the following message is sent to this topic:

{ “OnlineState” : false }

When the message broker detects, that the TC3 IoT Data Agent has lost the connection, the following message is sent to this topic (LastWill):

{ “OnlineState” : false }

MQTT, AWS IoT

Sampling Modes

The TC3 IoT Data Agent includes different sampling modes that influence the way data is acquired from a source or written to a destination. The sampling mode can be set on a channel. The following sampling modes are currently available:

Cyclic

Cyclic sampling means that the TC3 IoT Data Agent is cyclically sampling the gate for data (subscriber channel) or cyclically writing data to a gate (publisher channel). On a subscriber channel, this results in cyclic read commands whereas on a publisher channel this results in cyclic write commands, e.g. on an ADS or OPC UA gate. On gate types that are based on publisher/subscriber concepts, e.g. MQTT, AWS IoT and Azure IoT Hub gates, cyclic requests on a subscriber channel are automatically replaced by subscriptions whereas on a publisher channel this results in cyclic publish commands.

OnChange

OnChange sampling means that the TC3 IoT Data Agent only communicates data with a gate if the value of a variable has changed.

Trigger symbols

Trigger symbols enable “on demand” sampling, e.g. if a certain condition for a specified symbol (the so-called “trigger symbol”) is fullfilled. Different condition types can be set. They are configured as part of a channel and allow to specify the following condition types.

Condition type

Description

EQ

Trigger symbol value equals a given value

NE

Trigger symbol value differs from a given value

LE

Trigger symbol value is less than or equals a given value

GE

Trigger symbol value is greater than or equals a given value

LT

Trigger symbol value is less than given value

GT

Trigger symbol value is greater than given value

If the condition is fullfilled, all symbols in that channel are published to the corresponding gate. In addition you can specify how often the symbol values should be send.

Send behavior

Description

risingEdge

Symbols are only send once when the condition is fullfilled

continuous

Symbols are send as long as the condition is fullfilled

Channels 1:

Usage of trigger symbols

Trigger symbols can only be configured for ADS and OPC UA subscriber symbols.

  • Add the symbol that should act as trigger symbol to the ADS or OPC UA subscriber channel.
  • Configure the linked publisher channel with SamplingMode “OnTrigger” to specify the previously added symbol as trigger symbol.