基于多线程的灌区灌溉自动化监控系统设计

2022-02-14 09:55:04
水利科学与寒区工程 2022年1期
关键词:灌溉远程水位

佟 强

(沈阳市辽中区农业技术推广与行政执法中心,辽宁 沈阳 110200)

目前,国内外对于灌溉监控系统,已经研究出基于太阳能的监控系统、无线遥控监控系统、总线控制监控系统等几种[1]。钱彬等[2]将光电子信息处理技术与灌溉监控系统相结合,以光伏电池为能源,采用Huffman算法传输数据,设计系统执行、能源、数据采集、操作界面、控制中心等模块,监控灌区灌溉。骆东松等[3]在监控系统中,设计了气象、温湿度、土壤等因素采集板块,以及远程控制操作界面,远程监控灌区灌溉。李雪纯等[4]设计了丰富的监控管理界面,加强了用户身份审核功能,监控灌区灌溉,避免作物补水产生的水浪费。赖俊桂等[5]采用多传感器网络,调整了系统的控制单元,监控灌区灌溉。张鑫等[6]选择STM32监控土壤情况,控制上位机灌溉。徐聪等[7]将PLC和总线网络相结合,设计系统通信单元,增强数据采集和信息传输的联系性。在上述研究的基础上,此次研究引入多线程,增强系统通信能力,设计基于多线程的灌区灌溉自动化监控系统。

1 灌区灌溉自动化监控系统硬件结构设计

此次设计系统硬件结构,将在前人研究确定的硬件设备基础上,考虑可拓展、安全经济、可靠实用、先进等原则[8]。结合系统主要应用功能,将系统分为监控、通信、终端等部分,设计系统硬件结构,如图1所示。

图1 系统硬件结构

从图1中可以看出,雨量—水位检测仪、移动站点、水质检测仪、摄像机等设备为监控系统的监控设备,观察灌区水位情况,判断是否需要灌溉,避免出现过量灌溉现象,当雨量-水位检测仪、水质检测仪、摄像机等设备检测到的数据不清晰时,移动站点会重新检测灌区水位情况,以保证数据的精确度。

视频服务器与摄像机相结合,实现视频数字化,从而在监控中心,实时监控灌区情况,也可以通过视频服务器,判断摄像机参数是否需要调整,保证监控视频数据的清晰度。

监控中心为系统的核心,采用网络连接控制中心的安全设备、交换机、存储设备、太阳能电源、网络路由、终端管控设备、服务器、监控播放器等,控制系统的运行。

系统采用无线传输的方式,采用网桥、天线、中继器等设备连接系统的各个组成部分,并设置了避雷设备,保障系统在雷雨天气正常运行。

此外,考虑系统监控灌区所处地理位置,选择太阳能光伏组件,作为系统太阳能能源,驱动系统长时间地运行。

2 基于多线程的灌区灌溉自动化监控系统软件设计

此次设计灌区灌溉自动化监控系统,将在此次设计的系统硬件结构基础上,确定系统主要监控功能,规范系统运行流程,设计系统通信方式和系统功能模块交互方式,使系统具有自动化监控灌区灌溉功能。

2.1 确定系统功能

此次设计灌区灌溉自动化监控系统,将在系统中设计系统控制、视频压缩编码、视频图像显示、存储、网络通信、警报控制、视频采集、系统管理等七个模块,作为系统运行主要功能模型。

系统的主要控制程序为系统控制模块,管理系统所有功能模块,可以调整系统所有参数,具有绝对的控制权。

视频采集模块采集到的灌区数据,要想上传至控制中心,需要使用视频压缩编码模块压缩数据,增加数据传输速度。传输数据时,需要先解码,解码后才能查看监控视频,其编解码过程如下:

(1)编码:读取视频采集模块源文件;在文件中输入编码属性;针对文件进行编码;整理文件码流;释放系统内存,完成文件编码[9]。

(2)解码:读取编码后的源文件;显示每一码每一帧的图像;显示解码系列;对文件进行解码,并显示解码结果[10]。

处理后的视频,将在图像显示模块展现,在新建的媒体播放对象中,形成数据流缓冲区,读取视频数据。此时,初始化显示模块,重新分配系统空间内存,显示视频数据。

