Modbus、PLC、OPC数据采集与MQTT云端转发工具(直接对接Thingsboard开源平台)

这篇具有很好参考价值的文章主要介绍了Modbus、PLC、OPC数据采集与MQTT云端转发工具(直接对接Thingsboard开源平台)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章来源地址https://www.toymoban.com/news/detail-756309.html

1. IoT Hub软件功能概览

IoT Hub是一款专门应用Modbus、DLT645、PLC、OPC DA、OPC UA等协议进行工业数据采集与MQTT云端转发的工具软件(可直接对接开源Thinsboard平台)。如下图所示:

mqtt转modbus,制造,iot,物联网

图 1 软件概览

(1)功能架构

mqtt转modbus,制造,iot,物联网图 2 数据采集转发示意

如上图,IoT Hub内置Modbus-RTU、Modbus-TCP、DLT645 1997/2007、OPC DA、OPC UA、S7等协议,可通过RS-232、RS-485、以太网、以太网透传等多种方式对接现场各种设备,并将采集到的数据打包通过MQTT协议发送给云端服务器。软件可直接支持Thingsboard和阿里云数据协议(即JSON数据打包格式)。

(2)现场部署

mqtt转modbus,制造,iot,物联网图 3 采集软件现场部署示意

如上图,在实际的工业现场数据采集中,各个车间的设备通过网络与工业互联网平台连接,可以考虑在每个车间的汇聚交换机和核心交换机上部署IoT Hub数据采集软件。IoT Hub一般运行在安装了Windows系统的无风扇工控机中,这样可以部署在复杂的工业现场环境中。

2. IoT Hub软件功能描述

本节首先概要介绍一下操作界面元素,再详细介绍如何使用几个最常见工业数据采集协议采集现场设备的数据。

2.1 操作界面

mqtt转modbus,制造,iot,物联网 图 4 界面功能示意

软件采用传统工业软件界面,包括:

(1)菜单栏:提供设备、数据点文件打开、保存、导、导出;MQTT和HTTP转发配置;软件语言设置;查看设置等功能。

(2)工具栏:提供文件打开、保存;通道、设备、数据点添加与删除;MQTT转发启动、停止等功能。

(3)协议Tab页:数据采集分为三大类,通用设备、OPC DA和OPC UA。在每个Tab页可以对通道、设备进行增删改查操作。

(4)数据点查看页:可以对每个设备的数据点实时值进行查看,并可对该数据点进行增删改查操作。

(5)事件查看页:用户可以查看重要的历史记录与提示信息。

2.2 设备数据采集

Modbus协议是一种古老、简单但又应用极其广泛的设备数据采集协议,在各行各业中,数量众多的传感器、数字仪表、PLC等都支持Modbus协议。下面以Modbus RTU协议为例,详述软件数据采集和转发的详细过程,其他Modbus TCP、DLT-645/1997、DLT-645/2007、PLC等也类似。

2.2.1 通道添加

通道是数据采集通信协议传输的接口,包括硬件接口信息和通信协议信息。例如对于Modbus RTU协议,它可以通过RS-232、RS-485接口直接传输,也可以通过以太网进行透传。这样“Modbus RTU+串口”和“Modbus RTU+以太网透传”就是两种不同的通道。一个通道比如Modbus RTU以太网透传通道可以被多个设备共用,而Modbus RTU RS-232串口通道就只能被一个设备单独使用。通道能够共用一般取决于接口属性,例如对于Modbus RTU协议来说,如果接口是RS-232,则只能一个设备单独使用;但如果是RS-485,则可以多个设备同时使用。

首先使用Configure Virtual Serial Port Driver软件,创建一对虚拟串口,比如Port7和Port8。再如下图所示,在Device页面的空白处,通过右键菜单或工具栏图标,创建通道:

mqtt转modbus,制造,iot,物联网图 5 Modbus RTU通道添加

(1)设备供应商选择Modbus,协议选择Modbus RTU。

(2)通信类型选择串口,它是软件直接通信的接口。

(3)在通用页面,填写通道名称、描述信息。

(4)在串口页面,填写选择串口通信信息,选择COM7,填写波特率等信息。

(5)对于以太网和以太网透传页面,与串口无关,系统会自动禁止编辑。

填写好后,通道的四个页面信息如下图所示:

mqtt转modbus,制造,iot,物联网图 6 Modbus RTU通道页面

2.2.2 设备添加

