Skip to content

Modbus TCP协议设备接入(3.X.X版本)

准备工作

启动物联网平台

请参考教程5分钟快速运行

注意

Modbus TCP协议设备接入需要蜂鸟企业版支持,如需购买请联系我们。

访问产品管理菜单栏,点击创建产品按钮,根据页面提示填写参数,然后单击“确定”,完成产品的创建。

参数 参数值
产品名称用户可自定义
产品编码用户可自定义
所属品类选择自定义品类
节点类型直连设备、网关子设备、网关设备、摄像头。
接入协议驱动用户可以在驱动市场中下载协议驱动,本案例选择MODBUS TCP官方驱动。
品牌用户可自定义
描述请根据实际情况填写

创建采集点

点击产品详情按钮,进入产品详情页面,点击添加点位按钮可以新增采集点。

参数 参数值
点位名称用户自定义填写,如温度
点位别名用户必须输入英文,如temp
功能码支持如下Modbus功能码,参见下表
数据类型支持Bool、Int16、UInt16、Int32、UInt32、Int64、Uint64、Float32、Float64,用户根据实际情况选择,数据排序支持AB、BA等等
寄存器地址根据项目实际情况填写,如果设备说明书上温度值的PLC地址是40001并且协议地址是0000H,那么用户填写0即可。
读写属性无需用户填写,系统根据功能码的访问类型自动选择
倍率请根据实际情况填写
单位请根据实际情况填写

Modbus功能码

功能吗功能描述访问类型说明
01读线圈状态(Read Coils)可读可写读取一组 开关量输出(DO) 状态
02读离散输入状态(Read Discrete Inputs)只读读取一组 开关量输入(DI) 状态
03读保持寄存器(Read Holding Registers)可读可写读取一组 保持寄存器(AO) 的值
04读输入寄存器(Read Input Registers)只读读取一组 输入寄存器(AI) 的值

为了方便后期测试,我们创建如下点位。

使用Modbus Slave工具模拟真实设备(可选)

为了方便演示,我们在腾讯云上创建了一个Windows虚拟机,并且在其中下载了Modbus Slave软件。Modbus Slave点位表配置如下

记录Windows虚拟机的对外访问地址和端口号(一般为502),以这台虚拟机为例,该机器对外访问地址为175.27.134.191,端口号为502。 创建成功后需要检查一下机器防火墙502端口是否方通,也可以使用telnet命令检测端口是否开放 telnet 175.27.134.191 502

创建设备

访问设备管理菜单栏,点击添加设备按钮,添加方式选择单个设备,根据页面提示填写参数,单击“确定”,完成设备的创建。

参数 参数值
所属产品选择刚刚创建的产品
设备名称温湿度变送器设备(用户自定义)

点击设备详情按钮,进入设备详情页面。

参数 参数值说明
IP地址175.27.134.191(用户自定义)IP地址
端口502(用户自定义)端口
Modbus Slave ID1(用户自定义)modbus从设备ID
扫描周期10(用户自定义)modbus轮询周期,单位秒,设置为-1会停止轮询

进入设备详情页面查看点位数据

点击设备详情按钮,进入设备详情页面。 如果一切正常,您可以看到刚刚采集到的数值,点击实时刷线按钮可以动态刷新数据。

我们在Modbus Slave软件上修改点位数值,查看采集数据是否发生变化。 修改后数值如下

在设备详情页面等待10s后,查看数据发生变化。

动态调整采集时间

如果您觉得采集速度过慢或者过快,我们支持动态调整采集时间。

点击历史数据按钮查看数据采集周期的变化。

对设备进行控制(命令下发)

接下来,我们尝试对开关进行控制,看看Modbus Slave软件能否接受到我们的控制请求,从而改变数据。

点击开关,显示操作成功。

Modbus Slave软件开关状态已更改。