跳到主要内容

DTU 服务

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

适用场景​

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

配置前准备​

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

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

快速生成测试配置​

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

  1. 登录 TGateway 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. “绑定地址”填写 TGateway 本机监听地址。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 主动连接 TGateway,并按以下顺序验收。

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

DTU 在线采集验证

截图用于说明在线状态、当前值、原始值和采集时间的检查位置。实际项目中应以现场 DTU ID、变量地址和设备返回值为准。

通过标准​

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

生产部署建议​

项目建议
监听地址只监听业务需要的网卡和端口;使用 0.0.0.0 时配合防火墙限制来源。
公网接入确认公网 IP、端口映射、安全组和运营商网络策略,不要直接暴露无保护的管理端口。
DTU ID为每台终端分配唯一标识,交付时把 DTU ID、设备名称和现场位置形成对应表。
心跳与过期心跳周期必须小于客户端过期时间,并预留网络抖动和重传时间。
最大连接数按正式终端数量和扩容计划设置,避免过小拒绝连接,也不要无边界放大。
日志级别联调时可临时使用 Debug 或 Trace,稳定后恢复 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,并通过通道日志确认新连接已注册。

相关文档​