设备是对现场各种仪器、仪表、传感器、PLC等待采集设备的抽象。每个设备都有自己的地址,数据采集软件通过设备地址与设备通信。

选中某个通道,可以通过右键菜单或工具栏图标来创建设备,如下图所示:

mqtt转modbus,制造,iot,物联网图 7 Modbus RTU通道添加设备

(1)在通用页面填写填写设备名称、备注等基本信息,名称、备注等都支持中文。

(2)填写设备地址表达式,对于Modbus RTU设备,就是该设备的Slave ID。

(3)设定该设备的数据采集周期,以毫秒为单位。

(4)设定设备连接和数据采集请求超时等待时间,超时后会自动进行重连或重新请求。

(5)块读取页面一般保持默认设置即可,它可以将Modbus多个读取命令合并成一条命令,一次读取多个数据块,提高数据采集效率。

2.2.3 数据点添加

数据点(英文称为Data Point或Tag)是对要采集的参数的统称,每个设备中的数据点以唯一名称标记。比如某个温湿度传感器可以采集温度和湿度两个参数,这两个参数就是两个数据点。选中某个设备,可以通过右键菜单或工具栏图标来添加数据点,如下图所示:

mqtt转modbus,制造,iot,物联网图 8 Modbus RTU设备温度数据点添加

(1)在通用页面填写数据点名称和描述信息,名称和描述都支持中文。本数据点采集温度。

(2)在地址表达式中填写该数据点的地址信息,对不同协议,地址格式也不同。对于Modbus协议,数据点格式沿用工控软件的通用做法,即内存前缀+寄存器编号构成符号索引的方法。实际使用时,用户需要参考设备使用说明书确定要采集的参数地址。如下图:

内存区块

前缀

线圈状态(或数字或离散量输出)

0

离散输入

1

保持寄存器(或输出寄存器)

3

输入寄存器

4

          图 9 内存区块前缀示意

内存地址

寄存器编号

符号索引1

符号索引0

0

1

400001

400000

1

2

400002

400001

2

3

400003

400002

                     图 10 内存地址符号索引示意

  • 图10是内存区块前缀,不同的内存区域,分别以1~4来表示。假设现在要读取输入寄存器内存区块,这样前缀为4。
  • 参考图11,对于该内存区块的不同内存地址,寄存器编号=内存地址+1,这样就构成了红色字体标志的符号索引1,这就是要填写的地址表达式。

本设备中,地址表达式为300011,意思是采集保持寄存器区域起始地址为10或起始第11个寄存器的数据。

(3)选择该数据点的数据类型及字节序。设备以二进制格式发送字节流,数据如何解析完全由用户确定。实际使用时用户需要根据该设备的使用说明书确定数据类型、字节序及线性转化规则。以浮点数Float为例,一个浮点数有四个字节以A、B、C、D表示,则ABCD代表正序存储,而DCBA代表完全逆序。

(4)当前版本,数据点采集周期与所属设备采集周期一致,不能单独设定采集周期。

(5)缩放页中,本数据点不使用任何变换,即使用原始采集值。

使用同样的方法,再添加一个数据点,采集湿度,如下图所示:

mqtt转modbus,制造,iot,物联网图 11 Modbus RTU设备湿度数据点添加

2.2.4 Modbus Slave模拟软件的配置和数据采集

为了方便,使用Modbus Slave代替实际设备进行数据采集模拟。

(1)其连接配置如下图:

mqtt转modbus,制造,iot,物联网图 12 Modbus Slave连接配置

选择串口Port8(与采集软件的Port7是一对虚拟串口),其它如波特率参数等的配置与采集软件保持一致。

(2)数据点配置和采集如下图:

                

mqtt转modbus,制造,iot,物联网图 13 Modbus Slave数据配置和采集

由于采集软件配置的地址是300011和300013,故需要在modbus slave地址10和12填充数据。填充完毕后,数据就可以被采集到本地。

2.3 MQTT配置与数据转发

下面讲述如何配置MQTT,将上一节中通过Modbus RTU协议采集的数据转发给MQTT Broker即MQTT服务器。

2.3.1 MQTT服务器配置

如果用户部署了Thingsboard服务器,则可以直接将MQTT服务器地址设置为Thingsboard服务器地址,此时在Thingsboard设备-->最新遥测数据里就可以看到IoT Hub软件上报的数据。本应用实例中,为了简单,MQTT服务器使用本地部署的Mosquitto服务器。需要通过mosquitto.conf配置文件对服务器进行如下配置:

