基于Modbus通讯的雨量计的数据采集方法及系统技术方案

技术编号:27982774 阅读:18 留言:0更新日期:2021-04-06 14:18
本发明专利技术公开了一种基于Modbus通讯的雨量计的数据采集方法及系统,属于计算机通讯技术领域,本发明专利技术要解决的技术问题为如何实现感知设备数据读取与采集,完成雨量、河道流速、水位、水深等一体化的感知检测,采用的技术方案为:该方法是Linux环境下,安装LibModbus驱动库,工控机插入USB转485模块,并将翻斗式雨量计和雷达流量计的Modbus A和ModbusB接口与串口转485模块正确连接,编写的底层应用程序调用接口modbus_connect(),建立起翻斗式雨量计和雷达流量计与工控机的连接,通过对翻斗式雨量计和雷达流量计相应功能码的读写,实现翻斗式雨量计和雷达流量计的控制与参数获取,进而实现通过翻斗式雨量计和雷达流量计进行水文监测。该系统包括设置单元、获取单元一、获取单元二和释放单元。

【技术实现步骤摘要】
基于Modbus通讯的雨量计的数据采集方法及系统
本专利技术涉及计算机通讯
,具体地说是一种基于Modbus通讯的雨量计的数据采集方法及系统。
技术介绍
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成,其系统结构既包括硬件、亦包括软件,它可应用于各种数据采集和过程监控。一直以来,水文监测在防汛抗旱、河湖治理、水工安全等当面发挥了重要作用,但当前水文测站一体化程度比较弱,传统的一体化检测设备只能局限于某类业务场景,数据不统一,容易造成数据壁垒和孤岛现象。故如何实现感知设备数据读取与采集,完成雨量、河道流速、水位、水深等一体化的感知检测是目前亟待解决的问题。
技术实现思路
本专利技术的技术任务是提供一种基于Modbus通讯的雨量计的数据采集方法及系统,来解决如何实现感知设备数据读取与采集,完成雨量、河道流速、水位、水深等一体化的感知检测的问题。本专利技术的技术任务是按以下方式实现的,一种基于Modbus通讯的雨量计的数据采集方法,该方法是Linux环境下,安装LibModbus驱动库,工控机插入USB转485模块,并将翻斗式雨量计和雷达流量计的ModbusA和ModbusB接口与串口转485模块正确连接,编写的底层应用程序调用接口modbus_connect(),建立起翻斗式雨量计和雷达流量计与工控机的连接,通过对翻斗式雨量计和雷达流量计相应功能码的读写,实现翻斗式雨量计和雷达流量计的控制与参数获取,进而实现通过翻斗式雨量计和雷达流量计进行水文监测;其中,水文监测的内容包括参数雨量、水位、流速及水质监测。作为优选,该方法具体如下:Modbus串口参数设置;获取翻斗式雨量计设备信息;获取雷达流量计信息;释放分配资源,进而通过应用程序实现对物联感知设备的数据采集和设备控制。更优地,Modbus串口参数设置具体如下:利用接口modbus_new_rtu初试化Modbus环境指针;利用接口modbus_set_slave设置从站ID,其中,参数1为modbus_new_rtu初始化的环境指针;参数2为厂商提供的翻斗式雨量计设备地址;利用接口modbus_connect,进行工控机与翻斗式雨量计和雷达端建立连接,开启串口通信。更优地,获取翻斗式雨量计设备信息具体如下:通过查看厂商提供翻斗式雨量计用户手册,0x0000H、0x07D0、0x07D1分别为雨量值、设备地址和设备波特率的寄存器地址值;在设备开机阶段,获取翻斗式雨量计设备信息,利用接口modbus_read_registers()分别读取地址为0x0000H、0x07D0、0x07D1寄存器的值,即可获取相应的设备信息;由于读取的雨量值与实际值为10倍关系,因此还需进行除10的倍数处理;若用户要清除当前雨量值,按提示命令进行操作,底层代码调用接口modbus_write_register,往雨量值地址0x0000H写指定的清除命令0x5A,即可实现雨量值数据清除。更优地,获取雷达流量计信息具体如下:利用接口modbus_read_registers()读取雨量数值,并进行倍数处理操作;不同于接口getRainDeviceInfo(),雷达接口放置在主循环中,进行长时间遍历操作。更优地,释放分配资源具体为:利用modbus_new_rtu初试化的Modbus环境指针进行关闭和资源回收,避免造成资源浪费。一种Modbus通讯的雨量计的数据采集系统,该系统包括,设置单元,用于Modbus串口参数设置;获取单元一,用于获取翻斗式雨量计设备信息;获取单元二,用于获取雷达流量计信息;释放单元,用于释放分配资源,进而通过应用程序实现对物联感知设备的数据采集和设备控制。作为优选,所述设置单元包括,配置模块,用于将Modbus-RTU(485)协议的相关参数配置;连接模块,用于将工控机与物联感知设备进行连接;其中,物联网感知设备包括翻斗式雨量计和雷达。更优地,所述配置模块工作过程具体如下:(1)、线路连接:将物联感知设备的ModbusA和ModbusB接口与串口转485模块正确连接(A接A,B接B);(2)、在Linux环境下,下载最新LibModbus库,进入到下载目录,进行解压安装;(3)、运行make和makeinstall,生成include及lib的文件夹,以备主程序调用;生成新的静态库后,需重新配置一下动态引用库,具体如下:使用代编辑工具打开文件ld.so.conf,加入“include/usr/local/lib”;保存退出,并在命令行输入Ldconfig,重新读取缓存,即可正确调用新动态库文件;(4)、针对设备接口条件,创建modbusRTU环境:利用LibModbus标准库函数中的modbus_new_rtu()接口,生成并初始化一个modbus的结构体来在串行线路中使用RTU模式进行通讯;其中,参数1为指定OS处理的串行端口的名称,比如linux系统下为/dev/ttyS0(串口0)或者/dev/ttyUSB0(USB转串口0);参数2为串口波特率,参数3为奇偶校验位,参数4为串口数据位数,参数5为停止位位数;①、若建立成功,modbus_new_rtu()函数将返回指向modbus_t结构的指针;②、若建立失败,则返回错误码;(5)、设置串口模式:由于当前物联感知设备均为485通信协议,所以利用LibModbus标准库函数中的modbus_rtu_set_serial_mode()接口设置串口模式,参数1为串口模式变量;(6)、设置从站ID:每个设备都具有唯一的地址码,所以要控制指定设备,均需设定期望操作设备的ID,利用modbus_set_slave()接口即可实现从站ID设置,参数1为返回的modbus_t结构指针,参数2为从站ID值;具体如下:每个设备都具有唯一的地址码,所以要控制指定设备,均需设定期望操作设备的ID,利用modbus_set_slave()接口即可实现从站ID设置;参数1为返回的modbus_t结构指针;参数2为从站ID值。本专利技术的雨量计和雷达流量计设备可以在同一个线路进行连接,前提是要通过modbus_set_slave()接口定义哪一个设备被连接上的(雨量计地址为0,雷达流量计为1,需保证设备具有不同的设备地址码),当程序正常运行后,只需通过接口modbus_set_slave(),交替使能设备即可循环获得设备数据。更优地,所述连接模块的工作过程具体如下:(1)、建立连接:完成串口参数、Modbus设备指针及Modbus设备从地址设置,利用接口modbus_connect()建立连接,参数1为返回的modbus_t结构指针,成功返回0,错误返回错误码-1;(2)、读取保持寄存器本文档来自技高网...