在数据存储模块中,设计存储内容覆盖功能,让系统根据磁盘空间内存情况,覆盖最早时间的数据,完成新数据的存储。

网络通信模块控制系统所有模块的连接,包括报警通信、视频传输、用户登录通信等。

警报控制模块会根据时间具体情况,发出不同声响的警报声,迅速启动程序,并将警报信号传递至控制中心。

系统管理模块主要负责用户登录、权限控制、事件记录、突发情况报警等系统基础事件处理。

2.2 规范系统运行流程

从此次设计的系统硬件结构和系统功能可以看出,系统的控制中心为系统的主机,系统的各种远程终端,为系统的从机,然而,从远程终端看,系统需要根据终端采集到的灌区信息,做出相应的执行命令。此时,远程终端为系统的主机,控制中心为系统的从机。此次设计的灌区灌溉自动化监控系统运行流程,如图2所示。

图2 系统运行流程

从图2中可以看出,系统的运行流程可以归属于一个圆形结构,由控制中心操控远程终端,采集灌区信息,传递给控制中心,控制中心根据信息具体情况,对灌区灌溉装备进行操控。

2.3 基于多线程设计通信方式

基于此次设计的网络传输方式,设计的通信协议,分为控制中心接收数据、远程终端采集灌区数据开关量、远程终端采集灌区数据三种通信协议,如图3所示。

图3中,S表示长度为6bit的同步字符;A表示在0~28之间的远程终端地址码;G表示10字符的远程终端模拟量;C表示控制中心接收数据校验冗余码字节;数据开关量为8位,1字节;0~4位远程终端开关;5~7位暂未使用,归零;A2和M2暂未使用,归零;M1表示命令控制开关[11-12]。

控制中心接收数据SAGC远程终端采集灌区数据开关量01234567远程终端采集灌区数据SA1A2M1M2C

基于图3所示的通信协议,在C++环境下,编写DT、GT和辅助三种通信协议线程,DT线程用于发送接收数据;GT线程用于传递监控中心命令;辅助线程用于监视系统串口通信状态。

2.4 系统主要模块交互方式

此次研究确定的系统主要模块,集中在Web服务器中,其在服务器中的交互过程如图4所示。

图4 系统主要功能交互关系

从图4中可以看出,灌区灌溉管理人员,通过监控中心的操作界面,根据系统监控设备,远程操作灌区灌溉设备。此外,在操作的过程中,系统还具有历史查询功能,访问系统历史操作数据库,查询该灌区以往情况。查询当前信息功能,可以立即反馈该时间段,系统监控设备采集到的灌区数据。监控中心按照此次研究设计的通信协议,控制着系统数据采集设备。

综合上述所有章节内容,将系统的通信协议、运行流程和交互方式等按照图1所示的系统硬件结构布置,系统即具有自动化监控灌区灌溉功能。至此,完成灌区灌溉自动化监控系统设计。

3 系统测试

选择两组传统灌区灌溉监控系统,采用对比测试的方式,以某区域的灌区灌溉田为实验对象,验证此次设计的灌区灌溉自动化监控系统。比较三组监控系统通信稳定性。

3.1 试验准备

为避免此次试验选择的三组系统软硬件存在故障,影响系统测试结果,针对三组系统中的各种硬件电路,在PCB板上进行测试;针对系统软件,搭建如图5所示的系统软件运行环境,检测系统软件。系统软硬件测试过程如下:

图5 系统软件运行环境

(1)采用PCB电路板,查看系统电路是否存在线路故障、短路、焊接不严、断路、负载、接触不良等问题。(2)检测三组系统硬件设备是否齐全,检测设备是否处于正常工作状态。(3)当系统硬件不存在问题时,在图5所示的系统软件运行环境中,嵌入操作系统和系统通信协议。(4)单独测试系统中所有驱动程序,重点检测灌区灌溉数据采集设备和通信模块的驱动程序。(5)使用控制设备,分别控制系统程序,查看控制程序运行是否正常。(6)当确定系统的驱动程序和控制程序处于正常运行状态时,将系统全部程序下载至系统相应的芯片中。(7)检测系统中的各个灌区灌溉信息采集设备与系统控制中心是否处于正常通信状态,查看系统控制中心是否可以显示灌区灌溉数据。