(1)配置用户名密码登录信息。

  • 在mosquitto.conf文件中输入:allow_anonymous false。不允许匿名登录。
  • 在文件中输入:password_file D:\ProgramFiles\Mosquitto\ my_pwd.txt。配置用户名和密码保存文件。
  • 通过命令行配置用户名和密码:.\mosquitto_passwd.exe  -c my_pwd.txt tb_hub。配置用户名为tb_hub,再按照提示输入密码。这些用户名和密码将保存在my_pwd.txt文件中。

(2)配置数组证书,包括CA证书,服务器证书和服务器私钥证书。

  • 在文件中输入:cafile D:\ProgramFiles\Mosquitto\mypem\ca-cert.pem。配置CA证书。
  • 在文件中输入:certfile D:\ProgramFiles\Mosquitto\mypem\server-cert.pem。配置服务器证书。
  • 在文件中输入:keyfile D:\ProgramFiles\Mosquitto\mypem\server-key.pem。配置服务器私钥证书。
  • 在文件中输入:require_certificate true。要求通信必须使用数字证书。

(3)MQTT通用配置。

在文件中输入:

  • listener 1883。
  • protocol mqtt。
  • use_identity_as_username false。

(4)启动服务器:命令行中运行.\mosquitto.exe -c mosquitto.conf命令,将使用mosquitto.conf中的配置启动mosquitto服务器。

2.3.2 IoT Hub转发配置

本系统支持同时给多个MQTT Broker转发数据。如下图所示,点击菜单:转发-->MQTT,打开MQTT配置列表,在列表中可以看到当前所有要转发的MQTT Broker配置信息。可以新建或删除MQTT Broker信息。

mqtt转modbus,制造,iot,物联网图 14 配置MQTT服务器

MQTT的详细配置如下图所示:

(1)连接页中,MQTT服务器地址信息,因部署在本机,故为127.0.0.1。端口为通用的1883。

(2)认证页中,需要配置用户名、密码和客户端证书信息。注意客户端证书要与服务器证书是同一CA颁发,才能被认证通过。

(3)发布页中,发布的Topic为v1/gateway/telemetry。遵从Thingsboard协议。

mqtt转modbus,制造,iot,物联网15 MQTT参数配置

MQTT配置也可以通过配置文件iot_hub.cfg查看或修改,如下图所示:

mqtt转modbus,制造,iot,物联网

图 16 MQTT配置文件

注意:本软件所有配置文件必须是UTF-8编码。

2.3.3 通过mqtt.fx订阅数据点

本演示实例中,通过常用的MQTT客户端mqtt.fx去订阅数据点,其配置如下。

(1)如下图所示,配置MQTT服务器信息,地址为127.0.0.1。

mqtt转modbus,制造,iot,物联网图 17 mqtt.fx配置-1

(2)如下图所示,配置用户名、密码及数字证书信息。与上一节IoT Hub的配置是类似的。

mqtt转modbus,制造,iot,物联网图 18 mqtt.fx配置-2

(3)如下图所示,配置完毕后,连接服务器,从v1/gateway/telemetry订阅数据,就可以接收到JSON格式的数据点如下图所示:

 mqtt转modbus,制造,iot,物联网图 19 数据点订阅显示

IoT Hub采集传感器数据,发布(Publish)到云端MQTT服务器,其它MQTT客户端订阅数据的整体流程图如下所示:

mqtt转modbus,制造,iot,物联网图 20 IoT Hub采集订阅图

2.4 OPC DA数据采集

2.4.1 OPC DA服务器添加

如下图所示,在空白处点击右键或点击工具栏上的图标,都可以新建OPC服务器。OPC服务器可以类比Device中的通道。软件会自动浏览当前PC上存在的OPC服务器,并以列表展示。如果OPC服务器在其它机器上,则需要输入远程机器IP。

mqtt转modbus,制造,iot,物联网图 21 OPC DA服务器添加

2.4.2 OPC DA组添加

如下图所示,选择服务器后,点击右键或工具栏图标,就可以创建OPC组,每个组中的所有数据点采集周期一样。如果需要不同的采集周期,则就需要创建多个组。一般创建一个组,将所有数据加入即可。

mqtt转modbus,制造,iot,物联网图 22 OPC DA组添加

2.4.3 OPC DA数据点添加

