Skip to main content

Device Debugging

Device debugging directly verifies the communication capabilities of collection devices and data-forwarding targets in GatewayRuntime Web. The current version uses a unified debug workspace: the page combines overview, runtime status, general read/write, receive monitoring, clients, cache, variable mapping, and protocol-specific panels according to the selected plugin. Select a real device or forwarding target first, then open the "Debug" tab on its details page. "Test Data" is used to generate demo channels, devices, and variables in batches.

Full Packet Debugging

CustomPacketMaster Can send a complete custom packet by Hex or text, and choose to send only or send and wait. For configuration and operation instructions, refer to Fully Customizable Packet Collection.

Check the Terminology Before Debugging

TerminologyOn-site Understanding
Brokerservers of message systems such as MQTT, Kafka, RabbitMQ, etc., which can be understood on-site as "message relay servers."
TopicThe topic/path for sending or subscribing to messages, similar to the data channel name agreed upon by an external system.
Payloadmessage body, which is the actual data content sent.
RPC writesexternal system backwrite points. Only when it is confirmed that on-site equipment allows remote control should control points be activated.
Target variable propertyThe external mapping of a forwarding target to a single variable, such as an external field name, slave address, or write permission.
DTU / DTU IDTransparent terminal and its number, used to distinguish which remote device is accessing.
QoS/RetainMQTT delivery level and retention message toggle. For regular tests, first fill out the information as agreed by the on-site broker. If unclear, do not open Retain casually.

debug pages like MQTT, Kafka, RabbitMQ, etc., require corresponding servers or brokers on-site. The page provides forms such as publishing, subscription, and client lists, but the execution results depend on the connection status of the target service.

On-site Debugging Principles

The debugging page is directly oriented toward real equipment or real external systems. During on-site inspections, first prove that "readable, read correctly, and logs are normal," then consider writing or publishing test messages.

PrinciplesExplanation
Read before writeRead the read-only or secure point first, confirm that the channel, station number, address, and data type are correct, Then test the write.
Single point first, then batchVerify with one address first, then expand to continuous addresses, point table import, or batch forwarding.
Test the environment before productionIf possible, verify first in the PLC simulator, test broker, or test topic.
Writing requires on-site confirmationPoints for start/stop, reset, set values, valves, motors, and interlocks must be confirmed before writing that the equipment is in a permitted remote control state.
After debugging, log level recoveryAfter temporarily opening Debug or Trace, the joint debugging should resume to Info to avoid long-term log-generating volume.

Debug Permissions

Collection Configuration and Data Forwarding each provide five independent debug permissions. Administrators should grant both menu-button and API permissions according to job responsibilities. Do not include high-risk operations in a general debug role.

Button PermissionPermission CodeAllowed OperationsSuggested Role
Debug Viewdebug:viewEnter the Debug tab and view the object overview, runtime state, and redacted summaries.Read-only monitoring and debug staff
Read-only Debugdebug:queryRead values, browse nodes, query state, and run read-only diagnostics.Read-only debug staff
General Debug Writedebug:writeWrite ordinary points, publish messages, maintain subscriptions, and run low-risk protocol commands.Operations and maintenance staff
Dangerous Debug Controldebug:dangerousRun or stop PLCs, move robots, reset equipment, perform batch I/O, delete datasets, send arbitrary commands, or disconnect clients.Approved control engineers
Sensitive Debug Datadebug:sensitiveView certificate trust information, identity-card data, and other separately controlled content.Security administrators or designated staff

The default user role contains only Debug View and Read-only Debug. General writes, dangerous controls, and sensitive data must be granted explicitly through independent roles. When only communication diagnosis is required, do not grant the latter three permissions.

High-risk operations

Dangerous Debug Control is not equivalent to an ordinary variable write. Before resetting, starting or stopping, moving equipment, switching programs, sending raw commands, or deleting datasets, confirm that the equipment is in maintenance mode, field interlocks are active, and someone able to stop the equipment immediately is present.

Function Entry

Device Acquisition Debugging

Go to "Development Configuration → Collection Configuration", first switch to "Device Display", then select a device from the device status list on the left. When the device details appear on the right, click the "Debug" tab.

Unified device debug workspace