基于此次试验,设计的三组系统软硬件检测过程,确定此次测试的三组系统,不存在软硬件故障问题,均处于正常运行状态,可以进行系统测试。

此次系统采集灌区灌溉信息过程如下:依据此次试验选择的三组测试系统,在系统灌区灌溉数据采集程序中,设定为每隔一小时三十分钟采集一次灌区灌溉数据。系统采集灌区灌溉数据时间持续十五分钟。此次试验设置的数据采集时间包括系统本身启动的时间。每次采集完灌区灌溉数据后,系统会自动进入休眠期,降低系统能源损耗。此次试验,采集数据时间为期1 d。

根据上述设置的灌区灌溉信息采集过程所采集到的信息,将水位、pH值、温度等信息传输至系统控制中心,检测系统在传输数据过程中,是否存在掉线问题,上传至监控中心的数据是否存在丢失和重复问题。

3.2 试验结果

3.2.1 第一组试验结果

基于此次试验设计的数据采集过程,将三组系统采集到的水位数据上传,监控中心所收到的水位数据,如表1所示。

表1 灌区灌溉水位数据传输结果 cm

从表1中可以看出,传统系统1传输灌区灌溉水位数据,控制中心接收到的数据存在重复问题;传统系统2传输灌区灌溉水位数据,控制中心接收到的数据存在数据丢失问题;而设计系统传输灌区灌溉水位数据,控制中心接收到的数据在合理范围内,数据完整,不存在重复丢失问题。可见,设计系统具有较优的通信稳定性。

3.2.2 第二组试验结果

依据第一组试验结果,监控中心所收到的灌区灌溉pH值数据,如表2所示。

表2 灌区灌溉pH值数据传输结果

从表2中可以看出,两组传统系统在通信的过程中出现掉线现象,导致控制中心接收到的数据丢失;而设计系统传输灌区灌溉水位数据,控制中心接收到的数据在合理范围内,数据完整。可见,设计系统具有较优的通信稳定性。

3.2.3 第三组试验结果

在前两组试验的基础上,监控中心所收到的灌区灌溉温度数据,如表3所示。

从表3中可以看出,两组传统系统在通信的过程中掉线,导致控制中心接收到的数据丢失,数据不符合变化规律,通信稳定性较差;而设计系统传输灌区灌溉水位数据,控制中心接收到的数据在合理范围内,不存在重复丢失问题。可见,设计系统具有较优的通信稳定性。

表3 灌区灌溉温度数据传输结果 ℃

4 结 论

在此次设计中,提出了基于多线程的灌区灌溉自动化监控系统,主要用于监控灌区灌溉情况,如灌区水位、降雨量、水质等灌区灌溉必须环境要素,从而让系统用户可以根据灌区情况,控制灌区灌溉设备,灌溉灌区农作物。因此,监控系统需要较优的通信功能,为此引入多线程技术,设计三种线程,保障系统通信稳定性。经试验验证,此次设计的监控系统,在通信的过程中,不会出现通信掉线,数据丢失、重复、不符合规律等问题,具有较优的通信稳定性。

猜你喜欢
灌溉远程水位
让人胆寒的“远程杀手”:弹道导弹
军事文摘(2022年20期)2023-01-10 07:18:38
远程工作狂综合征
英语文摘(2021年11期)2021-12-31 03:25:18
苍松温室 苍松灌溉
云南农业(2021年10期)2021-10-22 01:13:10
苍松温室 苍松灌溉
云南农业(2021年9期)2021-09-24 11:57:06
苍松温室 苍松灌溉
云南农业(2021年8期)2021-09-06 11:36:44
苍松温室 苍松灌溉
云南农业(2021年3期)2021-04-24 02:30:54
远程诈骗
学生天地(2018年19期)2018-09-07 07:06:30
基于MFAC-PID的核电站蒸汽发生器水位控制
基于PLC的水位控制系统的设计与研究
河南科技(2014年4期)2014-02-27 14:07:11
一次神奇的远程渗透破袭战
军事历史(1986年4期)1986-08-21 06:22:34