一种利用Modbus工业总线现场协议进行数据采集的方法技术

技术编号:37128351 阅读:11 留言:0更新日期:2023-04-06 21:27
本发明专利技术公开了一种Modbus工业总线现场协议进行数据采集的方法,本发明专利技术采用Modbus作为数据采集的协议,MQTT作为配置文件下发和数据存储方案,InfluxDB作为时序数据库进行存储,用Java语言进行代码编写,JSON协议作为配置文件和API交互的格式。本发明专利技术节约决了传统的数据采集系统使用C语言和一些单片机产品组合开发存在的开发效率低下,产品价格昂贵,维护难度高花费大等缺点,实现了数据采集、数据存储、数据可视化的功能,满足了工业物联网环境下企业对数据采集和智能化生产的需求,实现了在云端对边缘设备进行数据采集的功能,工业数据的采集可以不依赖于具体的硬件网关,减少了企业智能化改造的成本,同时数据可视化的呈现为企业进行生产优化和决策提供了依据。业进行生产优化和决策提供了依据。业进行生产优化和决策提供了依据。

【技术实现步骤摘要】
一种利用Modbus工业总线现场协议进行数据采集的方法


[0001]本专利技术涉及数据采集领域,尤其涉及一种利用Modbus工业总线现场协议进行数据采集的方法。

技术介绍

[0002]随着工业物联网的发展,工业信息出现爆炸式增长,生产过程中产生的数据量级不断提升,而且设备之间的信息传输受限于不同的物理链路、不同的协议,大多数数据不能直接互联互通。同时,工业物联网中产生的数据基本上都是时间序列类型,常用的SQL数据库很难适应这种存储特点。如何高效处理、分析、记录这些数据,提炼出对工业生产有指导性建议的结果,是工业物联网的核心所在,也是难点所在。

技术实现思路

