摩尔信使MThings提供面向工业现场的统一设备接入能力,支持串口、TCP Client、TCP Server 和 UDP 等多种通信通道,可同时运行多条独立链路,并支持一条通道挂接多台设备以及一个逻辑设备关联多个接入通道。
摩尔信使MThings不是把设备通信简单地绑定到某个串口或 IP,而是将"物理通道、通信协议、设备角色和数据点"分层建模,形成一套可同时管理多通道、多设备、多协议和多种设备角色的统一接入框架。

在协议层,摩尔信使MThings已支持 Modbus RTU、Modbus ASCII、Modbus TCP、DL/T 645 和 Siemens S7,并为主要协议同时提供主站和从站能力。
既能主动采集 PLC、仪表、传感器和控制器,也能将内部数据通过标准工业协议提供给其他上位系统。设备接入后统一映射为数据点,上层界面、控制、实时曲线、报警和历史记录不需要关注数据来自串口设备、网络设备还是本地模拟设备。
通过通道、协议、设备和数据四层解耦,摩尔信使MThings可以灵活适应多协议并存、多设备并行以及新设备持续扩展的工业现场。
挑战
工业现场很少只有一种设备和一条通信链路。一个项目中,可能同时存在多个串口、多个 TCP 连接和多个监听端口;同一条总线上可能挂接多台仪表;系统既需要主动采集下位设备,也可能需要作为从站向 PLC 或上位系统提供数据。
摩尔信使MThings的设备接入架构正是围绕这些场景设计的。软件通过分层设计使通信链路和业务设备不再紧密耦合,增加设备时,可以复用已有通道;切换协议或连接形式时,也不需要改变上层的数据使用方式。

1. 多通道:串口与网络链路统一管理
摩尔信使MThings将每一个串口或网络连接抽象为独立通道,并由通道管理器统一创建、启动、停止和调度。
当前代码已经实现的通道类型包括:
- 串口通信
- TCP Client
- TCP Server
- UDP 单播
- S7 专用 TCP Client
- S7 专用 TCP Server
串口和网络通道使用统一的处理模式,对设备层提供一致的数据收发、连接状态和发送队列接口。设备层因此不必关心底层是 COM 口还是 TCP 连接。
对于网络协议,当前支持的组合包括:
|------------|----------------|----------------|----------------|--------|
| 协议族 | TCP Client | TCP Server | UDP 单播 | 串口 |
| Modbus | 支持 | 支持 | 支持 | 支持 |
| DL/T 645 | 支持 | 支持 | 支持 | 支持 |
| Siemens S7 | 支持 | 支持 | 不支持 | 不支持 |
其中,Modbus 支持 RTU、ASCII、TCP 同步和 TCP 异步等传输模式;S7 使用标准 TCP 通信;DL/T 645 既可通过串口接入,也可以承载在 TCP 或 UDP 网络通道上。
2. 多设备:一条通道可以承载多台逻辑设备
摩尔信使MThings中,通道与设备不是简单的一对一关系。一条通道对象可以被多台逻辑设备共同注册和复用。通道收到数据后,会将协议解析结果分发给注册在该通道上的设备实例,再由设备根据地址、协议和设备配置判断是否处理。
这非常适合典型的工业总线场景:
- 一个 RS-485 串口连接多台 Modbus RTU 从站
- 一个串口连接多个 DL/T 645 电表
- 一个 TCP Server 接受外部主站访问
- 多个设备共享同一网络通道和发送调度队列
- 多条独立链路同时采集不同区域或不同类型的设备
对于 Modbus,系统通过从站地址区分同一通道上的不同设备;对于 DL/T 645,则使用表地址进行路由。配置层还会检查同一通道内的地址冲突,避免两台逻辑设备使用相同地址。
通道复用不是简单的设备组合,软件会检查同一通道上的设备工作模式,防止主站设备和从站设备以互相冲突的方式占用同一通道。
3. 多通道设备:一个设备可以关联多条通信链路
摩尔信使MThings的设备模型具备一台逻辑设备关联多条链路的能力。这一能力在从站和数据服务场景中尤其有价值:同一组设备数据可以通过多个串口或网络监听通道对外提供,不同上位机功能可以从不同入口访问同一逻辑设备。
需要准确说明的是:
- 一个仿真从机设备支持注册多个通道并接收各通道的请求数据。
- Modbus、DL/T 645 和 S7 从站实现会根据收到数据的来源通道进行响应。
4. 多协议:覆盖通用工业设备、电力仪表和 PLC
当前设备目录中已经形成三套清晰的协议设备体系。

