跳到主要内容

DTU 服务

DTU 服务用于接入通过 TCP 主动连接 GatewayRuntime 的透传终端。GatewayRuntime 作为 TCP 服务端监听端口,DTU 建立连接后先上报终端标识,网关再按照设备中的 DTU ID 把该连接分配给对应采集设备。一个 TCP 服务通道可以同时承载多台 DTU,不需要为每台终端重复创建监听端口。

适用场景

场景说明
4G/5G DTU 主动上网终端位于移动网络或现场内网,由终端主动连接部署在公网或中心网络的 GatewayRuntime。
多终端共用监听端口多台 DTU 连接同一个 TCP 服务通道,网关通过每台终端的 DTU ID 区分连接。
串口设备远程透传DTU 把 PLC、仪表或采集模块的串口协议透传到 TCP,GatewayRuntime 继续使用 Modbus 等采集插件访问现场设备。
DDP 协议终端终端明确支持 DDP 协议时,把通道的 DTU 服务类型设置为 DDP。普通注册式 DTU 使用“默认”。
本页验证基线

本页截图来自当前 GatewayRuntime 的实际运行验证。测试通道监听 127.0.0.1:15020,DTU ID 为 modbusDtu831745464586309,Modbus 变量地址为 400001,模拟终端实际返回数值 1234127.0.0.1 只用于本机验证,生产环境应填写现场可访问的网卡地址或 0.0.0.0:端口

配置前准备

配置前先向 DTU 厂商或现场人员确认以下信息。

信息需要确认的内容
连接方向DTU 必须作为 TCP 客户端主动连接 GatewayRuntime。
服务地址DTU 能访问的网关 IP 或域名,以及允许接入的 TCP 端口。
注册标识DTU 建立连接后上报的终端编号、上报时机和编码方式。
标识格式标识是普通文本还是原始十六进制字节,是否包含前缀、后缀、换行符或长度字段。
DTU 服务类型普通终端选择“默认”;只有终端协议明确为 DDP 时才选择 DDP
透传协议DTU 后方设备使用的协议、站号、地址、数据类型、字节序和响应超时。
保活策略DTU 主动发送心跳的内容和周期,以及是否要求服务端响应心跳。
网络策略防火墙、端口映射、安全组和运营商网络是否允许 DTU 主动连接。

快速生成测试配置

GatewayRuntime 可以生成一套 DTU 测试配置,用于快速建立通道、设备和变量骨架。

  1. 登录 GatewayRuntime Web,进入“开发配置 → 采集配置”。
  2. 点击变量列表右上角“显示更多 → 测试数据”。
  3. 选择“DTU测试数据”,设备数量建议先填 1
  4. “从站地址”填写本机或测试环境可监听的地址,例如 127.0.0.1:15020

DTU 测试数据配置

  1. 点击“生成”。页面会创建一个 TCP 服务通道、一台 Modbus 采集设备、一个 400001 变量,以及配套的测试转发配置。
  2. 打开自动生成的设备“插件属性”,记录动态生成的 DTU ID
  3. 在真实 DTU 或 DTU/Modbus 模拟器中填写监听地址和该 DTU ID,再启动终端连接。
测试数据不会代替现场终端

生成成功只表示配置已经写入。要看到通道、设备和变量在线,仍需真实 DTU 或协议模拟器主动连接、发送完全一致的 DTU ID,并正确响应采集协议请求。

配置 TCP 服务通道

进入“开发配置 → 采集配置”,点击“通道管理 → 新增”;已有通道可点击“编辑”。

  1. “通道名称”填写能表示现场链路的名称,例如 dtu-modbus-service
  2. “通道类型”选择 TcpService
  3. 开启“使能”。
  4. “绑定地址”填写 GatewayRuntime 本机监听地址。0.0.0.0:15020 表示监听所有网卡,127.0.0.1:15020 只允许本机连接。
  5. 在高级配置中核对心跳、最大连接数、客户端过期时间、DTU 服务类型和 DTU ID Hex。

DTU TCP 服务通道配置

实际验证通道的 DTU 高级参数如下。截图中的客户端过期时间为当前版本默认值 120000 ms

DTU 通道高级参数

通道参数

配置项当前默认值说明
通道类型TcpClientDTU 服务必须改为 TcpService,由网关等待终端主动接入。
绑定地址TCP 服务端必填。生产环境可填写指定网卡地址或 0.0.0.0:端口
连接超时3000 ms建立连接或执行相关连接操作的超时时间。网络质量差时可适当增大。
缓存超时500 ms通道组包和协议读取使用的缓存窗口。普通场景保持默认。
最大并发数1同一通道请求并发限制。现场设备要求严格顺序时保持 1
心跳内容按 DTU 协议填写。开启右侧 Hex 后,内容按十六进制字节解析。
最大连接数10000该 TCP 服务通道允许同时保持的客户端数量。应大于计划接入的 DTU 总数,并预留扩容空间。
客户端过期时间120000 ms客户端在该时间内无通信会被断开。0 表示不检测空闲客户端。
DTU 服务类型Default普通注册式 DTU 使用默认模式;只有明确支持 DDP 协议的终端才选择 DDP
DTU ID Hex关闭关闭时按文本解析终端标识;开启时按原始十六进制字节解析。
客户端过期时间怎么设置

DTU 有心跳时,客户端过期时间应明显大于心跳周期,现场通常至少留出 2 到 3 个心跳周期。默认 120000 ms 适合心跳周期明显小于 120 秒的场景。设置为 0 会让空闲连接不再自动清理,只应在明确了解终端行为和连接规模时使用。

配置 DTU 采集设备