StepsInstructions
Switch device display"Variable Display" for viewing the point list, "Device Display" for opening device details. The equipment debugging entry is only displayed in the device details.
Select the deviceClick the device row on the left, not the variable row. The right header will display "Device Name - Details."
Open DebuggingSelect "Debugging" under the "Device Information, Channel Logs, Device Logs, Debugging" tab in the device details.
Perform the testDisplay the corresponding debug interface according to the plugin type. The general driver displays Foundation read/write, while MQTT/Kafka/RabbitMQ displays message debugging.

Data Forwarding Target Debugging

Enter "Development Configuration → Data Forwarding", select a forwarding group, then choose a forwarding target. Click the "Debug" tab in the details area on the right to verify the send, publish, or server status of forwarding plugins such as MQTT, Kafka, RabbitMQ, ModbusSlave, OpcUaServer, etc.

ObjectDebugging entryApplicable scenarios
Collection equipmentCollection Configuration → Device Display → Device Details → DebuggingVerify read/write, subscription, or protocol status of PLC, instrument, OPC, MQTT collection devices.
Data forwarding targetData forwarding → Select target → Details Area → DebugVerify message publishing, subscription management, client connections, or server-side statistics for forwarded targets.

Unified Debug Workspace

After entering the "Debug" tab, the workspace header shows the object name, plugin, object ID, online state, and runtime-instance state. The tabs below are assembled from the current plugin's capabilities, so different plugins may expose different numbers of tabs.

Workspace ModuleMain ContentAvailable While Offline
OverviewObject name, plugin, channel or forwarding group, variable count, and latest error.Yes
Runtime StatusSuccess and failure counts, latest activity, rate, and initialization state.Yes
Read/WriteFoundation single-point and batch read/write with result history.View only; commands disabled
Receive MonitorActive reports, parsing, mapping, and drop statistics.View only; live commands disabled
ClientsConnected TCP server clients. Displayed only for server channels.View only; disconnect disabled
Forwarding PipelineForwarding-group input, batches, and processing state.Yes
Cache QueueIn-memory queue and offline-cache backlog.Yes
Storage DiagnosticsDatabase connection, target table, and latest write state.Yes
Protocol ServiceServer listener, sessions, and request state.View only; control commands disabled
Variable MappingMapping state between gateway variables and external addresses or nodes.Yes
Certificate StoreProtocol certificates and trust information. Sensitive fields still require Sensitive Debug Data.Yes
ProtocolThe current plugin's dedicated debug page.View only; operations requiring a runtime instance are disabled

When an object is disabled, paused, on standby, missing a runtime instance, failed during initialization, or stopped, the page displays a "Runtime instance unavailable" notice. Saved configuration, overview data, and historical snapshots remain available, but commands requiring a live connection cannot run.

Debug workspace when the runtime instance is unavailable

Troubleshoot in this order:

  1. Read the reason in the notice, such as "Object paused" or "Initialization failed."
  2. Return to the device or forwarding-target details and confirm that the object is enabled and is not a standby instance.
  3. Check the channel, device, or target logs and correct connection or initialization errors.
  4. After runtime operation is restored, refresh the debug workspace and begin with a read-only query.

Supported Debug Types

After selecting a device or forwarding target, the Debug tab displays the panels supported by its plugin. The current version provides 12 composable general modules and 56 protocol-specific panels. Foundation plugins without a dedicated page still receive general read/write, client, and message-monitoring modules.