Modbus 设备
摩尔信使MThings同时实现 Modbus 主站和从站设备,可用于:
- 接入传感器、仪表、变频器、温控器和远程 I/O
- 读取线圈、离散量、输入寄存器和保持寄存器
- 向设备下发单点或批量控制数据
- 将 摩尔信使MThings内部数据映射为 Modbus 从站数据,对外提供访问
Modbus 主站实现支持按点读取、按连续寄存器自动合并,以及按列表组织请求。连续点位能够被组合成更少的通信帧,有助于减少总线请求数量、提高轮询效率。
DL/T 645 设备
摩尔信使MThings同时提供 DL/T 645 主站和从站能力,面向电表、电能采集设备及相关测试场景。主站可以按照数据标识读取或写入电表数据,并支持设备地址、唤醒字节、超时和重发配置;从站可以根据表地址响应读写请求,也处理协议定义的广播地址和广播写入场景。这使系统既可以采集真实电表,也可以模拟电表或构建协议测试环境。
Siemens S7 设备
摩尔信使MThings实现了 S7 主站和服务端设备,可用于连接 Siemens PLC,或将 摩尔信使MThings模拟为可被 S7 客户端访问的数据端。
S7 设备层支持:
- Read Var 和 Write Var
- 多变量批量读写
- 连续地址合并
- 根据协商 PDU 大小自动控制报文规模
- 位变量访问
- 字节、字、双字等常见数据访问
- S7 字符串等特殊数据
- 定时器等特殊编码转换
- DB、输入、输出、存储区等区域映射
S7 从站实现维护协议地址空间,并在 PLC 地址与 摩尔信使MThings数据点之间进行双向同步。外部客户端写入 S7 地址后,对应的内部设备数据也会同步更新。
5. 主站与从站双向能力
摩尔信使MThings的接入能力不仅是"采集设备"。

每个主要协议族都按照设备角色进行建模:
- 主站设备负责主动轮询、即时读取和控制写入。
- 从站设备负责接收外部主站请求并返回本地数据。
- 本地设备负责承载不依赖外部通信链路的数据。
- 同一套设备数据可以继续被界面、曲线、报警、历史记录和其他协议访问。
从架构上看,摩尔信使MThings已具备协议汇聚和数据转接的基础:一侧通过主站设备采集真实数据,另一侧通过从站设备对外提供数据,双方通过统一设备数据层衔接。
6. 不只是接通,还包括通信调度与状态管理
设备成功接入只是第一步。摩尔信使MThings还在设备层统一处理通信生命周期。
主要能力包括:
- 周期轮询
- 单次优先读取
- 控制写入
- 批量读写
- 请求序号关联
- 响应匹配
- 发送间隔控制
- 超时处理
- 自动重发
- 链路状态感知
- 设备在线、离线、停止和轮询状态管理
- 配置变更后的通道重新注册
- 数据刷新和曲线数据上报
通道对象运行在按类型组织的工作线程中。不同类型的串口、TCP Client、TCP Server、UDP 和 S7 通道可以并行工作,减少单条通信链路对其他设备的阻塞。
7. 本地设备与数据模拟能力
除真实通信设备外,摩尔信使MThings还定义了本地设备。本地设备不依赖串口或网络连接,可以承载系统内部数据以及模拟数据。
总结
摩尔信使MThings支持串口与网络多通道并行接入,覆盖 Modbus、DL/T 645 和 Siemens S7,可同时连接 PLC、仪表、传感器、控制器及电力设备。它既可以作为主站采集和控制设备,也可以作为从站向 PLC、上位机或第三方系统提供数据。