[0003]本专利技术为解决上述技术问题,提供了一种利用Modbus工业总线现场协议进行数据采集的方法。
[0004]本专利技术的一种利用Modbus工业总线现场协议进行数据采集的方法,采用Modbus作为数据采集的协议,MQTT作为配置文件下发和数据存储方案,InfluxDB作为时序数据库进行存储,用Java语言进行代码编写,JSON协议作为配置文件和API交互的格式;
[0005]所述利用Modbus工业总线现场协议进行数据采集的方法的包含如下部分:主函数模块、采集驱动模块以及存储驱动模块;
[0006]主函数模块为本专利技术的利用Modbus工业总线现场协议进行数据采集的方法的入口,程序执行的动作有:加载配置文件、加载存储驱动、加载采集驱动、开始采集任务、注册系统监听事件以及阻塞主函数等待;
[0007]主函数模块执行的流程为:首先从JSON协议文件中读取并加载配置文件,然后将存储模块的配置文件交给存储驱动模块去加载,将采集模块的配置交给采集驱动模块去加载;待加载完成后,循环遍历驱动字典,为每个采集驱动实例开辟线程,并开始采集任务,去采集生产过程中产生的数据;接着,主函数模块注册系统监听事件,当停止主函数模块时,主函数模块会循环遍历驱动字典并停止每个驱动实例;此外,主函数模块还在主线程中一直循环等待阻塞,使得其他采集线程能一直执行;
[0008]采集驱动模块是所述利用Modbus工业总线现场协议进行数据采集的方法的核心,该采集驱动模块主要执行的动作有:解析存储配置、生成采集驱动、调度采集程序、开始和停止采集任务、校验数据类型、转换数据格式以及监听网络端口;
[0009]采集驱动模块执行的流程是:首先解析配置文件,判断每个采集驱动的采集协议,根据不同协议生成对应的采集驱动,然后开始采集;
[0010]存储驱动模块是所述利用Modbus工业总线现场协议进行数据采集的方法的结尾部分,也是本专利技术向上传输的通道;当每个采集驱动采集到数据并转换完成后,都会调用存储驱动模块,对数据进行写入;
[0011]存储驱动模块的执行流程是:获取到采集驱动采集到数据后,存储驱动模块根据对应的存储驱动启用与否,调用对应的存储函数进行写入,具体为:写入数据库,利用InfluxDB数据库作为时序数据库进行存储,或者是发送到MQTT的Topic里面去。
[0012]进一步地,在本专利技术的利用Modbus工业总线现场协议进行数据采集的方法中,在采集驱动模块执行的流程中,解析配置文件后,先判断采集驱动的协议类型,若为TCP协议,则生成TCP采集驱动以开始采集,若为RTU协议,则生成RTU采集驱动以开始采集,若为RAW协议,则生成RAW采集驱动以开始采集,集时利用Modbus工业总线现场协议进行数据采集,在不同的采集实例发送的数据格式和字段名不一样时,接收端需根据提前配置好的函数参数进行对应读取。
[0013]进一步地,在本专利技术的利用Modbus工业总线现场协议进行数据采集的方法中,在采集驱动模块执行的流程中,采集时启动监听网络程序,连接上客户端,监听网络是一个程序,用于接收现场客户端的连接请求,顺序是先启动网络监听程序,等待客户端连接,然后校验合法性,校验通过后客户端即可与服务端建立连接发送数据,此时这些数据都是原始点位数据,采集驱动模块根据需求进行数据转换。
[0014]进一步地,在本专利技术的利用Modbus工业总线现场协议进行数据采集的方法中,所述校验合法性包括票据校验、禁止未知以及非法的客户端进行连接中的一种或者多种。
[0015]进一步地,在本专利技术的利用Modbus工业总线现场协议进行数据采集的方法中,存储驱动模块的执行流程中,若是发送到MQTT的Topic里面,则在数据发送后,如果失败则打印相应的日志,如果成功,返回并进行下一次数据的发送。
[0016]进一步地,在本专利技术的利用Modbus工业总线现场协议进行数据采集的方法中,所述利用Modbus工业总线现场协议进行数据采集的方法还包括可视化展示模块;
[0017]可视化展示模块是所述利用Modbus工业总线现场协议进行数据采集的方法的整体部署成功后,进行数据采集结果测试、数据存储测试,以及数据可视化测试,可视化展示模块先看采集程序是否采集到了数据,接着检查是否成功发送到了InfluxDB数据库,最后检查Grafana数据可视化。
[0018]实施本专利技术的基于车身板材焊接质量检测的方法具有如下技术效果:
[0019]本专利技术利用Modbus工业总线现场协议进行数据采集的方法,解决了传统的数据采集系统使用C语言和一些单片机产品组合开发存在的开发效率低下,产品价格昂贵,维护难度高花费大等缺点,实现了数据采集、数据存储、数据可视化的功能,满足了工业物联网环境下企业对数据采集和智能化生产的需求,借助这种方法,实现了在云端对边缘设备进行数据采集的功能,工业数据的采集可以不依赖于具体的硬件网关,减少了企业智能化改造的成本,同时数据可视化的呈现为企业进行生产优化和决策提供了依据,助力企业智能化的发展。
附图说明
[0020]下面将结合附图及实施例对本专利技术作进一步说明,附图中:
[0021]图1是本专利技术的主函数模块执行的流程图;
[0022]图2是本专利技术的采集驱动模块执行的流程图;
[0023]图3是本专利技术的存储驱动模块的执行流程图;
[0024]图4是本专利技术的可视化展示模块的可视化实例图。
具体实施方式
[0025]为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。
[0026]本专利技术采用Modbus作为数据采集的协议,MQTT作为配置文件下发和数据存储方案,InfluxDB作为时序数据库进行存储,用Java语言进行代码编写,JSON协议作为配置文件和API交互的格式。本专利技术整体框架可包含如下部分:主函数模块、采集驱动模块、存储驱动模块以及可视化展示模块。
[0027](一)主函数模块
[0028]主函数模块为本专利技术的利用Modbus工业总线现场协议进行数据采集的方法的入口,程序主要执行的动作有:加载配置文件、加载存储驱动、加载采集驱动、开始采集任务、注册系统监听事件以及阻塞主函数等待等。
[0029]参考图1,主函数模块执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用Modbus工业总线现场协议进行数据采集的方法,其特征在于,采用Modbus作为数据采集的协议,MQTT作为配置文件下发和数据存储方案,InfluxDB作为时序数据库进行存储,用Java语言进行代码编写,JSON协议作为配置文件和API交互的格式;所述利用Modbus工业总线现场协议进行数据采集的方法的包含如下部分:主函数模块、采集驱动模块以及存储驱动模块;主函数模块为本发明的利用Modbus工业总线现场协议进行数据采集的方法的入口,程序执行的动作有:加载配置文件、加载存储驱动、加载采集驱动、开始采集任务、注册系统监听事件以及阻塞主函数等待;主函数模块执行的流程为:首先从JSON协议文件中读取并加载配置文件,然后将存储模块的配置文件交给存储驱动模块去加载,将采集模块的配置交给采集驱动模块去加载;待加载完成后,循环遍历驱动字典,为每个采集驱动实例开辟线程,并开始采集任务,去采集生产过程中产生的数据;接着,主函数模块注册系统监听事件,当停止主函数模块时,主函数模块会循环遍历驱动字典并停止每个驱动实例;此外,主函数模块还在主线程中一直循环等待阻塞,使得其他采集线程能一直执行;采集驱动模块是所述利用Modbus工业总线现场协议进行数据采集的方法的核心,该采集驱动模块主要执行的动作有:解析存储配置、生成采集驱动、调度采集程序、开始和停止采集任务、校验数据类型、转换数据格式以及监听网络端口;采集驱动模块执行的流程是:首先解析配置文件,判断每个采集驱动的采集协议,根据不同协议生成对应的采集驱动,然后开始采集;存储驱动模块是所述利用Modbus工业总线现场协议进行数据采集的方法的结尾部分,也是本发明向上传输的通道;当每个采集驱动采集到数据并转换完成后,都会调用存储驱动模块,对数据进行写入;存储驱动模块的执行流程是:获取到采集驱动采集到数据后,存储驱动模块根据对应的存储驱动启用与否,调用对应的存储函数进行写入,具体为:写入数据库,利用InfluxDB数据库作为时序数据库进行存储,或者是...

【专利技术属性】
技术研发人员:章书乐张航徐军李军詹开洪何宁波李彬彭涛张彦
申请(专利权)人:大唐融合通信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1