CategoryProtocol-specific PanelsMain Purpose
Instrumentation and control modulesDAM3601, DL/T 698, DTSU6606, EC FanRead temperature or electrical snapshots, run APDU diagnostics, inspect speed, and apply controlled settings.
PLC and industrial controlFatek Program Port, Fuji SPH, GE SRTP, Inovance Computer Link, Keyence Nano, Mitsubishi A3C/FX Links/FX Serial, Modbus C20, Omron Host Link C-Mode, Panasonic Mewtocol, Toyo PUC, Yaskawa Memobus, Yokogawa LinkRead PLC state, clock, model, and special modules; perform write, run, stop, or reset operations according to permissions.
Robots and CNCABB Web API, Estun, Efort, FANUC CNC 0i, FANUC Robot Interface, Hyundai Tracking, KUKA Controller TCP, KUKA Variable Proxy, Yamaha RCX, Yaskawa YRC1000, Yaskawa YRC High EthernetInspect robot state, coordinates, programs, and I/O; control programs, servos, motion, macro variables, or I/O only with dangerous permission.
Industrial protocolsCAN, IEC 104 Master, IEC 61850 Client/Server, Open Protocol, SECS-I, HSMS/SECS-IIDiagnose frames, general interrogation, models, datasets, control blocks, tightening results, and SECS transactions.
Barcode, identification, and RFIDKeyence DL-EN1, Keyence SR-2000, SAM identity-card module, Turck RFID, barcode/event monitorRun explicit sensor or scanner commands, read tags or cards, and restrict sensitive-information display.
Messaging and platformsMQTT Client/Server, Kafka, RabbitMQ, ThingsBoard, HTTP Webhook, ZeroMQ, OPC UA Client/Server, OPC DA, Gateway MQTT Client/Server, SyncBridge, Custom Packet, event monitorPublish and subscribe, inspect server sessions, browse nodes, manage certificates and cache, synchronize data, and diagnose complete packets.

Dedicated Gateway MQTT collection and SyncBridge use specialized debug pages instead of mounting the general MQTT debug form. See Dedicated Gateway MQTT Collection and SyncBridge Gateway Synchronization.

OPC UA Server Certificate Stores

The OPC UA Server "Certificate Stores" tab maintains trust sources for client application and user certificates. Go to "Development Configuration → Data Forwarding", select an OpcUaServer target, and open its "Debug" tab. Only users with debug:sensitive can view certificate subjects, issuers, thumbprints, and validity periods.

Five OPC UA Server certificate stores

