摘要
Digi Modbus I/O 是一款适用于 DAL OS 设备的订阅应用程序,它可读取路由器内置的模拟和数字 I/O 端口,并将这些值作为 Modbus TCP 寄存器提供。 对于小型远程监控站点,由于同一设备既可处理蜂窝网络连接,又能处理传感器数据,因此无需单独配备PLC或RTU。该应用可在Digi IX25、IX30和IX40、Digi TX65以及Digi Connect EZ 8 I/O设备上运行,任何Modbus TCP客户端均可像查询标准Modbus服务器一样对其进行查询。
Digi Modbus I/O 是一款面向 DAL OS 设备的订阅式应用程序,用于读取设备板载的模拟和数字 I/O,并将其作为 Modbus TCP 寄存器提供。在本篇博客中,我们将探讨其应用场景,以及它如何降低成本和复杂性。
许多远程监控部署都遵循一种常见的模式:由一款蜂窝路由器负责广域网(WAN)连接,而另一台独立的PLC或RTU则负责处理实际的传感器数据:读取I/O、提供Modbus接口,并将数据上传至上游。这种方案虽然可行,但在传感器数量可能不多、预算却有限的安装场景中,它会增加硬件成本、机柜空间占用以及系统复杂性。
对于此类情况,Digi的Modbus I/O增值应用程序提供了一个极具吸引力的替代方案。该应用程序直接在支持DAL OS(Digi加速版Linux操作系统)的设备上运行,可读取设备内置的模拟和数字I/O端口数据,并将这些值作为标准Modbus寄存器通过TCP/IP协议传输,从而在保持其蜂窝网络连接功能的同时,将路由器有效转变为一款轻量级的远程信息处理设备。
什么是 Modbus I/O?
DG-PSPY-MBIO),该软件原生运行于 DAL 操作系统上。它具有两项核心功能:
- 以可配置的时间间隔读取主Digi设备的板载I/O端口(包括模拟和数字端口)。
- 作为 Modbus TCP/IP 服务器运行,将这些 I/O 读数映射到 Modbus 寄存器中,任何支持 Modbus 的客户端应用程序均可通过本地网络或蜂窝回传网络查询这些数据。
无需额外的硬件,无需连接外部 Modbus RTU 设备,也无需刷写自定义固件。该应用程序在路由器本机上的 Digi DAL Python 应用程序框架内部署并运行。
兼容硬件
以下 DAL OS 设备支持 Modbus I/O:
这些平台均配备了内置通用I/O(由数字输入/输出组成,部分型号还包含模拟输入),Modbus I/O可读取这些I/O,并将其作为Modbus寄存器使用。如果您的部署环境已使用其中一种设备实现广域网(WAN)连接,那么添加传感器监控所需的增量成本仅包括订阅许可费用以及连接到I/O端子的传感器费用。
如何使用
应用程序的流程非常简单:

现场传感器(干接点开关、4–20 mA 电流环路、电压信号等)直接连接到设备的 I/O 端子。Modbus I/O 应用程序会持续向 DAL 操作系统轮询这些端口的当前状态,并将数值写入 Modbus 寄存器映射中。 任何带有 Modbus TCP/IP 客户端的应用程序(如 SCADA 系统、数据历史库、自定义监控应用程序)均可通过网络查询该设备,并使用标准的 Modbus 功能码(例如“读取保持寄存器”、“读取输入寄存器”、“读取线圈”)来获取实时传感器读数。
从轮询应用程序的角度来看,Digi 路由器与网络上的任何其他 Modbus TCP/IP 服务器完全一样。无需专有协议,客户端也不需要特殊的 SDK。
用例:无需完整PLC的轻量级远程监控
Modbus I/O 最明显的价值主张在于,在那些部署一台完整的 PLC 或专用 RTU 会显得大材小用的场景中,它能够降低成本。
试想一个远程泵站、一个电线杆柜、一个水处理设施的提升站,或者一个小型环境监测站点。这些地点可能只需监测寥寥几个信号:门触点、浮球开关、压力传感器或电池电压。传统上,这仍然需要一个远程终端单元(RTU)或可编程逻辑控制器(PLC)来聚合这些信号并通过Modbus协议传输,而这类硬件会产生实际成本:购置费用、安装人工费、额外耗电以及持续维护费用。
对于 Modbus I/O,如果现场已配备 Digi IX25、Digi IX30、IX40 或 TX65 路由器用于蜂窝网络连接,则添加传感器监控意味着:
- 将传感器直接连接到路由器的I/O端子(无需额外硬件)
- 购买 Modbus I/O 订阅许可证
- 将现有的SCADA或监控应用程序指向路由器的IP地址,端口为Modbus TCP 502
该路由器在单一设备中同时承担了这两个角色(WAN网关和Modbus I/O服务器),从而降低了总体成本并节省了机柜空间。

