设备调试
设备调试用于在 GatewayRuntime Web 中直接验证采集设备或数据转发目标的通信能力。当前版本使用统一调试工作区:页面会根据所选插件自动组合概览、运行状态、通用读写、接收监视、客户端、缓存、变量映射和协议专用面板。使用时需要先选中真实设备或转发目标,再进入详情页的“调试”标签;“测试数据”用于批量生成演示通道、设备和变量。
CustomPacketMaster 可以按 Hex 或文本发送完整自定义报文,并选择仅发送或发送并等待。配置和操作方法参见完全自定义报文采集。
调试前先看术语
| 术语 | 现场理解 |
|---|---|
| Broker | MQTT、Kafka、RabbitMQ 等消息系统的服务端,现场可理解为“消息中转服务器”。 |
| Topic | 消息发送或订阅的主题/路径,类似外部系统约定的数据通道名称。 |
| Payload | 消息正文,也就是实际发送的数据内容。 |
| RPC 写入 | 外部系统反写点位。只有确认现场设备允许远程控制时,才应对控制类点位开启。 |
| 目标变量属性 | 某个转发目标对单个变量的外部映射,例如外部字段名、从站地址或写入权限。 |
| DTU / DTU ID | 透传终端及其编号,用于区分哪台远端设备正在接入。 |
| QoS / Retain | MQTT 的投递等级和保留消息开关。普通测试先按现场 Broker 约定填写,不清楚时不要随意开启 Retain。 |
MQTT、Kafka、RabbitMQ 等调试页需要现场存在对应的服务端或 Broker。页面会提供发布、订阅、客户端列表等表单,但执行结果取决于目标服务连接状态。
现场调试原则
调试页直接面向真实设备或真实外部系统。现场排查时先证明“能读、读得对、日志正常”,再考虑写入或发布测试消息。
| 原则 | 说明 |
|---|---|
| 先读后写 | 先读取只读点或安全点,确认通道、站号、地址和数据类型正确后,再测试写入。 |
| 先单点后批量 | 先用 1 个地址验证,再扩展到连续地址、点表导入或批量转发。 |
| 先测试环境后生产 | 有条件时先在 PLC 模拟器、测试 Broker 或测试 Topic 中验证。 |
| 写入需要现场确认 | 涉及启停、复位、设定值、阀门、电机和联锁的点位,写入前必须确认设备处于允许远程控制状态。 |
| 调试后恢复日志级别 | 临时打开 Debug 或 Trace 后,联调结束应恢复为 Info,避免长期产生大量日志。 |
调试权限
采集配置和数据转发菜单都提供五个独立的调试权限。管理员应同时在“菜单按钮授权”和“API 授权”中按职责授予,不要把高风险操作并入普通调试角色。
| 按钮权限 | 权限编码 | 允许的操作 | 建议角色 |
|---|---|---|---|
| 调试查看 | debug:view | 进入调试标签、查看对象概览、运行状态和脱敏摘要。 | 只读监控、调试人员 |
| 只读调试 | debug:query | 主动读取、浏览节点、查询状态和执行只读诊断。 | 只读调试人员 |
| 普通调试写入 | debug:write | 普通点位写入、消息发布、订阅维护和低风险协议命令。 | 运行维护人员 |
| 危险调试控制 | debug:dangerous | PLC 运行/停止、机器人运动、复位、批量 IO、删除数据集、任意命令和踢出客户端等高风险动作。 | 经审批的控制工程师 |
| 敏感调试数据 | debug:sensitive | 查看证书信任信息、身份卡数据等需要单独授权的内容。 | 安全管理员或指定业务人员 |
默认用户角色只包含“调试查看”和“只读调试”。普通写入、危险控制和敏感数据必须通过独立角色显式授予。只需要排查通信时,不要授予后三项权限。
“危险调试控制”不等同于普通变量写入。执行复位、启停、运动控制、程序切换、原始命令或数据集删除前,必须确认设备处于维护状态、现场联锁有效,并安排能够立即停止设备的人员在场。
功能入口
采集设备调试
进入“开发配置 → 采集配置”,先切换到“设备显示”,再在左侧设备状态列表中选择一个设备。右侧出现设备详情后,点击“调试”标签。