如下图所示,选中组,点击右键或工具栏图标即可为改组添加数据点。软件会自动浏览OPC服务器中所有的数据点,用户可以选择要添加的数据点,加入到组中。

 mqtt转modbus,制造,iot,物联网图 23 OPC DA数据点添加

2.4.4 数据采集和订阅

数据点添加成功后,系统将自动从OPC DA服务器读取数据。数据点名称默认就是其ID,用户如果要修改数据点名称(比如以中文命名),可以双击数据点修改其名称。

mqtt转modbus,制造,iot,物联网图 24 OPC DA数据点采集

在mqtt.fx软件中,也可以看到上报的OPC DA数据,如下图所示:

mqtt转modbus,制造,iot,物联网图 25 OPC DA数据点订阅

2.5 OPC UA数据采集

2.5.1 OPC UA服务器添加

如下图所示,在空白处点击右键或点击工具栏图标都可以创建OPC UA服务器。

(1)UA服务器的地址格式为opc.tcp://127.0.0.1:4841,其中127.0.0.1为IP地址,4841为端口。

(2)与MQTT配置类似,也可以进行认证和安全设置,使用用户名、密码、数字证书等加强通信和数据安全。本例中为了简单,使用最简单的匿名登录。

mqtt转modbus,制造,iot,物联网图 26 OPC UA服务器添加

OPC UA服务器可以使用Prosys OPC UA Simulation Server,其配置如下图所示:

mqtt转modbus,制造,iot,物联网图 27 OPC UA模拟服务器配置

2.5.2 OPC UA组添加

与OPC DA类似,UA也可以创建组,每个组中所有数据点采集频率一致。如下图所示,选中服务器,点击右键或工具栏图标,都可以创建组。

mqtt转modbus,制造,iot,物联网图 28 OPC UA组添加

2.5.3 OPC UA数据点添加

(1)数据点浏览与添加

如下图所示,选中组后点击右键菜单或工具栏图标,就可以逐级浏览Object(对象)下的数据点。勾选要添加的数据点,点击添加按钮,即可将这些数据点加入到组中。

mqtt转modbus,制造,iot,物联网图 29 OPC UA数据点添加

(2)数据点名称修改

对加入的数据点,默认以其ID作为名称,如果用户想修改其名称(比如以中文命名),则可以双击数据点,修改其名称。如下图所示:

mqtt转modbus,制造,iot,物联网图 30 OPC UA数据点名称修改

(3)数据点订阅

如下图所示,加入UA后,在mqtt.fx上订阅的数据如下图所示:

mqtt转modbus,制造,iot,物联网图 31 OPC UA数据点订阅

3.  配置文件

3.1 系统配置文件

如下图所示,系统配置文件sys_set.cfg中,可以设置和保存相关系统变量,用户修改保存文件后,重启软件可以生效。例如:

(1)语言,目前系统支持中文(CH)和英文(EN)。

(2)最大数据点数目和每个数据点大小(JSON数据包格式占用的大小),系统默认支持12000个数据点,用户根据实际需求可以进行调整。

mqtt转modbus,制造,iot,物联网

图 32 系统配置文件

3.2 MQTT配置文件

如下图所示,MQTT配置文件iot_hub.cfg中,可以设置和保存MQTT信息,用户修改保存文件后,重启软件可以生效。如下图所示:

mqtt转modbus,制造,iot,物联网

图 33 MQTT配置文件

3.3 数据点配置文件

如下图所示,数据点配置文件iot_hub.cfg中,可以设置和保存所有通道、设备及数据点信息,用户修改保存文件后,重启软件可以生效。如下图所示:

mqtt转modbus,制造,iot,物联网图 34 数据点配置文件

4. 使用联系

        软件提供免费授权文件,启动时,每台PC机绑定唯一的授权文件。授权文件错误时,会弹出如下提示框,请点击“复制密钥”按钮,联系下述微信申请使用授权码。也可提供源码级定制服务。

mqtt转modbus,制造,iot,物联网

图35 授权错误提示

微信号(taibai_tu)二维码:

mqtt转modbus,制造,iot,物联网

图 36 微信联系方式

