锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

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

时间:2022-11-16 05:30:00 传感器归位

使用 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 在设备类型中找到Modbus 配置,添加新创建的属性 IO 寄存器如下图所示:

然后正确配置从机地址寄存器地址,如下图:

最后,开启属性智能转换,并绑定自定义数据流。如下图:

下发 Modbus 开关量控制

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

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

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

通过 Modbus 查询继电器状态

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

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

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

选择 Modbus RTU 下发 任务,用 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百科大全!

相关文章