资讯详情

DTU 使用 Modbus 透传接入 ThingsCloud 云平台 —— 读取传感器数据和控制继电器

使用 Modbus RTU 透传

Modbus RTU 串口传输功能几乎是所有的 DTU 我们还在教程中介绍了一些制造商的标准产品 DTU 接入示例。

ThingsEdge DTU 使用 Modbus 传输功能等 DTU 这里列出了一些常用的方法。

使用 DTU 集成模式

ThingsCloud 对所有 DTU 接入通常支持两种模式:

  • 集成模式:即 DTU 以及它连接的所有传感器和其他设备 ThingsCloud 它反映在设备上。这种方法适合 DTU 和子设备相对较少。若数量较多,则不利于设备功能定义的再利用。

  • 网关模式:将 DTU 它的多个子设备,在 ThingsCloud 对应独立设备。这样就可以独立定义子设备的功能,方便设备资产的组织和维护管理,非常清晰。

先介绍一下这一节。为便于管理,我们用以前的方法新建设备类型,改名。

接线示例

在这个例子中,我们在 DTU 的 RS485 两个连接在总线上 Modbus 设备:

  • 8进8出 IO 从机站号控制器为 1,波特率 9600
  • 温湿度传感器,机站号是 2,波特率 9600

其中,在 IO 在控制器的继电器端,我们连接了两个指示灯IO两个行程开关连接到输入端。

添加 IO 控制器的属性定义

我们先在 DTU 在设备类型中找到,找到相应的设备模型,添加标准功能 8 个 IO 输入开关量属性,和 8 继电器输出开关量属性。

创建的属性定义如下:

配置 IO 控制器的 Modbus 寄存器

然后在 DTU 在设备类型中找到,添加新创建的属性 IO 寄存器如下图所示:

然后正确配置,如下图:

最后,开启,并绑定自定义数据流。如下图:

下发 Modbus 开关量控制

现在我们回到设备的概览面板,可以直接发送继电器输出。

在设备的在功能中,可以看到属性发布自动转换为 Modbus 通过自定义数据流发送指令 DTU,再被透传到 IO 然后接收控制器 DTU 回传的 Modbus 回复信息。如下图所示:

到目前为止,我们已经可以通过了 ThingsCloud 控制台远程控制继电器开关。

通过 Modbus 查询继电器状态

有时继电器断电会归位,云平台可能不知道继电器的最新状态,所以我们将建立继电器状态查询 Modbus 任务如下图所示:

这里我们将任务的目标类型选为,而不是,这使得任务对设备类型下的所有设备都有效,未来更多的设备不需要单独创建相同的任务。

选择推送方式 MQTT,自定义数据流填写 stream,这是 DTU 内置连接 ThingsCloud 默认自定义数据流标识符。

选择 任务,用 01 查询继电器状态的功能码需要一点了解 Modbus 指令通常可以从设备手册中找到 Modbus 协议。

任务创建成功后,我们可以手动操作一次。如下图所示:

在设备调试中可以看到 3 条消息分别为:

  • 下发的 Modbus 查询指令
  • 收到 Modbus 回复指令
  • 分析后,化为属性报告消息

配有温湿度传感器 Modbus 寄存器

接下来我们再配置另一个连接到 DTU 在温湿度传感器中,还添加功能定义,添加温湿度两个属性,如下图所示:

添加新的属性后,如下图:

接着在 Modbus 传感器寄存器对应于温湿度属性,如下图所示:

支持不同厂家的温湿度传感器 Modbus 寄存器略有不同,请参考实际产品手册。

通过 Modbus 任务查询温湿度

我们将建立一个普通的温湿度传感器,只有报告数据的功能 Modbus 定期检查温湿度,如下图所示:

在这里,我们使用任务的定时功能,我们选择 ,如下图:

保存任务后,任务将自动启动,等待我们设定的间隔,任务将首次运行,并成功获取温湿度数据。

其它透传 DTU 的支持

ThingsCloud 的 Modbus RTU 传输方式适用于所有厂家支持串口传输 DTU 产品,请参考以下示例:

  • 有人 4G DTU TCP 接入
  • 塔石 4G DTU MQTT 接入

标签: 传感器归位

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台