更广泛的 Modbus 应用产品组合的一部分
Modbus I/O 是 Digi专业服务组合中三款以 Modbus 为核心的增值应用之一:
| 应用 |
功能说明 |
| Modbus I/O(DG-PSPY-MBIO) |
读取板载I/O端口;充当Modbus TCP/IP服务器 |
| Modbus RM(DG-PSPY-MBRM) |
查询外部 Modbus 设备,并将数据作为数据流转发至Digi Remote Manager |
| Modbus 火花塞(DG-PSPY-MBSP) |
轮询外部 Modbus 设备,并将数据以 Sparkplug B 格式发布到 MQTT 代理 |
这些应用程序是互补的。一个运行 Modbus I/O 用于本地 I/O 监控的站点,还可以运行 Modbus RM 或 Modbus Sparkplug 来连接上游的外部 Modbus 串行设备,所有这些都可在同一台 DAL OS 设备上运行。
关于 Digi Modbus I/O 的常见问题解答
什么是 Digi Modbus I/O?
Modbus I/O(DG-PSPY-MBIO)是一款基于 Python 的应用程序,可在受支持的 DAL OS 设备上运行。它以可配置的间隔读取设备板载的模拟和数字 I/O 端口,并通过内置的 Modbus TCP/IP 服务器将这些值以 Modbus 寄存器的形式呈现出来。
我需要使用PLC还是RTU才能通过Modbus协议公开传感器数据?
不适用于信号数量较少的站点。传感器直接连接到Digi设备的I/O端子,应用程序将测量值作为Modbus寄存器输出,因此无需单独的PLC或RTU。
哪些Digi设备支持Modbus I/O?
Digi 的 Modbus I/O 应用程序支持 Digi IX25 和 IX40 5G 工业蜂窝路由器、Digi IX30 工业蜂窝路由器、Digi TX65 5G 车载蜂窝路由器,以及 Digi Connect EZ 8 I/O 和 Connect EZ 8 I/O SW 串行连接设备。
我可以连接哪些类型的传感器?
干接点开关、浮球开关等数字传感器,以及提供 4–20 mA 电流环路或 0–10 V 输出信号的模拟传感器,均可连接至设备的 I/O 端子。可用的输入类型因型号而异,因此请查阅设备规格说明。
如何从Digi设备中读取数据?
将任何 Modbus TCP/IP 客户端(例如 SCADA 系统、数据历史库或自定义监控应用程序)连接到该设备在 TCP 502 端口的 IP 地址。支持“读取保持寄存器”、“读取输入寄存器”和“读取线圈”等标准功能代码。
我可以通过蜂窝网络读取数据吗?
是的。可以通过局域网或蜂窝回传网络查询 Modbus 寄存器。
Digi的Modbus I/O应用程序采用何种许可方式?
该产品通过Digi的标准销售渠道和授权分销商以年度订阅许可的形式销售(产品编号:DG-PSPY-MBIO)。
Modbus I/O 与 Modbus RM 和 Modbus Sparkplug 有什么区别?
Modbus I/O 读取设备自身的 I/O 数据,并充当 Modbus TCP 服务器。Modbus RM(DG-PSPY-MBRM)查询外部 Modbus 设备,并将数据发送至Digi Remote Manager 。Modbus Sparkplug(DG-PSPY-MBSP)轮询外部 Modbus 设备,并以 Sparkplug B 格式将数据发布到 MQTT 代理。它们可以在同一台 DAL OS 设备上同时运行。