点击“设备管理 → 新增”,先完成基本信息,再进入“插件属性”。

  1. “设备名称”填写现场设备或 DTU 的唯一名称。
  2. “设备插件”选择实际透传协议。本页使用 ModbusMaster
  3. “关联通道”选择前面创建的 TcpService 通道。
  4. “执行间隔”按现场采集周期填写,例如 1000 表示每秒执行一次。
  5. 打开“插件属性”,在 DTU ID 中填写终端连接后实际上报的标识。
  6. 继续核对 Modbus 类型、默认站号、读写超时和数据解析顺序。

DTU 设备插件属性

设备关键参数

配置项说明
设备插件选择 DTU 后方真实设备使用的采集协议,不是选择一种通用“DTU 插件”。
关联通道多台 DTU 可以关联同一个 TCP 服务通道。
执行间隔决定采集请求周期。移动网络延迟较高时不要设置得过小。
DTU ID必须与终端注册报文中的标识完全一致,包括大小写、前后缀和编码方式。
默认站号Modbus 等协议的从站地址,必须与 DTU 后方设备一致。
读写超时时间单次协议请求等待响应的时间,应结合移动网络时延设置。
不要把通道和设备的 ID 设置混淆

通道上的“DTU ID Hex”决定网关如何解析所有接入连接的注册标识;每台设备插件属性中的“DTU ID”决定该设备使用哪一条已注册连接。一个通道承载多台 DTU 时,每台设备都必须填写不同且真实存在的 DTU ID。

配置变量

回到“变量显示”,点击“新增变量”。先用 1 到 3 个典型点位验证链路,再导入完整点表。

配置项示例说明
变量名称modbus400001建议能对应现场点表名称。
所属设备当前 DTU 设备变量必须归属于配置了正确 DTU ID 的设备。
变量地址400001按采集插件的地址规则填写。
数据类型Int16必须与现场寄存器实际数据一致。
读写权限只读首次联调建议先使用只读点位。

文本与 Hex DTU ID

终端实际发送内容DTU ID Hex设备中的 DTU ID说明
文本 DTU-001关闭DTU-001常见 ASCII/UTF-8 注册编号。
原始字节 44 54 55 2D 30 30 31开启4454552D303031原始字节解析后使用无分隔十六进制标识匹配设备。

不要因为终端手册把文本编号显示成十六进制,就直接开启 Hex。应抓取终端建立连接后的第一段注册报文,确认它发送的是字符 D T U - 0 0 1,还是对应的原始字节序列。

实际运行验证

完成配置后,让 DTU 主动连接 GatewayRuntime,并按以下顺序验收。

  1. 左侧通道显示“在线”,在线设备数量为 1/1
  2. 通道下的设备显示绿色在线状态。
  3. 变量不再显示“异常”,当前值和原始值能够正常刷新。
  4. 采集时间持续更新,且读取结果与现场设备、PLC 软件或模拟器一致。

以下实际验证截图中,DTU 已使用 modbusDtu831745464586309 注册,变量 400001 的当前值和原始值均为 1234

DTU 在线采集验证

通过标准

检查项通过标准
TCP 监听通道已启动,端口处于监听状态。
DTU 注册通道在线数量增加,日志出现 DTU 标识连接成功。
设备状态使用该 DTU ID 的设备显示在线。
变量质量变量无异常标记,当前值、原始值和采集时间正常更新。
数值正确性读取结果与现场仪表、PLC 软件或模拟器设定值一致。
断线恢复断开并重新连接 DTU 后,设备能够恢复在线并继续采集。

生产部署建议

项目建议
监听地址只监听业务需要的网卡和端口;使用 0.0.0.0 时配合防火墙限制来源。
公网接入确认公网 IP、端口映射、安全组和运营商网络策略,不要直接暴露无保护的管理端口。
DTU ID为每台终端分配唯一标识,交付时把 DTU ID、设备名称和现场位置形成对应表。
心跳与过期心跳周期必须小于客户端过期时间,并预留网络抖动和重传时间。
最大连接数按正式终端数量和扩容计划设置,避免过小拒绝连接,也不要无边界放大。
日志级别联调时可临时使用 DebugTrace,稳定后恢复 Info
TLSDTU 支持 TLS 时启用 SSL 并配置证书;不支持时使用专网、VPN、防火墙和来源限制保护链路。
写入安全首次联调只验证读取。启用 RPC 写入前确认现场联锁、权限和回读检查。

故障排查

现象重点检查
通道无法启动绑定地址是否属于本机、端口是否被占用、监听端口是否有权限、防火墙策略是否正确。
通道显示 0/NDTU 是否主动连接、目标 IP/端口是否正确、注册报文是否已经发送。
日志提示 Client (DTU) not connected设备中的 DTU ID 与终端注册标识不一致,或终端尚未完成注册。重点核对文本/Hex、大小写、前后缀和空白字符。
通道在线但设备离线可能有客户端连接,但没有与该设备 DTU ID 匹配的有效连接,或协议请求持续超时。
设备在线但变量异常检查站号、变量地址、数据类型、Modbus 类型、字节序和读写超时。
连接周期性断开检查客户端过期时间、DTU 心跳周期和心跳内容。心跳周期不应接近或超过过期时间。
Default 模式无法注册确认终端是否实际使用 DDP;只有协议明确为 DDP 时才切换服务类型。
多台 DTU 相互顶替检查是否重复使用同一个 DTU ID。每台终端必须使用唯一标识。
重连后仍使用旧连接检查终端是否在新连接建立后立即发送完整 DTU ID,并通过通道日志确认新连接已注册。

相关文档