DGIOT实战教程——虚拟Modbus TCP接入

[小 迪 导读]
本教程首先通过全链路虚拟环境讲述如何用DG-IoT开源工业物联网平台完成虚拟modbusTcp设备的接入,在掌握基础modbusTCP标准协议概念和业务流程之后,先通过虚拟的ModbusTCP来进行模拟演练接入。真实设备也能如法炮制。

系统需要使用的一个软件:

  • Modbus Slave:用来模拟ModbusTCP服务端上报数据给平台

modbus tcp/ip通信方式

简介

  • Modbus设备可分为主站(poll)和从站(slave)。主站只有一个,从站有多个,主站向各从站发送请求帧,从站给予响应。在使用TCP通信时,主站为client端,主动建立连接;从站为server端,等待连接。
  • 主站请求:功能码+数据
  • 从站正常响应:请求功能码+响应数据
  • 从站异常响应:异常功能码+异常码,其中异常功能码即将请求功能码的最高有效位置1,异常码指示差错类型
  • 注意:需要超时管理机制,避免无期限的等待可能不出现的应答
  • IANA(Internet Assigned Numbers Authority,互联网编号分配管理机构)给Modbus协议赋予TCP端口号为502,这是目前在仪表与自动化行业中唯一分配到的端口号。

通信过程

  • connect 建立TCP连接
  • 准备Modbus报文
  • 使用send命令发送报文
  • 在同一连接下等待应答
  • 使用recv命令读取报文,完成一次数据交换
  • 通信任务结束时,关闭TCP连接

技术方案

modbus tcp

  • 主机是客户端,而从机是服务器端。所以主机就是平台服务器端。
  • 平台建立client去连接从机设备服务器端
  • modbus tcp多应用于局域网内,所有的设备都在一个服务器端内通过寄存器地址来区分
  • 平台采用csv导入来自动创建产品,物模型及设备

操作步骤

1.创建虚拟ModbusTcp

本次教程不提供ModbusSlave的下载链接请见谅,建议自行搜索并下载。
安装modbus slave软件,打开后进行如下配置

主界面

DGIOT实战教程——虚拟Modbus TCP接入_第1张图片

第一步:点位数据

DGIOT实战教程——虚拟Modbus TCP接入_第2张图片

DGIOT实战教程——虚拟Modbus TCP接入_第3张图片

第二步:点位设置

DGIOT实战教程——虚拟Modbus TCP接入_第4张图片

第三步:连接设置

DGIOT实战教程——虚拟Modbus TCP接入_第5张图片

完成标志

DGIOT实战教程——虚拟Modbus TCP接入_第6张图片

2.创建csv

1、下载csv模板
2、编辑csv,提供的模板会创建一个产品,五个设备,2条物模型。如下图所示说明:

DGIOT实战教程——虚拟Modbus TCP接入_第7张图片
3、确认csv编码格式

用电脑记事本打开csv文件,如果编码不是utf8

DGIOT实战教程——虚拟Modbus TCP接入_第8张图片

文件另存为

DGIOT实战教程——虚拟Modbus TCP接入_第9张图片

修改编码格式为UTF-8,保存
注意:文件名不能为中文,最好全英文

DGIOT实战教程——虚拟Modbus TCP接入_第10张图片

修改成功

DGIOT实战教程——虚拟Modbus TCP接入_第11张图片

3.创建通道

1、选择MODBUSC资源通道
DGIOT实战教程——虚拟Modbus TCP接入_第12张图片

2、配置地址端口,采集频率,并上传编辑好的csv文件
DGIOT实战教程——虚拟Modbus TCP接入_第13张图片

3、启用通道,稍等片刻,csv条数越多,时间越久
14.png

启用成功
DGIOT实战教程——虚拟Modbus TCP接入_第14张图片

如果失败,则检查csv文件内容,编码格式是否正确,编辑重新上传,再启用通道

4.查看结果,实时数据

成功创建一个产品,五个设备

14.png

DGIOT实战教程——虚拟Modbus TCP接入_第15张图片
物模型

DGIOT实战教程——虚拟Modbus TCP接入_第16张图片

DGIOT实战教程——虚拟Modbus TCP接入_第17张图片

DGIOT实战教程——虚拟Modbus TCP接入_第18张图片

五个设备的实时数据

DGIOT实战教程——虚拟Modbus TCP接入_第19张图片

DGIOT实战教程——虚拟Modbus TCP接入_第20张图片
[小 迪 点评]

  • dgiot支持ModbusTCP协议的设备接入,csv全流程自动导入读取数据,免去手动创建物模型等平台配置,大大降低接入门槛

想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。

你可能感兴趣的:(前端)