| 步骤 | 说明 |
|---|---|
| 切换设备显示 | “变量显示”用于看点位列表,“设备显示”用于打开设备详情。设备调试入口只在设备详情中显示。 |
| 选择设备 | 点击左侧设备行,不是点击变量行。右侧标题会显示“设备名称 - 详细信息”。 |
| 打开调试 | 在设备详情的“设备信息、通道日志、设备日志、调试”标签中选择“调试”。 |
| 执行测试 | 根据插件类型显示对应调试界面。通用驱动显示 Foundation 读写,MQTT/Kafka/RabbitMQ 等显示消息调试。 |
数据转发目标调试
进入“开发配置 → 数据转发”,选择一个转发组,再选择一个转发目标。右侧详情区点击“调试”标签,可验证 MQTT、Kafka、RabbitMQ、ModbusSlave、OpcUaServer 等转发插件的发送、发布或服务端状态。
| 对象 | 调试入口 | 适用场景 |
|---|---|---|
| 采集设备 | 采集配置 → 设备显示 → 设备详情 → 调试 | 验证 PLC、仪表、OPC、MQTT 采集设备的读写、订阅或协议状态。 |
| 数据转发目标 | 数据转发 → 选择目标 → 详情区 → 调试 | 验证转发目标的消息发布、订阅管理、客户端连接或服务端统计。 |
统一调试工作区
进入“调试”标签后,工作区顶部显示对象名称、插件、对象 ID、在线状态和运行实例状态。下方标签由当前插件能力自动生成,不同插件看到的标签数量可能不同。
| 工作区模块 | 主要内容 | 离线时是否可查看 |
|---|---|---|
| 概览 | 对象名称、插件、所属通道或转发组、变量数量和最近错误。 | 可以 |
| 运行状态 | 成功/失败次数、最近活动、速率和初始化状态。 | 可以 |
| 读写 | Foundation 单点与批量读取、写入和结果记录。 | 只可查看,命令禁用 |
| 接收监视 | 主动上报、解析、映射和丢弃统计。 | 只可查看,实时命令禁用 |
| 客户端 | TCP 服务端当前连接客户端。仅服务端通道显示。 | 只可查看,断开命令禁用 |
| 转发链路 | 转发组输入、批次和处理状态。 | 可以 |
| 缓存队列 | 内存队列和离线缓存积压。 | 可以 |
| 存储诊断 | 数据库连接、目标表和最近写入状态。 | 可以 |
| 协议服务 | 服务端监听、会话和请求状态。 | 只可查看,控制命令禁用 |
| 变量映射 | 网关变量与外部地址或节点的映射状态。 | 可以 |
| 证书库 | 协议证书和信任信息。敏感字段仍受“敏感调试数据”权限保护。 | 可以 |
| 协议 | 当前插件的专用调试页面。 | 只可查看,依赖运行实例的操作禁用 |
当对象已停用、暂停、处于备用、未创建运行实例、初始化失败或已经停止时,页面会显示“运行实例不可用”提示。此时仍可检查保存配置、概览和历史快照,但不能执行需要真实连接的读写或控制命令。

处理顺序如下:
- 查看提示中的原因,例如“对象已暂停”或“初始化失败”。
- 回到设备或转发目标详情,确认对象已启用且不是备用实例。
- 检查通道、设备或目标日志,修复连接和初始化错误。
- 恢复运行后刷新调试工作区,再执行只读查询。
支持的调试类型
选择设备或转发目标后,调试标签会按插件类型显示对应界面。当前版本提供 12 类可组合的通用模块和 56 类协议专用面板;没有专用页面的 Foundation 插件仍会显示通用读写、客户端和消息监视。
| 类别 | 协议专用面板 | 主要用途 |
|---|---|---|
| 仪表与控制模块 | DAM3601、DL/T 698、DTSU6606、EC 风机 | 读取温度或电参量快照、执行 APDU 诊断、查看速度并进行受控设置。 |
| PLC 与工业控制 | 永宏编程口、富士 SPH、GE SRTP、汇川 Computer Link、Keyence Nano、三菱 A3C/FX Links/FX Serial、Modbus C20、Omron Host Link C-Mode、Panasonic Mewtocol、Toyo PUC、Yaskawa Memobus、Yokogawa Link | 读取 PLC 状态、时钟、型号和特殊模块;按权限执行写入、运行、停止或复位。 |
| 机器人与 CNC | ABB 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 Ethernet | 查看机器人状态、坐标、程序和 IO;危险权限下执行程序、伺服、运动、宏变量或 IO 控制。 |
| 行业协议 | CAN、IEC 104 主站、IEC 61850 客户端/服务端、Open Protocol、SECS-I、HSMS/SECS-II | 诊断帧、总召唤、模型、数据集、控制块、拧紧结果和 SECS 事务。 |
| 扫码、识别与 RFID | Keyence DL-EN1、Keyence SR-2000、SAM 身份证模块、Turck RFID、扫码/事件监视 | 执行显式传感器或扫码器命令、读取标签或卡片,并限制敏感信息展示。 |
| 消息与平台 | MQTT 客户端/服务端、Kafka、RabbitMQ、ThingsBoard、HTTP Webhook、ZeroMQ、OPC UA 客户端/服务端、OPC DA、Gateway MQTT 客户端/服务端、SyncBridge、完全自定义报文、事件监视 | 发布/订阅、服务端会话、节点浏览、证书、缓存、同步和完整报文诊断。 |
Gateway MQTT 专用采集和 SyncBridge 使用独立调试页,不会先显示普通 MQTT 调试表单。完整配置与页面说明参见 Gateway MQTT 专用采集 和 SyncBridge 网关同步。
OPC UA Server 证书库
OPC UA Server 的“证书库”标签用于维护客户端应用证书和用户证书的信任来源。进入“开发配置 → 数据转发”,选择 OpcUaServer 转发目标并打开“调试”标签;只有配置了 debug:sensitive 的用户可以查看证书主题、颁发者、指纹和有效期。