Configuration Steps

  1. Edit the OPC UA Server target and confirm the service address (default opc.tcp://127.0.0.1:48410), server certificate name, and security policy. Enable "Allow certificate login" when clients use user certificates.
  2. Select a client certificate trust mode. ManualTrustList is maintained through the four application/user issuer/trusted stores. In SpecifiedCA, select "Trusted client CA" to accept only client application and user certificates issued by that CA; when it is blank, valid client certificates are trusted automatically.
  3. Save the target, open "Debug → Certificate Stores", and use the refresh button to load the five fixed stores. Use the returned store name and thumbprint as the operation identifiers; do not infer physical paths.
  4. In ManualTrustList, select a store and click the upload icon. Choose a .cer, .crt, .der, or .pem file larger than zero and no larger than 1 MiB.
  5. To delete a certificate, click the row delete icon, check the subject in the confirmation dialog, and confirm. Deletion is identified by thumbprint and does not remove other certificates in the store.
StoreContentsManual trust-list modeSpecified-CA modePermission
ApplicationIssuerIssuer certificates for client applications.Upload and delete.Read-only; the selected CA manages the chain.Upload debug:write; delete debug:dangerous.
ApplicationTrustedTrusted client application certificates.Upload and delete.Read-only; certificates are not maintained individually.Upload debug:write; delete debug:dangerous.
UserIssuerIssuer certificates for user certificates.Upload and delete.Read-only; the selected CA manages the chain.Upload debug:write; delete debug:dangerous.
UserTrustedTrusted user certificates.Upload and delete.Read-only; certificates are not maintained individually.Upload debug:write; delete debug:dangerous.
RejectedCertificates rejected by the SDK or server.No upload; delete only.No upload; delete only.Delete debug:dangerous.

In SpecifiedCA, the four issuer/trusted stores show read-only hints; Rejected can always be deleted with dangerous permission. Certificate-store query and refresh are sensitive-data operations, so do not combine debug:sensitive with a general write role. When the server certificate is CA-issued, fill in "Server issuing CA" so clients can build the complete certificate chain.

New Industrial Protocol Debug Pages

The following 37 pages are the new root-level protocol-specific pages in the current version. The common path is "Development Configuration → Collection Configuration → Device Display → Device Details → Debug → Protocol". Run the read-only operation in each row first, then perform a write or control. Buttons are hidden by permission, and dangerous buttons also require a confirmation dialog before sending. Address, station, program-number, and array formats must follow the device manual or field point table.

EC Fan protocol-specific debug page

PageRead-only operations and main inputsWrites, controls, and confirmation
ABB Web APIOverview, I/O, joint target, event log, and user-symbol queries; network, mechanical unit, I/O unit/signal, log count, and user-symbol inputs.Raw requests use path, Content-Type, and body. GET is query; POST requires debug:dangerous and confirmation.
DAM3601Read the full temperature snapshot; no extra input.No write operation.
DL/T 698Read an OAD list; enter OADs such as 20-00-02-00.Enter OAD and APDU hex to exchange a clear APDU; arbitrary APDU requires debug:dangerous and confirmation.
DTSU6606Read the complete electrical snapshot; no extra input.No write operation.
EC FanRead emergency, minimum, and maximum speeds. Enter run/emergency state, target speed (0-4095), and station (1-30).Apply speed control and set station require debug:dangerous and confirmation.
Efort RobotRefresh the robot status snapshot; no extra input.No write operation.
Estun RobotRefresh status; enter project name and global speed.Start/stop, reset error, load/unload project, set speed, and reset command status require dangerous permission and confirmation.
FANUC CNC 0iRead machine status, macros, tool offsets/groups, PMC/raw memory, and program directory; enter numbers, lengths, addresses, function codes, paths, block size, and program text.Macro/tool/PMC/raw-memory writes and program write/select/start/delete require dangerous permission and confirmation.
FANUC Robot InterfaceRead snapshots and bit/word I/O; enter region, address, length, and JSON arrays. Pose input includes Cartesian/Joint, address, user frame/tool, and pose arrays.Bit/word I/O and pose writes are robot control and require dangerous permission and confirmation; UI/SI bit regions are read-only.
Fatek ProgramRead PLC status; no extra input.PLC run and stop require dangerous permission and confirmation.
Fuji SPHSelect a CPU control mode and view the result.CPU control requires dangerous permission and confirmation.
GE SRTPRead PLC clock and current program name; no extra input.No write operation.
Hyundai TrackingRefresh the tracking frame; enter X/Y/Z and Rx/Ry/Rz increments.Writing tracking increments affects robot pose and requires dangerous permission and confirmation.
IEC 104 MasterTest link and run general interrogation; enter qualifier and common address.Clock synchronization is a normal write. Remote control uses type, address, single/double state, and timestamp; select and execute require dangerous permission and confirmation.
Inovance Computer LinkRead PLC type; no extra input.PLC run and stop require dangerous permission and confirmation.
Keyence DL-EN1Enter sensor command text/array and inspect the response.An arbitrary sensor command requires debug:dangerous and confirmation.
Keyence KV Upper LinkRead PLC type/mode, annotation, and expansion unit; enter device address, unit, start address, word count, and hex words.Clear CPU error, set controller time, and write expansion unit require dangerous permission and confirmation.
Keyence SR-2000Read barcode, version, command/error state, and record; enter terminal number (0-255) and value for I/O.Set output and indicator toggles are writes with confirmation. Reset, lock/unlock, and arbitrary command require dangerous permission and confirmation.
KUKA Controller TCPEnter one variable name/value per line and read or write; enter a program name.Batch variable write and start/reset/stop program require dangerous permission and confirmation.
KUKA Variable ProxyEnter one variable name and value and read it.Variable write requires dangerous permission and confirmation.
Melsec A3CRead PLC type; no extra input.Remote run and stop require dangerous permission and confirmation.
Melsec FX LinksRead PLC type; no extra input.Remote run and stop require dangerous permission and confirmation.
Melsec FX SerialView the PLC type result.PLC activation requires dangerous permission and confirmation.
Modbus C20Enter station, file address, start address, and length to read waveform files; enter device address for spectrum, frequency, and setting reads.Query-only page.
Omron Host Link C-ModeRead PLC type and mode; no extra input.Query-only page.
Open ProtocolRead parameter sets, jobs, tools, and controller time; enter parameter-set ID, job ID, revision, tool state, and time.Selecting parameter/job, setting tool, subscriptions, controller time, and alarm acknowledgement require their displayed write/dangerous permission and confirmation.
Panasonic MewtocolRead PLC model; no extra input.No write operation.
SAM CardRead module number and status.Search/select/read card summary reveals identity data, uses debug:sensitive, and requires confirmation; do not grant it to a general debug role.
SECS-IEnter a SECS-I message or hex payload and inspect the exchange.Message exchange is a write and requires debug:write plus confirmation.
HSMS/SECS-IITest the link; enter a SECS-II message and comma-separated SVIDs.Message exchange requires debug:write plus confirmation; SVID-name lookup is read-only.
Toyo PUCEnter a random WORD address list and read values.No write operation.
Turck RFIDRead tag inventory information; no extra input.No write operation.
Yamaha RCXRead motor, mode, joint, and emergency status; enter I/O group. Enter program/task on the program tab and axis/robot/send-only/raw command on the control tab.Reset, run/stop/load program, jog, and raw command require dangerous permission and confirmation.
Yaskawa MemobusEnter extended-register addresses and hex words; symbolic-register addresses are read-only.Extended-register write requires dangerous permission and confirmation.
Yaskawa YRC1000Read alarms, joints/pose, status, jobs, user frames, and variables; enter coordinate, external-axis flag, frame, variable type/address.I/O, hold/servo/interlock/mode, program, motion, and raw command controls require dangerous permission and confirmation.
Yaskawa YRC High EthernetRead alarms, status, jobs, pose, torque, management data, variables, and position variables; enter alarm type/task, addresses, variable type, and lengths.Hold, reset/cancel error, servo, interlock, program, variable/I/O writes, and raw commands require dangerous permission and confirmation.
Yokogawa LinkEnter random bit/word addresses and values; read PLC status, system information, and clock. Special-module input includes unit, slot, word position/count, and hex words.PLC run/stop, module reset, and random/special-module writes require dangerous permission and confirmation.

When a dedicated page shows "Runtime instance unavailable", its form and previous results remain visible but commands requiring a live connection are disabled. Operation logs record dangerous and sensitive debug endpoints; leave the page and restore the field log level after commissioning.

Foundation Read/Write Debugging

Foundation is a general-purpose read/write debugging interface, which is displayed by common acquisition drivers like ModbusMaster. It is suitable for verifying whether the address, data type, length, and write values match those of the field device.

Foundation read/write debug interface

Configuration ItemDescription
AddressThe register, node, or protocol address to be read or written. The address format is determined by device plugins, such as Modbus register addresses, PLC addresses, or custom protocol addresses.
Data TypeThe type of data used when reading or writing. The page provides String,Boolean,Byte,Int16,UInt16,Int32,UInt32,Int64,UInt64,Float,Double, Decimal.
Array LengthUsed for batch reading of consecutive addresses. Normal single-point read stays at 1.
Write ValueThe value sent when the write is executed. The filling format must match the data type; Array or complex types should be filled in according to plugin requirements.
ReadRead device data according to the address, data type, and length entered in the form.
WriteSend the "write value" to the address filled in the form. Before execution, verify variable permissions and allow on-site devices to write.
Read ResultsDisplays the most recent read result, error messages, or return values.

Operational Advice:

  1. First, select the online device, then proceed to debugging.
  2. First, use read-only addresses for read verification, confirming that the channel, station number, timeout, and address format are correct.
  3. Before writing, confirm that the on-site equipment is in a state where remote control is allowed.
  4. If the read fails, first check the "Device Log" and "Channel Log," then check the channel IP, port, serial port parameters, station number, timeout, and address.

Before writing, it is recommended to confirm item by item:

Check itemsPass the standard
Addresshas been verified to read normally using the same address or adjacent read-only addresses.
Data typeWrite type consistent with PLC or meter point tables, with no disputes over byte order, scale conversion, or decimal places.
Write valueswithin the allowable range on site and will not trigger protection, interlocks, or malfunctions.
PermissionsVariable read and write permissions, RPC write switches, and external system permissions all meet field requirements.
CallbackWhen confirming the write is effective, the same address or feedback point can be read to verify the results.

MQTT Client Debugging

MQTT Client debugging includes the "Publish Message" and "Status & Subscription" tabs. It can appear either in the MQTT acquisition client or in the MQTT Client data forwarding target.

Post Message

MQTT Client Post Message

Configuration ItemDescription
TopicThe Topic to be published to the broker. It is recommended to use on-site agreed test topics to avoid affecting production subscribers.
Message ContentPublished Payload. Can be filled with plain text or JSON strings.
QoSrelease quality levels: 0 - at most one, 1 - at least one, 2 - exactly one.
Retain messagesWhether to set the MQTT Retain flag. After activation, the broker may save the last retention message, so be cautious in your production environment.
PublishCall the MQTT publishing interface for the current device or target. Success depends on the broker's connection status, authentication, Topic permissions, and network.
Message LogDisplays the status of the debugging WebSocket connection, the time of sending and receiving messages, and the message content.

Status and Subscription

MQTT Client Status and Subscription

Configuration ItemsDescription
Connection StatusDisplays whether the client has connected to the Broker, used to determine whether publishing and subscribing are ready for communication.
TopicThe topic you want to subscribe to, you can enter either a regular theme or a wildcard theme.
QoSQoS level used for subscriptions.
SubscribeAdd the current topic to the subscription list.
Subscription Listdisplays subscribed topics, QoS, and unsubscribe actions.
RefreshRegain the current subscription list.
CancelUnsubscribe to a specified topic.

Inspection Order:

  1. Confirm that the IP address, port, connection type, client ID, username, and password in the target configuration match the broker.
  2. When using TLS, check the certificate name, CA, target host, and certificate revocation check settings.
  3. If there is no message on subscription, confirm whether the topic matches, whether the broker allows the account to subscribe, and whether the production side actually publishes.
  4. If publishing fails, first check the debug page message log, then look at the "forwarding target log" or "device log."

MQTT Server Debugging

MQTT Server debugging includes the "Publish Message" and "Status Monitoring" tags. It is suitable for verifying whether MQTT server plugins are listening, whether clients are accessed, and whether theme subscriptions exist.

Publish Message

MQTT Server Publish Message

Configuration ItemDescription
TopicThe server publishes a topic to an already connected client.
Message ContentPayload to be sent to the client.
QoSQuality Rating. Client-side subscription QoS and server-side release QoS jointly affect the final delivery level.
Reserved messageWhether to publish as a reserved message.
PublishSend messages from the current MQTT Server plugin to the client.

State Monitoring

MQTT Server State Monitoring

ZoneDescription
Topic StatisticsDisplays the topic name and subscription count, used to determine whether the client subscribed to the intended topic.
Client Listdisplays ClientId, username, remote address, and connection time.
Kick out the clientDisconnect the connection to the specified client. Before implementation, it should be confirmed that it will not affect production communications.
RefreshReload topic statistics or client lists.

Kafka Debugging

The Kafka debug page is used to publish messages to a specified Topic, suitable for verifying Kafka addresses, authentications, topic permissions, and serialized content.

Kafka releases debugging

configuration itemsdescription
TopicKafka Topic name. By default, variable topic templates can be used in data forwarding targets, and test topics can be manually filled in during debugging.
Message ContentThe message body to be sent. It is recommended to first send a small JSON or plaintext to verify connectivity.
PublishCall Kafka to publish interface. On failure, check service addresses, security protocols, SASL mechanisms, usernames, passwords, and posting timeouts.
Message Logdisplays the status of the WebSocket debugging and debug messages.

Common Kafka target attributes:

Configuration ItemDescription
Service AddressKafka Bootstrap Address. Multiple brokers are filled in according to the Kafka connection string agreement.
Release TimeoutSingle Release Wait Time, in milliseconds. Increase the size appropriately during slow network or busy Kafka.
Security protocolsKafka connection security protocols. Common uncertified intranets Plaintext; Choose between enabling authentication or encryption according to cluster requirements.
SASL MechanismThe authentication mechanism Kafka uses SASL must be consistent with the cluster configuration.
Username/PasswordSASL verified account. Leave SASL blank when not enabled.
Variable, device, alarm topic templateTopic for writing different data types. After the template is expanded, the topic must allow the current account to be written.
Enable offline caching / memory queue limits / concurrent upload countControl reposts, backlog caps, and upload concurrency after failed sends. When the order is strict, the number of concurrent uploads should be kept at 1.

RabbitMQ Debugging

The RabbitMQ debug page is used to publish messages by Routing Key. Target connection parameters are configured in the data forwarding target drawer.

RabbitMQ Releases Debugging

Configuration ItemsDescription
Routing KeyThe routing key used to publish messages. It should match the switch type and queue binding rules.
Message ContentPayload to be sent.
PublishCall the RabbitMQ publishing interface. Check switches, queues, authentication, and networks when failures occur.
Message Logdisplays debug connections and message records.

Common RabbitMQ Target Attributes:

Configuration ItemsDescription
IP Address / PortRabbitMQ Service Address and Port, Default Port is usually 5672.
Username/PasswordRabbitMQ account and password.
Virtual HostRabbitMQ Virtual Host. The account must have write permissions for this virtual host.
Switch NameThe name of the switch used for publishing.
Switch TypeSwitch type, such as direct,topic,fanout, headers, must match the actual switch.
Declaring queue / declaring switchWhether the plugin automatically creates queues or switches. When a unified queue specification exists in the production environment, it is usually closed.
Release TimeoutSingle Release Wait Time, in milliseconds.

MQTT Forwarding Target Configuration Drawer

The plugin attributes of data forwarding targets are maintained in the target configuration drawer. After selecting the MQTT Client Producer, the drawer will display MQTT connections, TLS, authentication, QoS, topic templates, offline caching, and queue parameters.

MQTT Data Forwarding Target Configuration Drawer

Configuration ItemsDescription
Target NameCurrent Forwarding Target Name, which should be unique within the same forwarding group.
Enableto control whether the target is running. Only after enabling will the runtime target be created and the corresponding debugging entry point displayed.
PluginsSelect data forwarding plugins, such as MqttClientProducer,MqttServerProducer,KafkaProducer, RabbitMQProducer.
Log levelControl the detail of target operation logs. During the debugging phase, you can temporarily use Debug or Trace, and restore to Info after stabilization.
Startup timeoutTarget start wait time, measured in seconds. If external service connections are slow, the size can be increased appropriately.
IP address / port / connection typeMQTT Broker address, port, and connection method. WebSocket connections also require the WebSocket path.
Client ID / Survival Time / Session ClearingMQTT client identity, heartbeat keep-alive, and session retention policies.
Enable SSL/TLS certificate configurationTLS connection parameters, including target hostname, client certificate, CA, protocol, and certificate revocation check.
Username/passwordBroker authentication information.
QoS Level / Retain MessageDefault release QoS and Retain policies.
RPC writes Topic / Data Request Topic / RPC scriptsExternal system reverse writes, active request snapshots, and custom RPC processing usage.
Upload topics for devices, variables, alarms, plugin eventsTopic templates for different data types. If the topic is empty, the corresponding data type will not be uploaded.
Device, variable, alarm, plugin event entity scriptreassembles corresponding data before uploading. The new fields output by the script can continue to be used for Topic templates and upload templates.
Upload template configurationOpen template pop-up to separately maintain message content for variables, devices, alarms, and plugin events. Use the default JSON when left blank.
JSON indentation formatting / JSON ignores Nulldefault JSON output format control.
Enable offline caching / maximum number of rows in cached filesLocal caching policy when external services are unavailable.
Upload shard size / memory queue limit / number of concurrent uploadsControl reissue batches, memory backlog, and concurrent uploads.

When coordinating MQTT forwarding targets, it is recommended to first use the minimum template to verify the link. For example, fill in the variable Topic ThingsGateway/Variable/${DeviceName}, and only keep the variable name and value when uploading the template; After confirming the Broker can receive the message, add time, quality code, extension field, or business field. The placeholders in both the topic template and upload template must come from the upload data or entity script output. Writing the wrong name will cause the topic or message body to fail to generate.

Webhook targets the same template entry point as MQTT, but the Topic template represents the final requested URL. When configuring a webhook, the variable, device, alarm, or plugin event Topic should be filled in as the actual interface address; The data type that does not need to be sent keeps the topic empty.

OPC UA and OPC DA Debugging

OPC debugging is divided into "node browsing" and "subscription management." OPC UA has a similar page structure to OPC DA, but node attributes and browsing results are returned by the corresponding server.

FunctionDescription
Node TreeBrowse the server address space. Expandable nodes, select nodes, and view details.
Node DetailsDisplays information such as NodeId, browsing name, display name, current value, status code, and timestamp.
Read NodePerform a read on the selected node.
Write nodesAssign values to writable nodes. Confirm permissions and on-site status before writing.
Exporting ExcelExports selected nodes as Excel for offline variable organization.
Import the databaseImport the selected node as a variable configuration. After importing, you still need to check variable names, addresses, data types, and collection cycles.
Create a SubscriptionEnter one or more NodeIds to create a subscription group.
Message LogDisplays subscription push messages to help confirm whether change notifications have arrived.

IEC61850 Debugging

IEC61850 The Master and Server debug pages cover model browsing, read/write, subscription status, client status, and SOE queries. Before on-site use, confirm the device model, logical devices, logic nodes, functional constraints, and certificate/TLS configuration.

Debug PageKey Features
IEC61850 MasterConnection Status, Model browsing, node read/write, RCB subscription status, GOOSE subscription status, dataset operations, control operations, SOE events.
IEC61850 ServerServer status, data model, client connections, attribute read/write, variable mapping statistics, SOE events.

Common precautions:

  1. Object references and functional constraints must align with the server-side model.
  2. Before controlling operations, the control model, permissions, and on-site interlock conditions should be confirmed.
  3. SOE tabs require the device or server to generate event records; If there are no events, the list will remain empty.
  4. TLS scenarios require maintaining certificates first in "Certificate Management," then selecting them in the plugin properties.
  5. Deleting a dataset is a dangerous operation and requires a second confirmation. Continue only after verifying the reference and confirming that no production report depends on it.

CAN and ZeroMQ Debugging

TypeConfiguration ItemsDescription
CANCAN IDSupports hexadecimal or decimal identifiers.
CANdatahexadecimal byte strings, such as 01 02 03 04.
CANExtended FrameControl whether to use the extended frame format.
ZeroMQTopicRelease Topic.
ZeroMQPayloadPublishing.

Test Data Generation

"Test Data" is located in the "Show More" menu at the top right of the collection configuration page, used to generate test channels, devices, and variables.

Test Data Generation Popup

Configuration ItemsDescription
Data TypeYou can choose between standard test data or DTU test data.
Number of variablesNumber of variables generated under regular test data.
Number of devicesNumber of devices to be generated.
Slave AddressSlave address or connection information used to generate the test device.
Enable data forwardingWhether data forwarding is generated simultaneously under normal test data.
GenerateGenerate test configurations according to the parameters entered in the form. Before implementation, it should be confirmed that production configurations will not be overlaid or confused.

Logs and Troubleshooting

PhenomenaHandling Suggestions
Debug tab not displayedConfirm that the role has Debug View under the current menu, then confirm that "Device Display" is active and a device is selected, or select a target on the Data Forwarding page.
No protocol-specific tabThe selected plugin may provide only general modules. Foundation plugins use "Read/Write," and active-reporting plugins use "Receive Monitor"; this does not mean that the plugin failed to load.
Runtime instance unavailableFollow the notice and check whether the object is disabled, paused, on standby, failed during initialization, or stopped. Refresh the page after restoring runtime operation.
A button is not displayedVerify that the role has the corresponding read-only, general write, dangerous control, or sensitive-data permission, and check API authorization as well.
Foundation Read FailureCheck channel connections, device status, address format, data type, array length, station number, timeout, and device logs.
Write failureCheck whether variables/devices allow writes, write value format, field device permissions, and RPC write switches. When enabling write check, you must also confirm that the device's readback value immediately matches the write value.
MQTT Release FailureCheck Broker address, port, TLS, account and password, Topic permissions, QoS, and target logs.
MQTT subscription without messageCheck the Topic wildcard rule, whether the production side publishes, whether the broker allows subscription, and whether the client is online.
Kafka Release FailureChecks Service Address, Authentication, Security Protocol, Topic Permissions, and Release Timeout.
RabbitMQ Release FailureCheck switches, routing keys, virtual hosts, account passwords, queue binding, and network connectivity.
Data forwarding target debugging is set to emptytarget needs to be enabled and enter runtime; Disabling targets will not display the corresponding debugging entry.