【技术保护点】
1.一种基于Modbus通讯的雨量计的数据采集方法,其特征在于,该方法是Linux环境下,安装LibModbus驱动库,工控机插入USB转485模块,并将翻斗式雨量计和雷达流量计的Modbus A和ModbusB接口与串口转485模块正确连接,编写的底层应用程序调用接口modbus_connect(),建立起翻斗式雨量计和雷达流量计与工控机的连接,通过对翻斗式雨量计和雷达流量计相应功能码的读写,实现翻斗式雨量计和雷达流量计的控制与参数获取,进而实现通过翻斗式雨量计和雷达流量计进行水文监测;其中,水文监测的内容包括参数雨量、水位、流速及水质监测。/n

【技术特征摘要】
1.一种基于Modbus通讯的雨量计的数据采集方法,其特征在于,该方法是Linux环境下,安装LibModbus驱动库,工控机插入USB转485模块,并将翻斗式雨量计和雷达流量计的ModbusA和ModbusB接口与串口转485模块正确连接,编写的底层应用程序调用接口modbus_connect(),建立起翻斗式雨量计和雷达流量计与工控机的连接,通过对翻斗式雨量计和雷达流量计相应功能码的读写,实现翻斗式雨量计和雷达流量计的控制与参数获取,进而实现通过翻斗式雨量计和雷达流量计进行水文监测;其中,水文监测的内容包括参数雨量、水位、流速及水质监测。