配置步骤
- 编辑 OPC UA Server 目标,确认服务地址(默认
opc.tcp://127.0.0.1:48410)、服务端证书名称和安全策略。客户端使用用户证书登录时,同时打开“允许证书登录”。 - 选择“客户端证书信任模式”。
ManualTrustList由管理员维护四个 issuer/trusted 库;SpecifiedCA选择“受信客户端 CA”后,只接受该 CA 签发的客户端应用证书和用户证书,CA 留空时自动信任有效客户端证书。 - 保存目标后进入“调试 → 证书库”,点击顶部刷新按钮查看五个固定证书库。不要通过文件路径推测库位置,页面返回的库名和证书指纹才是可操作标识。
- 在
ManualTrustList模式下,选择对应页签,点击上传图标,选择.cer、.crt、.der或.pem文件。单个文件必须大于 0 且不超过 1 MiB。 - 删除证书时点击行末删除图标,核对证书主题后在二次确认框中确认。删除会按证书指纹定位,不会删除同库中的其他证书。
| 证书库 | 内容 | 手工信任列表模式 | 指定 CA 模式 | 操作权限 |
|---|---|---|---|---|
| ApplicationIssuer | 客户端应用证书的签发者证书。 | 可上传、可删除。 | 只读,信任链由指定 CA 管理。 | 上传 debug:write;删除 debug:dangerous。 |
| ApplicationTrusted | 已信任的客户端应用证书。 | 可上传、可删除。 | 只读;指定 CA 模式不按单张证书维护。 | 上传 debug:write;删除 debug:dangerous。 |
| UserIssuer | 用户证书的签发者证书。 | 可上传、可删除。 | 只读,信任链由指定 CA 管理。 | 上传 debug:write;删除 debug:dangerous。 |
| UserTrusted | 已信任的用户证书。 | 可上传、可删除。 | 只读;指定 CA 模式不按单张证书维护。 | 上传 debug:write;删除 debug:dangerous。 |
| Rejected | SDK 或服务端拒绝的证书记录。 | 不允许上传,只能删除。 | 不允许上传,只能删除。 | 删除 debug:dangerous。 |
指定 CA 模式下,四个 issuer/trusted 库的上传入口会显示为只读提示;Rejected 始终允许在危险权限下删除。证书库查询和刷新属于敏感数据操作,不应把 debug:sensitive 与普通写入角色合并。服务端证书由 CA 签发时,在目标配置中填写“服务端签发 CA”,使客户端能够建立完整证书链。
新增工业协议专用调试页
以下 37 个页面是当前版本新增的根级协议专用页。统一入口为“开发配置 → 采集配置 → 设备显示 → 设备详情 → 调试 → 协议”。先执行表中的只读操作确认链路,再执行写入或控制;页面会根据权限隐藏按钮,危险按钮在发送前还会弹出二次确认。输入地址、站号、程序号和数组格式必须以设备手册或现场点表为准。

| 页面 | 只读操作与主要输入 | 写入、控制与确认 |
|---|---|---|
| ABB Web API | 概览、IO、关节目标、事件日志和用户符号;输入网络、机械单元、IO 单元/信号、日志条数、用户符号。 | 原始请求填写路径、Content-Type 和正文;GET 为查询,POST 使用 debug:dangerous 且必须二次确认。 |
| DAM3601 | “读取温度快照”一次读取全部温度通道,无额外输入。 | 无写入操作。 |
| DL/T 698 | 按 OAD 列表读取;输入 OAD(如 20-00-02-00)。 | 输入 OAD 和 APDU 十六进制报文执行明文交换;属于任意 APDU,使用 debug:dangerous 并二次确认。 |
| DTSU6606 | “读取电参量快照”读取电压、电流、功率等结果,无额外输入。 | 无写入操作。 |
| EC Fan | 速度边界页读取应急、最小和最大速度。控制页输入运行、应急、目标速度(0~4095)和站号(1~30)。 | 应用速度控制、设置站号均为危险控制,使用 debug:dangerous 并二次确认。 |
| Efort Robot | 刷新机器人状态快照,无额外输入。 | 无写入操作。 |
| Estun Robot | 刷新状态;输入工程名和全局速度。 | 启动/停止程序、复位错误、加载/卸载工程、设置速度和复位命令状态均需 debug:dangerous 二次确认。 |
| FANUC CNC 0i | 读取机床状态、宏变量、刀具偏置/组、PMC/原始内存、程序目录;输入编号、长度、地址、功能码、程序路径、块大小和程序文本。 | 写宏变量、刀具偏置/组、PMC/原始内存、写/选/启动/删除程序均需危险权限和二次确认。 |
| FANUC Robot Interface | 读取快照、位/字 IO;输入区域、地址、长度和 JSON 数组。姿态页输入 Cartesian/Joint、地址、用户坐标系/工具号和姿态数组。 | 写位/字 IO 和姿态属于机器人控制,需 debug:dangerous 二次确认;只读 UI/SI 区域不可写。 |
| Fatek Program | 读取 PLC 状态,无额外输入。 | PLC 运行、停止需危险权限和二次确认。 |
| Fuji SPH | 选择 CPU 控制模式并查看结果。 | 下发 CPU 控制模式属于危险控制,需 debug:dangerous 二次确认。 |
| GE SRTP | 读取 PLC 时钟和当前程序名,无额外输入。 | 无写入操作。 |
| Hyundai Tracking | 刷新跟踪帧;输入 X/Y/Z 与 Rx/Ry/Rz 增量。 | 写入跟踪增量会影响机器人姿态,需危险权限和二次确认。 |
| IEC 104 Master | 测试链路、总召;输入限定词和公共地址。 | 对时使用时间戳和公共地址,属于普通写入;遥控输入类型、地址、单/双态和时间戳,选择/执行均需危险权限和二次确认。 |
| Inovance Computer Link | 读取 PLC 类型,无额外输入。 | PLC 运行、停止需危险权限和二次确认。 |
| Keyence DL-EN1 | 输入传感器命令数组或文本并查看响应。 | 任意传感器命令使用 debug:dangerous 并二次确认。 |
| Keyence KV Upper Link | 读取 PLC 类型、模式、注释和扩展单元;输入设备地址、单元号、起始地址、字数和十六进制字。 | 清除 CPU 错误、设置控制器时间、写扩展单元需危险权限和二次确认。 |
| Keyence SR-2000 | 读取条码、版本、命令状态、错误状态和记录;IO 输入端子号(0~255)及值。 | 设置输出、指示灯开关为写入并二次确认;复位、锁定/解锁和任意命令属于危险控制,均需二次确认。 |
| KUKA Controller TCP | 按行输入变量名和变量值,读取或写入;程序页输入程序名。 | 批量变量写入、启动/复位/停止程序需危险权限和二次确认。 |
| KUKA Variable Proxy | 输入变量名和值读取单变量。 | 写变量需危险权限和二次确认。 |
| Melsec A3C | 读取 PLC 类型,无额外输入。 | 远程运行、停止需危险权限和二次确认。 |
| Melsec FX Links | 读取 PLC 类型,无额外输入。 | 远程运行、停止需危险权限和二次确认。 |
| Melsec FX Serial | 查看当前 PLC 类型结果。 | 激活 PLC 为危险控制,需危险权限和二次确认。 |
| Modbus C20 | 文件区输入站号、文件地址、起始地址和长度读取波形;频谱页输入设备地址读取频谱、频率和设置。 | 页面只提供查询操作。 |
| Omron Host Link C-Mode | 读取 PLC 类型和模式,无额外输入。 | 页面只提供查询操作。 |
| Open Protocol | 读取参数集、Job、工具、控制器时间;输入参数集 ID、Job ID、版本、工具启用和时间。 | 选择参数集/Job、设置工具、订阅、控制器时间和报警确认分别按页面权限执行;每个改变设备状态的按钮均二次确认。 |
| Panasonic Mewtocol | 读取 PLC 型号,无额外输入。 | 无写入操作。 |
| SAM Card | 读取模块号和状态。 | 寻卡、选卡、读卡摘要显示身份信息,使用 debug:sensitive 并二次确认;不应在普通调试角色中开放。 |
| SECS-I | 输入 SECS-I 消息文本或十六进制内容查看交换结果。 | 消息交换属于普通写入,需 debug:write 并二次确认。 |
| HSMS/SECS-II | 测试链路;输入 SECS-II 消息和逗号分隔的 SVID。 | 消息交换需 debug:write 并二次确认;SVID 名称查询为只读。 |
| Toyo PUC | 输入随机字地址列表读取 WORD。 | 无写入操作。 |
| Turck RFID | 读取标签库存信息,无额外输入。 | 无写入操作。 |
| Yamaha RCX | 读取电机、模式、关节和急停状态;IO 输入组号。程序页输入程序名和任务号;控制页输入轴、机器人号、仅发送和原始命令。 | 复位、运行/停止/加载程序、点动和原始命令均需危险权限和二次确认。 |
| Yaskawa Memobus | 输入扩展寄存器地址和十六进制字读取;符号寄存器地址只读。 | 写扩展寄存器需危险权限和二次确认。 |
| Yaskawa YRC1000 | 读取报警、关节/姿态、状态、作业、用户坐标和变量;输入坐标、外部轴、用户框架、变量类型/地址。 | IO、保持/伺服/联锁/模式、程序、运动和原始命令均为危险控制,需二次确认。 |
| Yaskawa YRC High Ethernet | 读取报警、状态、作业、姿态、扭矩、管理信息、变量和位置变量;输入报警类型、任务、地址、变量类型和长度。 | 保持、复位/取消错误、伺服、联锁、程序、变量/IO 写入和原始命令均需危险权限和二次确认。 |
| Yokogawa Link | 输入随机位/字地址和对应值读取;读取 PLC 状态、系统信息和时钟。特殊模块输入单元、槽、字位置、字数和十六进制字。 | PLC 运行、停止、模块复位以及随机/特殊模块写入需危险权限和二次确认。 |
专用页显示“运行实例不可用”时仍可查看表单和历史结果,但所有需要真实连接的查询、写入和控制按钮都会禁用。操作日志会记录危险和敏感调试端点;联调结束后应退出页面并恢复现场日志级别。
Foundation 读写调试
Foundation 是通用读写调试界面,ModbusMaster 等常见采集驱动会显示此界面。它适合验证地址、数据类型、长度和写入值是否与现场设备一致。

| 配置项 | 说明 |
|---|---|
| 地址 | 要读取或写入的寄存器、节点或协议地址。地址格式由设备插件决定,例如 Modbus 寄存器地址、PLC 地址或自定义协议地址。 |
| 数据类型 | 读取或写入时使用的数据类型。页面提供 String、Boolean、Byte、Int16、UInt16、Int32、UInt32、Int64、UInt64、Float、Double、Decimal。 |
| 数组长度 | 批量读取连续地址时使用。普通单点读取保持为 1。 |
| 写入值 | 执行写入时下发的值。填写格式必须与数据类型匹配;数组或复杂类型按插件要求填写。 |
| 读取 | 按表单中填写的地址、数据类型和长度读取设备数据。 |
| 写入 | 将“写入值”下发到表单中填写的地址。执行前应确认变量权限和现场设备允许写入。 |
| 读取结果 | 显示最近一次读取的结果、错误信息或返回值。 |
操作建议:
- 先选择在线设备,再进入调试。
- 先用只读地址做读取验证,确认通道、站号、超时和地址格式正确。
- 写入前确认现场设备处于允许远程控制的状态。
- 如果读取失败,先看“设备日志”和“通道日志”,再检查通道 IP、端口、串口参数、站号、超时和地址。
写入前建议逐项确认:
| 检查项 | 通过标准 |
|---|---|
| 地址 | 已经用同一地址或相邻只读地址验证过读取正常。 |
| 数据类型 | 写入类型与 PLC 或仪表点表一致,没有字节序、比例换算或小数位争议。 |
| 写入值 | 值在现场允许范围内,不会触发保护、联锁或误动作。 |
| 权限 | 变量读写权限、RPC 写入开关和外部系统权限都符合现场要求。 |
| 回读 | 需要确认写入生效时,可读取同一地址或反馈点验证结果。 |
MQTT Client 调试
MQTT Client 调试包含“发布消息”和“状态与订阅”两个标签。它可以出现在 MQTT 采集客户端,也可以出现在 MQTT Client 数据转发目标中。
发布消息

| 配置项 | 说明 |
|---|---|
| 主题 | 要发布到 Broker 的 Topic。建议使用现场约定的测试 Topic,避免影响生产订阅者。 |
| 消息内容 | 发布的 Payload。可填写普通文本或 JSON 字符串。 |
| QoS | 发布质量等级:0 - 最多一次、1 - 至少一次、2 - 恰好一次。 |
| 保留消息 | 是否设置 MQTT Retain 标志。开启后 Broker 可能保存最后一条保留消息,生产环境需谨慎。 |
| 发布 | 调用当前设备或目标的 MQTT 发布接口。成功与否取决于 Broker 连接状态、认证、Topic 权限和网络。 |
| 消息日志 | 显示调试 WebSocket 连接状态、收发消息时间和消息内容。 |
状态与订阅

| 配置项 | 说明 |
|---|---|
| 连接状态 | 显示客户端是否已连接 Broker,用于判断发布和订阅是否具备通信条件。 |
| 主题 | 要订阅的 Topic,可填写普通主题或通配主题。 |
| QoS | 订阅使用的 QoS 等级。 |
| 订阅 | 将当前 Topic 加入订阅列表。 |
| 订阅列表 | 显示已订阅 Topic、QoS 和取消订阅操作。 |
| 刷新 | 重新获取当前订阅列表。 |
| 取消 | 取消指定 Topic 的订阅。 |
排查顺序:
- 确认目标配置中的 IP 地址、端口、连接类型、客户端 ID、用户名和密码与 Broker 一致。
- 使用 TLS 时,检查证书名称、CA、目标主机和证书吊销检查设置。
- 订阅无消息时,确认 Topic 是否匹配,Broker 是否允许该账号订阅,生产端是否实际发布。
- 发布失败时,先看调试页消息日志,再看“转发目标日志”或“设备日志”。
MQTT Server 调试
MQTT Server 调试包含“发布消息”和“状态监控”两个标签。它适合验证 MQTT 服务端插件是否正在监听、客户端是否接入、主题订阅是否存在。
发布消息

| 配置项 | 说明 |
|---|---|
| 主题 | 服务端向已连接客户端发布的 Topic。 |
| 消息内容 | 要发送给客户端的 Payload。 |
| QoS | 发布质量等级。客户端订阅 QoS 与服务端发布 QoS 会共同影响最终投递等级。 |
| 保留消息 | 是否发布为保留消息。 |
| 发布 | 从当前 MQTT Server 插件向客户端发布消息。 |
状态监控

| 区域 | 说明 |
|---|---|
| 主题统计 | 显示 Topic 名称和订阅数量,用于判断客户端是否订阅到预期主题。 |
| 客户端列表 | 显示 ClientId、用户名、远端地址、连接时间。 |
| 踢出客户端 | 断开指定客户端连接。执行前应确认不会影响生产通信。 |
| 刷新 | 重新加载主题统计或客户端列表。 |
Kafka 调试
Kafka 调试页用于向指定 Topic 发布消息,适合验证 Kafka 地址、认证、Topic 权限和序列化内容。

| 配置项 | 说明 |
|---|---|
| Topic | Kafka Topic 名称。数据转发目标中默认可使用变量 Topic 模板,调试时可手动填写测试 Topic。 |
| 消息内容 | 要发送的消息体。建议先发送小型 JSON 或纯文本验证连通性。 |
| 发布 | 调用 Kafka 发布接口。失败时检查服务地址、安全协议、SASL 机制、用户名、密码和发布超时时间。 |
| 消息日志 | 显示调试 WebSocket 状态和调试消息。 |
Kafka 目标常用属性:
| 配置项 | 说明 |
|---|---|
| 服务地址 | Kafka Bootstrap 地址。多个 Broker 按 Kafka 连接串约定填写。 |
| 发布超时时间 | 单次发布等待时间,单位毫秒。网络慢或 Kafka 繁忙时可适当增大。 |
| 安全协议 | Kafka 连接安全协议。无认证内网常用 Plaintext;启用认证或加密时按集群要求选择。 |
| SASL 机制 | Kafka 使用 SASL 认证时的认证机制,必须与集群配置一致。 |
| 用户名 / 密码 | SASL 认证账号。未启用 SASL 时留空。 |
| 变量、设备、报警 Topic 模板 | 不同数据类型写入的 Topic。模板展开后的 Topic 必须允许当前账号写入。 |
| 启用离线缓存 / 内存队列上限 / 并发上传数量 | 控制发送失败后的补发、积压上限和上传并发。要求顺序严格时并发上传数量保持为 1。 |
RabbitMQ 调试
RabbitMQ 调试页用于按 Routing Key 发布消息。目标连接参数在数据转发目标抽屉中配置。

| 配置项 | 说明 |
|---|---|
| Routing Key | 发布消息使用的路由键。应与交换机类型和队列绑定规则匹配。 |
| 消息内容 | 要发送的 Payload。 |
| 发布 | 调用 RabbitMQ 发布接口。失败时检查交换机、队列、认证和网络。 |
| 消息日志 | 显示调试连接和消息记录。 |
RabbitMQ 目标常用属性:
| 配置项 | 说明 |
|---|---|
| IP 地址 / 端口 | RabbitMQ 服务地址和端口,默认端口通常为 5672。 |
| 用户名 / 密码 | RabbitMQ 账号密码。 |
| 虚拟主机 | RabbitMQ Virtual Host,账号必须有该虚拟主机的写入权限。 |
| 交换机名称 | 发布使用的交换机名称。 |
| 交换机类型 | 交换机类型,例如 direct、topic、fanout、headers,必须与实际交换机一致。 |
| 声明队列 / 声明交换机 | 是否由插件自动创建队列或交换机。生产环境已有统一队列规范时通常关闭。 |
| 发布超时时间 | 单次发布等待时间,单位毫秒。 |
MQTT 转发目标配置抽屉
数据转发目标的插件属性在目标配置抽屉中维护。选择 MQTT Client Producer 后,抽屉会显示 MQTT 连接、TLS、认证、QoS、Topic 模板、离线缓存和队列参数。

| 配置项 | 说明 |
|---|---|
| 目标名称 | 当前转发目标名称,同一转发组内应唯一。 |
| 启用 | 控制目标是否运行。启用后才会创建运行态目标并显示对应调试入口。 |
| 插件 | 选择数据转发插件,例如 MqttClientProducer、MqttServerProducer、KafkaProducer、RabbitMQProducer。 |
| 日志级别 | 控制目标运行日志详细程度。调试阶段可临时使用 Debug 或 Trace,稳定后恢复为 Info。 |
| 启动超时 | 目标启动等待时间,单位秒。外部服务连接慢时可适当增大。 |
| IP 地址 / 端口 / 连接类型 | MQTT Broker 地址、端口和连接方式。WebSocket 连接还需要填写 WebSocket 路径。 |
| 客户端 ID / 保活时间 / 清除会话 | MQTT 客户端身份、心跳保活和会话保留策略。 |
| 启用 SSL / TLS 证书配置 | TLS 连接相关参数,包括目标主机名、客户端证书、CA、协议和证书吊销检查。 |
| 用户名 / 密码 | Broker 认证信息。 |
| QoS 等级 / 保留消息 | 默认发布 QoS 和 Retain 策略。 |
| RPC 写入 Topic / 数据请求 Topic / RPC 脚本 | 外部系统反向写入、主动请求快照和自定义 RPC 处理使用。 |
| 设备、变量、报警、插件事件 Topic 模板 | 不同数据类型的上传 Topic。Topic 为空时,对应数据类型不会上传。 |
| 设备、变量、报警、插件事件实体脚本 | 上传前重组对应数据。脚本输出的新字段可以继续用于 Topic 模板和上传模板。 |
| 上传模板配置 | 打开模板弹窗,分别维护变量、设备、报警和插件事件的消息内容。留空时使用默认 JSON。 |
| JSON 缩进格式化 / JSON 忽略 Null | 默认 JSON 输出格式控制。 |
| 启用离线缓存 / 缓存文件最大行数 | 外部服务不可用时的本地缓存策略。 |
| 上传分片大小 / 内存队列上限 / 并发上传数量 | 控制补发批量、内存积压和并发上传。 |
MQTT 转发目标联调时,建议先使用最小模板验证链路,例如变量 Topic 填写 ThingsGateway/Variable/${DeviceName},上传模板先只保留变量名和值;确认 Broker 能收到消息后,再增加时间、质量码、扩展字段或业务字段。Topic 模板和上传模板中的占位符都要来自上传数据或实体脚本输出,名称写错会导致 Topic 或消息体生成失败。
Webhook 目标与 MQTT 的模板入口相同,但 Topic 模板表示最终请求 URL。配置 Webhook 时,应把变量、设备、报警或插件事件 Topic 填写为实际接口地址;不需要发送的数据类型保持 Topic 为空。
OPC UA 和 OPC DA 调试
OPC 调试分为“节点浏览”和“订阅管理”。OPC UA 与 OPC DA 的页面结构相近,但节点属性和浏览结果由对应服务端返回。
| 功能 | 说明 |
|---|---|
| 节点树 | 浏览服务端地址空间。可展开节点、选择节点并查看详情。 |
| 节点详情 | 显示 NodeId、浏览名称、显示名称、当前值、状态码和时间戳等信息。 |
| 读取节点 | 对选中节点执行读取。 |
| 写入节点 | 对可写节点下发值。写入前确认权限和现场状态。 |
| 导出 Excel | 将选中节点导出为 Excel,用于离线整理变量。 |
| 导入数据库 | 将选中节点导入为变量配置。导入后仍需检查变量名称、地址、数据类型和采集周期。 |
| 创建订阅 | 输入一个或多个 NodeId,创建订阅组。 |
| 消息日志 | 显示订阅推送消息,便于确认变化通知是否到达。 |
IEC61850 调试
IEC61850 Master 和 Server 调试页覆盖模型浏览、读写、订阅状态、客户端状态和 SOE 查询。现场使用前应先确认设备模型、逻辑设备、逻辑节点、功能约束和证书/TLS 配置。
| 调试页 | 关键功能 |
|---|---|
| IEC61850 Master | 连接状态、模型浏览、节点读写、RCB 订阅状态、GOOSE 订阅状态、数据集操作、控制操作、SOE 事件。 |
| IEC61850 Server | 服务端状态、数据模型、客户端连接、属性读写、变量映射统计、SOE 事件。 |
常见注意事项:
- 对象引用和功能约束必须与服务端模型一致。
- 控制操作前应确认控制模型、权限和现场联锁条件。
- SOE 页签需要设备或服务端产生事件记录;没有事件时列表会保持为空。
- TLS 场景需先在“证书管理”中维护证书,再在插件属性中选择。
- 删除数据集属于危险操作,页面会要求二次确认;只有确认引用正确且没有生产报告依赖时才可继续。
CAN 和 ZeroMQ 调试
| 类型 | 配置项 | 说明 |
|---|---|---|
| CAN | CAN ID | 支持十六进制或十进制标识。 |
| CAN | 数据 | 十六进制字节字符串,例如 01 02 03 04。 |
| CAN | 扩展帧 | 控制是否使用扩展帧格式。 |
| ZeroMQ | Topic | 发布主题。 |
| ZeroMQ | Payload | 发布内容。 |
测试数据生成
“测试数据”位于采集配置页右上角“显示更多”菜单中,用于生成测试通道、设备和变量。

| 配置项 | 说明 |
|---|---|
| 数据类型 | 可选择普通测试数据或 DTU 测试数据。 |
| 变量数量 | 普通测试数据下生成的变量数量。 |
| 设备数量 | 要生成的设备数量。 |
| 从站地址 | 生成测试设备时使用的从站地址或连接信息。 |
| 启用数据转发 | 普通测试数据下是否同时生成数据转发相关配置。 |
| 生成 | 按表单中填写的参数生成测试配置。执行前应确认不会覆盖或混淆生产配置。 |
日志与故障处理
| 现象 | 处理建议 |
|---|---|
| 调试标签不显示 | 确认角色拥有当前菜单下的“调试查看”,再确认已切换到“设备显示”并选中设备,或在数据转发页选中目标。 |
| 调试页没有协议专用标签 | 所选插件可能只提供通用模块。Foundation 插件使用“读写”,主动上报插件使用“接收监视”;这不表示插件未加载。 |
| 提示运行实例不可用 | 按提示检查对象是否停用、暂停、处于备用、初始化失败或已停止;恢复运行后刷新页面。 |
| 按钮不可见 | 核对角色是否拥有对应的只读、普通写入、危险控制或敏感数据权限,并同步检查 API 授权。 |
| Foundation 读取失败 | 检查通道连接、设备状态、地址格式、数据类型、数组长度、站号、超时和设备日志。 |
| 写入失败 | 检查变量/设备是否允许写入、写入值格式、现场设备权限和 RPC 写入开关。开启写入检查时,还要确认设备回读值能立即与写入值一致。 |
| MQTT 发布失败 | 检查 Broker 地址、端口、TLS、账号密码、Topic 权限、QoS 和目标日志。 |
| MQTT 订阅无消息 | 检查 Topic 通配规则、生产端是否发布、Broker 是否允许订阅、客户端是否在线。 |
| Kafka 发布失败 | 检查服务地址、认证、安全协议、Topic 权限和发布超时。 |
| RabbitMQ 发布失败 | 检查交换机、Routing Key、虚拟主机、账号密码、队列绑定和网络连通性。 |
| 数据转发目标调试为空 | 目标需要启用并进入运行态;禁用目标不会显示对应调试入口。 |