Channels
Channels are configured on a Gate to send (“publisher”) or receive (“subscriber”) data to/from a Gate.
- Source: This Gate is the source of the data, i.e. the TC3 IoT Data Agent connects to the Gate and requests data from it in order to send it somewhere else (to a "Destination Gate"). Technically, this is also referred to as the “Subscriber Channel”.
- Destination: This Gate is the destination of the data, i.e. the TC3 IoT Data Agent connects to the Gate and sends it data that it has received from another Gate (from a "Source Gate"). Technically, this is also referred to as the “Publisher Channel”.
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
- OnChange
- TriggerSymbol
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 |
![]() | Usage of trigger symbols Trigger symbols can only be configured for ADS and OPC UA subscriber symbols.
|