2.根据权利要求1所述的基于Modbus通讯的雨量计的数据采集方法,其特征在于,该方法具体如下:
Modbus串口参数设置;
获取翻斗式雨量计设备信息;
获取雷达流量计信息;
释放分配资源,进而通过应用程序实现对物联感知设备的数据采集和设备控制。


3.根据权利要求2所述的基于Modbus通讯的雨量计的数据采集方法,其特征在于,Modbus串口参数设置具体如下:
利用接口modbus_new_rtu初试化Modbus环境指针;
利用接口modbus_set_slave设置从站ID,其中,参数1为modbus_new_rtu初始化的环境指针;参数2为厂商提供的翻斗式雨量计设备地址;
利用接口modbus_connect,进行工控机与翻斗式雨量计和雷达端建立连接,开启串口通信。


4.根据权利要求2所述的基于Modbus通讯的雨量计的数据采集方法,其特征在于,获取翻斗式雨量计设备信息具体如下:
通过查看厂商提供翻斗式雨量计用户手册,0x0000H、0x07D0、0x07D1分别为雨量值、设备地址和设备波特率的寄存器地址值;
在设备开机阶段,获取翻斗式雨量计设备信息,利用接口modbus_read_registers()分别读取地址为0x0000H、0x07D0、0x07D1寄存器的值,即可获取相应的设备信息;
进行除10的倍数处理;
若用户要清除当前雨量值,按提示命令进行操作,底层代码调用接口modbus_write_register,往雨量值地址0x0000H写指定的清除命令0x5A,即可实现雨量值数据清除。


5.根据权利要求2所述的基于Modbus通讯的雨量计的数据采集方法,其特征在于,获取雷达流量计信息具体如下:
利用接口modbus_read_registers()读取雨量数值,并进行倍数处理操作;
不同于接口getRainDeviceInfo(),雷达接口放置在主循环中,进行长时间遍历操作。


6.根据权利要求2-5中任一所述的基于Modbus通讯的雨量计的数据采集方法,其特征在于,释放分配资源具体为:利用modbus_new_rtu初试化的Modbus环境指针进行关闭和资源回收,避免造成资源浪费。


7.一种Modbus通讯的雨量计的数据采集系统,其特征在于,该系统包括,
设置单元,用于Modbus串口参数设置;
获取单元一,用于获取翻斗式雨量计设备信息;
获取单元二,用于获取雷达流量计信息;
释放单元,用于释放分配资源,进而通过应用程序实现对物联感知设备的数据采集和设备控制。


8.根据权利要求7所...

【专利技术属性】
技术研发人员:田洪刚
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东;37

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

1