到了这里,关于Modbus、PLC、OPC数据采集与MQTT云端转发工具(直接对接Thingsboard开源平台)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SCADA】测试用KingIOServer采集杰控OPC DA服务器数据

    Hello,大家好,我是雷工! 现场做数据采集时经常会遇到需要通过OPC采集数据的情况,本篇测试KingIOServer采集北京杰控组态软件的OPCDA服务器数据。 以下为测试记录过程。 KingIOServer可以作为OPC DA客户端采集OPC Server的数据,支持OPC DA 3.0接口,可以连接并枚举其他OPC DA服务器的

    2024年02月09日
    浏览(60)
  • 单片机采集传感器数据(整形,浮点型)modbus上传

    浮点型数据 占两个寄存器(四个字节) short 整形 占一个寄存器 (两个字节) 注意!!!! stm32 是小端模式,而modbus解析数据是大端模式 所以先发送高字节 如int a=16777220,化为十六进制是0x01 00 00 04, 则04属于低字节,01属于高字节 例如float a=125.6     十六进制0x42 fb 33 3

    2024年02月09日
    浏览(17)
  • 新能源项目中PLC数据采集物联网可以实现什么功能

    随着环保意识的不断提升与国家战略的不断调整,新能源已经成为现代能源系统中不可或缺的重要组成部分,为经济和生活带来重大变革。以太阳能、风能、水能为代表的可再生清洁能源,在自动化设备与技术的加持,正在逐步替代传统能源,重塑着市场生态,同时也在积极

    2024年02月21日
    浏览(11)
  • 热压机PLC数据采集远程监控物联网解决方案

                              热压机PLC数据采集远程监控物联网解决方案 热压机是制造行业中重要的设备之一,广泛应用于木材加工、纸制品生产、塑料加工等领域。随着工业自动化技术的发展,热压机的自动化程度也越来越高。然而,热压机的远程监控仍然是制造企业普遍

    2024年01月25日
    浏览(21)
  • 上位机软件wincc通过工业网关采集plc数据实现组态监控

    WinCC是一个组态软件,可以用于数据采集与监控、自动化控制、工业物联网等领域。WinCC可以帮助用户实现工厂自动化和过程自动化的解决方案,提供可视化的监控界面和数据采集分析功能,支持多种协议和设备,如Siemens、Modbus、OPC等。 如何使用WinCC采集PLC数据?工业网关可

    2024年02月15日
    浏览(10)
  • 颠覆传统制造:PLC物联网如何彻底改变工厂设备数据采集的游戏规则?

    颠覆传统制造:PLC物联网如何彻底改变工厂设备数据采集的游戏规则?       随着科技的不断发展,物联网技术正逐渐渗透到各个领域,其中PLC物联网技术在工厂设备数据采集方面发挥着越来越重要的作用。PLC物联网技术通过将PLC(可编程逻辑控制器)与物联网技术相结合,

    2024年03月11日
    浏览(23)
  • 基于MQTT协议的物联网网关实现远程数据采集及监控

    在数字化时代的浪潮中,工业界正面临着前所未有的变革与机遇。而在这场变革中,基于MQTT协议的物联网网关崭露头角,成为连接工业设备、实现远程数据采集与监控的利器。其中,HiWoo Box作为一款出色的工业边缘网关,引领着这股数字化风潮,下面我们一起探寻其在实现远

    2024年02月11日
    浏览(29)
  • 【MQTT】Esp32数据上传采集:最新mqtt插件(支持掉线、真机调试错误等问题)

    这是我在 Dcloud 发布的插件-最完整Mqtt示例代码(解决掉线、真机调试错误等问题),经过整改优化和替换Mqtt的js文件使一些市场上出现的问题得以解决,至于跨端出问题,可能原因有很多,例如, 合法域名或者是wss证书没有配置等等 ,若你们的还是没办法使用,找下自己的

    2024年02月17日
    浏览(14)
  • 基于STM32和oneNET云平台的数据采集系统(MQTT协议)

    该篇为基于stm32+esp8266通过 mqtt 协议连接 onenet 物联网云平台,单片机部分将采集到的数据(温湿度、光照强度、压强等等)上传至云平台服务器,云平台可下发指令操控单片机,实现远程通信。 1. 第一步,注册账号后点击右上角 控制台 2. 第二步,看左上角 选择切换旧版本 3.

    2024年02月06日
    浏览(17)
  • 钡铼技术集IO数据采集可编程逻辑控制PLC无线4G环保物联网关

    背景        数据采集传输对于环保企业进行分析和决策是十分重要的,而实时数据采集更能提升环保生产的执行力度,从而采取到更加及时高效的措施。因此实时数据采集RTU成为环保企业的必备产品之一。 产品介绍 在推进环保行业物联网升级过程中,环保RTU在环保方面发

    2024年02月03日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包