Data Forwarding
Data Forwarding sends collected variables, device states, alarms, and events to external systems. It can also write real-time data, historical data, or historical alarms to storage targets.
There are two objects to configure: the forwarding group decides what to send and when; the forwarding target decides where to send it.
Quick setup
- Open Development Configuration → Data Forwarding and create a forwarding group.
- Select a variable range and trigger mode. Use a small range for the first verification.
- Add a target under the group and select a target plugin.
- Fill in the target connection properties. Maintain target variable properties only when a variable needs an external field or address.
- Enable the group and target, then confirm that the target is online without continuous errors.
- Open the target's Debug tab or check its logs and verify that the external system received a test record.
Quick terminology
| Term | Meaning |
|---|---|
| Forwarding group | A set of variables and trigger rules to send. |
| Forwarding target | A data destination such as MQTT, a database, a webhook, or a protocol server. |
| Group variable | A variable member of the group. In a manual range, it determines the actual members. |
| Target variable property | The external mapping of one variable for one target, such as a field name, address, or write permission. |
| Trigger mode | When data is sent: on change, on a schedule, or on either. |
| Online filtering | Sends only online variables. Offline variables are excluded when enabled. |
| Offline cache | Stores data locally while the external system is unavailable and sends it after recovery. |
| Target redundancy | A standby target that takes over when the primary target fails. |
| Debug | A target detail page used to verify publishing, subscription, client, or server status. |
Page entry
Menu path: Development Configuration → Data Forwarding.

| Area | Purpose |
|---|---|
| Forwarding group list | Add, edit, delete, enable, disable, and restart groups. |
| Forwarding target list | Manage targets, target variable properties, and target runtime state for the selected group. |
| Detail area | View group logs, target logs, details, and the debug page. |
Configure a forwarding group
Click Add in the forwarding group panel to open the group editor.

| Setting | Description |
|---|---|
| Name | Display name of the group. Include the business scope, for example Line-A_Realtime. |
| Enable | Controls whether the group runs. A disabled group does not start its targets. |
| Log level | Group log detail. Temporarily use a higher level during commissioning, then restore Info. |
| Variable range | All variables, manual selection, collection devices, or collection groups. |
| Range settings | Names used by a collection-device or collection-group range. Separate multiple names with English commas. |
| Trigger mode | On change, scheduled, or scheduled/on change. |
| Schedule interval | Required when the trigger includes scheduling. Enter milliseconds or a Cron expression; routine cycles should use milliseconds such as 1000. |
| Online filtering | Sends only online variables when enabled. |
| Batch mode | No batching, one combined batch, by data group, by device, or by collection group. |
| Maximum batch size | Maximum variables in one request or message. Use it to control payload size. |
| Description | Records the group purpose, range, and maintenance notes. |
Select a variable range
| Range | Use it when |
|---|---|
| All variables | The whole installation must be uploaded. |
| Manual selection | Only key points or a pilot set should be sent. |
| Collection device | The target should follow one device or a device set. |
| Collection group | Variables are already organized by collection group. |
Select triggers and batches
| Requirement | Recommended setting |
|---|---|
| Send when the value changes | On change. |
| Send at a fixed interval | Scheduled, with an interval in milliseconds. |
| Send on change and periodically | Scheduled/on change. |
| One message per device | Batch by device. |
| One message per business group | Batch by data group or collection group. |
| Let the target handle a small payload | No batching. |
Maintain group variables
When the range is manual, the group variable list is the member list. For other ranges, it can override variable-level settings.
| Setting | Description |
|---|---|
| Variable | Variable to add or configure for this group. |
| Enable | Includes or excludes the variable from this group. |
| Data group | Group name used by by data group batching. |
| Update | Overrides the variable trigger mode for this group. |
| Group trigger | Allows a variable change to wake the whole group. |
| Alias | External variable name used by the target. |
Configure a forwarding target
Select a forwarding group, then click Add in the target panel.

| Setting | Description |
|---|---|
| Forwarding group | The group that owns the target. The target consumes only that group's range. |
| Target name | Unique name within the group. It is used in logs, redundancy, and import/export. |
| Enable | Starts the target and makes its debug page available. |
| Plugin | Selects the data-forwarding plugin and exposes its target properties. |
| Log level | Target log detail. |
| Startup timeout | Time allowed for the target to connect or initialize, in seconds. |
| Description | Records the target purpose and maintenance notes. |
| Plugin target properties | Properties provided by the selected plugin. Use the matching page in the Plugin Manual Index for field details. |
Where to find plugin properties
This page covers the common target workflow. MQTT, Kafka, RabbitMQ, Webhook, Modbus, OPC UA, IEC104, IEC61850, database, and SyncBridge-specific properties, templates, debug tabs, and troubleshooting are documented in the matching data-forwarding plugin manual.
Target variable properties
Target variable properties define the external mapping of one variable for one target. They do not define the forwarding group's member range.
Typical uses include:
- External field names, aliases, and custom data fields.
- Modbus slave addresses, data types, and write permissions.
- Upload fields for MQTT, Kafka, RabbitMQ, and Webhook targets.
- Sampling strategy, sampling interval, and condition expressions for historical-data targets.
Select a valid target and variable before editing these properties. The variable must be inside the group's range for the mapping to take effect.

Enable and verify
After saving, confirm in order:
- The forwarding group is enabled.
- The target is enabled and shows a running state.
- The target's variable range is not empty.
- Target logs contain no connection, authentication, or send errors.
- The external system receives one test record.
An online target does not prove that data has arrived. Check both the target log and the receiving system.
Debug and logs
Select a target and click Debug. The page varies by plugin and may provide publishing, subscription, client-list, server-status, or protocol operations.

When a target does not start or sends no data, check the Forwarding Target Log first, then the Forwarding Group Log.
| Symptom | Check first |
|---|---|
| Target does not start | Group and target enable states, plugin enable state, and required target properties. |
| No data is sent | Variable range, variable enable state, trigger mode, and online filtering. |
| Target is online but the receiver has no data | Target log, receiver credentials, Topic/URL/table name, and payload format. |
| Scheduled forwarding does not run | Trigger mode includes scheduling and the interval is milliseconds or a valid Cron expression. |
| Change forwarding does not run | The variable really changed; check Group trigger when a whole-group wake-up is required. |
| Offline cache keeps growing | External service recovery, disk space, upload batch size, and concurrency. |
Target redundancy
Target redundancy switches sending from a primary target to a standby target.
- The primary and standby targets must belong to the same forwarding group.
- The standby target should use the same plugin, with its own connection and credentials.
- A standby target must not also be the standby for another target, and it should not enable its own redundancy.
- Perform one controlled switch before production and verify that the standby target can send.
Import and export
Data-forwarding configuration can be imported and exported for backup, migration, and batch changes. After importing, check failed rows and recheck the group range, target plugin, and target variable properties.
Related links
- Collection Configuration: Configure channels, devices, and variables.
- Plugin Manual Index: View plugin-specific target properties and debug pages.
- System Logs: View backend, operation, and RPC logs.
- System Settings: Configure network, certificates, redundancy, and system controls.