摘要
针对传统农业大棚灌溉方式水资源浪费严重、人工依赖性强等问题,本文设计了一套基于西门子S7-1200 PLC的农业大棚灌溉远程自动控制系统。系统以PLC为核心,集成土壤湿度与温度传感器,实现环境参数实时采集。采用双阈值滞回控制策略,自动控制水泵与电磁阀启停,实现精准灌溉。系统支持自动、手动、远程三种工作模式,并引入配方管理功能,可快速切换不同作物的灌溉参数。通过DTU模块与组态软件构建远程监控平台,用户可通过手机APP或PC端远程查看数据并下发控制指令。系统还具备超限报警与数据存储功能。模拟测试表明,该系统运行稳定、控制可靠,能够有效实现节水灌溉与远程管理目标。
关键词:PLC;智能灌溉;远程监控;农业大棚;配方管理
Abstract
Aiming at the problems of severe water resource waste and high reliance on manual labor existing in the traditional irrigation methods of agricultural greenhouses, this paper designs a remote automatic control system for agricultural greenhouse irrigation based on the Siemens S7-1200 PLC. Taking PLC as the core, the system integrates soil moisture and temperature sensors to realize real-time collection of environmental parameters. Adopting a dual-threshold hysteresis control strategy, it automatically controls the start and stop of water pumps and solenoid valves to achieve precise irrigation. The system supports three operating modes: automatic, manual and remote, and introduces a formula management function to quickly switch irrigation parameters for different crops. A remote monitoring platform is built through the DTU module and configuration software, enabling users to remotely view data and issue control commands via mobile APP or PC terminals. The system also features over-limit alarm and data storage functions. Simulation tests show that the system operates stably with reliable control performance, which can effectively achieve the goals of water-saving irrigation and remote management.
Keywords:PLC; Intelligent Irrigation; Remote Monitoring; Agricultural Greenhouse; Formula Management
目录
摘要
Abstract
1.绪论
1.1 研究背景与意义
1.2 国内外研究现状
1.2.1 国外研究现状
1.2.2 国内研究现状
1.3 主要研究内容
2系统总体方案设计
2.1 系统需求分析
2.2 控制策略与工作模式设计
2.3 系统总体结构
2.4 关键技术与选型论证
3 系统硬件设计
3.1 PLC I/O地址分配与接线图
3.2 传感器信号采集电路设计
3.3 水泵与电磁阀驱动控制电路
3.4 远程通信模块接口设计
4系统软件设计与实现
4.1 PLC程序设计
4.2 触摸屏人机界面设计
4.2.1 主监控界面设计
4.2.2 参数设置与配方选择界面
4.2.3 报警记录与参数设置界面
4.3 远程监控平台设计
5系统模拟与验证
5.1 模拟测试环境搭建
5.2 配方切换与报警功能测试
5.3 远程通信实时性与可靠性测试
5.4 测试结果分析
总结
参考文献
致谢
1.绪论
1.1 研究背景与意义
随着全球水资源短缺的问题越来越严重,农业用水占社会总用水量的比重很高,传统的农业大棚灌溉方式存在“大水漫灌”、凭经验浇水等弊端,造成水资源大量浪费。农业劳动力严重缺乏、劳动力价格不断上涨,使依靠人工巡检、靠经验判断的传统灌溉方式已经不能满足现代农业发展的需要。人工操作存在反应滞后、执行偏差等问题,会使得农作物产量和品质受到影响,并且还会使大棚内的环境调控出现滞后现象,不能满足现代农业精准化、标准化生产的需要。因此,用先进的自动化控制技术加物联网通信手段,建立可以及时感应环境变化并且作出决定的智能灌溉系统,是提高农业大棚生产效率、实现节水增产的趋势。
本文针对农业大棚灌溉存在的问题提出了以西门子S7-1200PLC为基础的农业大棚灌溉远程自动控制系统方案。该方案利用PLC对环境参数进行实时采集和逻辑判断,对灌溉做出准确的决策,代替了人工的经验灌溉,达到节水增产的目的。同时利用DTU模块以及组态软件技术创建远程监控平台,管理人员可以在PC端或者手机APP上随时知道大棚现场数据并且远程干预,大大降低人工劳动强度,提高农业设施现代化管理水平。本文对推动农业由传统粗放型向现代精准型的转变有重要的理论研究和工程应用价值。
1.2 国内外研究现状
1.2.1 国外研究现状
发达国家对于农业自动化以及精准灌溉的开展要晚于发展中国家,技术系统更为完备。美国、以色列、荷兰等农业发达国家温室大棚灌溉控制已经用上物联网、云计算、人工智能等技术。以色列由于水资源严重匮乏,滴灌、微喷灌技术居世界首位,其灌溉控制系统可以依照土壤墒情、气象状况以及作物生长模型作出准确决定,从而达成水肥一体化管理的目的。在美国的大规模农场里广泛使用GPS、遥感等技术来建设变量灌溉系统,利用田间土壤水分传感器网进行实时监测墒情分布,并用中央计算机控制系统来实现分区差异化的灌溉,大大提高水资源利用率。欧洲国家荷兰依靠自身先进的温室产业,构建出环境调控、灌溉操作、营养液循环利用等全部包含在内的智能温室控制系统,从而达成农业生产的高度自动化以及工厂化。
近几年来,国外的研究更加强调将人工智能算法同灌溉决策紧密结合。研究人员用机器学习的方法来对历史灌溉的数据和环境的参数进行训练,从而形成一个作物需要水的预测模型,使得灌溉系统可以具有自学习、自适应的功能。另外,无线传感器网络技术被广泛应用于农业灌溉方面,在低功耗广域网技术发展成熟之后,大面积农田的远程监测变得可行。国外还不断探究农业机器人技术同灌溉系统融合的方式,用移动机器人装设土壤传感器实施动态墒情搜集,从而加强灌溉调控的精细程度。就目前而言,国外农业灌溉技术正向着智能化、网络化、无人化方向飞速发展。
1.2.2 国内研究现状
我国的农业自动化灌溉技术研究起步较晚,但是近些年来发展很快。伴随着国家对于智慧农业的大力支持以及物联网技术的发展,国内的学者以及企业也已经在智能灌溉方面取得了很多成果。目前国内主流的智能灌溉系统大多使用单片机或者PLC作为控制核心,用土壤湿度传感器、温度传感器等对环境参数进行采集,然后根据设定的阈值进行自动灌溉控制。就通信方式而言,由最初的有线通信发展成为现在的ZigBee、WiFi、GPRS、4G等无线通信方式,有效地降低了系统布线的费用,并且提升了系统的灵活性。组态软件的使用也使灌溉系统监控界面更加直观易用,管理者可以在上位机上随时了解大棚环境状况并下达控制命令。
但是目前我国的农业灌溉系统仍然存在一些不足之处。首先很多系统的控制策略比较简单,只用一个土壤湿度阈值来决定,不能对多种环境参数做出综合分析,不能满足作物快速生长的需求。其次,不同的作物、不同的生长阶段对于水分的需求是不一样的,现有的系统缺少了灵活的参数配置以及配方管理的功能,必须人工不断地调整设定值。另外远程监控功能比较基础,缺少数据存储、追溯等能力,不能很好地进行灌溉记录及报警事件的管理工作。本课题就是针对以上问题,设计出一个基于PLC的配方功能,可以实现不同作物的灌溉参数快速切换,建立了完整的远程监控和数据管理系统,为农业灌溉提供智能化、灵活化的解决方案。
1.3 主要研究内容
本课题主要是针对基于PLC的农业大棚灌溉远程自动控制系统进行相关的研究。对系统总体方案进行设计。通过对农业大棚灌溉实际需求的分析来确定系统应该具备的功能指标,即环境参数实时采集、自动、手动和远程三种工作方式、灌溉智能决策、超限报警、数据存储和追溯等。在此基础上,设计以PLC为主的总体实现方案,绘制系统结构总图,确定各个功能模块的分工以及数据流。
对系统的硬件进行设计并建立系统。采用西门子S7-1200系列PLC为主控制器,选择相应的土壤湿度传感器、温度传感器、水泵、电磁阀等外围设备,进行I/O地址分配以及电气接线图的设计。同时选取一个DTU远程通信模块,形成PLC和上位监控平台之间的通讯联系。
进行系统软件的设计和开发。使用TIA Portal编程软件来编写PLC控制程序,实现对数据采集、灌溉逻辑判断、设备驱动、配方管理、模式切换、超限报警等各个功能的实现。用WinCC组态软件来设计触摸屏人机界面,主监控画面、参数设置画面、报警记录画面、手动操作画面等。完成远程监控平台的配置以及数据库的设计,使灌溉记录、报警事件可以追溯
搭建系统模拟测试环境,检验各种工况下系统是否有效、稳定,主要对自动灌溉响应、配方切换、远程通信的实时性以及报警及时性进行测试,为实际工程使用提供技术参考。
2系统总体方案设计
2.1 系统需求分析
农业大棚灌溉远程自动控制系统的首要条件就是对环境进行实时的监测。大棚内土壤湿度和环境温度对作物生长起着关键作用,系统应该可以连续稳定的采集这两种参数来给灌溉决策提供可靠的依据。传感器所获取的数据须要经由某种处理才能排除随机干扰以及测量噪音,从而保证控制逻辑作出正确的判定。同时还要有较好的实时响应能力,环境参数变化到一定数值的时候,可以及时引起执行机构的反应,防止出现由于反应时间较长造成的作物缺水或者过湿状况。
系统还要满足各种控制模式的要求。实际的农业生产当中,在不同的场景下控制方式的要求也不一样。自动模式下,系统按照预先设定好的阈值及配方参数自行开展灌溉决策与执行;手动模式中操作人员可以对水泵以及电磁阀的启停实行直接操控,以此完成设备的调试或者特殊工况下的处理工作;远程模式下,经由PC端或者手机APP进行远程监测现场数据,并下发控制指令,从而达成不受地域限制的管理干预。三种模式要能灵活转换,并且彼此间逻辑相互制约,防止出现控制矛盾的情况。
除此之外还要有配方管理功能、超限报警功能和数据存储与追溯功能。不同的作物对于土壤的湿度要求也不同,在不同的生长阶段中也需要不同的参数来灌溉。系统要具备多组灌溉参数的预置以及快速调用的功能。环境参数超出了安全范围的时候,系统就会发出警报提醒管理者。灌溉记录以及报警事件应当存入数据库,以便之后可以开展查询和统计分析工作,从而给农业生产改进赋予数据支撑。
图2-1 功能结构图
2.2 控制策略与工作模式设计
本系统所用的控制策略是基于阈值的灌溉控制,这是目前农业灌溉领域最成熟、最可靠的一种控制方法。核心思想就是对土壤湿度作出一个合理范围内的上限值与下限值,传感器检测到的实际湿度低于下限阈值的时候,就判断作物处于缺水状态,自动开启水泵及相应区域的电磁阀进行灌溉;当湿度上升到上限阈值时,就判定水分已经足够了,自动关闭灌溉。双阈值控制策略可以很好地避免水泵频繁启动和停止的现象发生,保持土壤湿度处于适宜作物生长的范围之中,既节水又有利于作物的生长。
为满足各种作物、各个生长期不同的需要,系统采用了配方管理的方式。每一种作物或者每一个生长阶段都对应着一组完整的灌溉参数,土壤湿度上限值、土壤湿度下限值、温度补偿系数等等都会出现。用户可以在触摸屏上预先设定多组配方,根据当前的种植情况一键调用。PLC接到配方切换指令之后,会把当前正在运行的灌溉参数更改为选择的配方设定值,灌溉逻辑就会按照新的参数来执行。此设计大大提高了系统灵活适用的程度,可以供不同的作物在同样的设备上进行不同的季节性的种植。
在工作模式的设计上,系统设有自动、手动、远程这三种工作模式,并用触摸屏上的模式选择开关来切换。在自动模式下,系统按照预设的阈值及配方参数自行工作,不需要人为干涉;在手动模式下,操作人员可以通过触摸屏上的软按钮或者现场物理按钮来控制每一个水泵和电磁阀的启动或者停止,方便设备检修和应急操作;在远程模式下,用户通过远程监控平台发送控制指令给PLC,PLC收到指令之后执行相应的操作,远程模式其实是一种对手动模式的物理延伸。三种模式之间存在优先级以及互锁关系,保证某个时刻只有一种模式是工作状态的,从而消除控制信号出现冲突的可能性。
图2-2 工作流程图
2.3 系统总体结构
采用三层架构设计法,自下而上地分为现场设备层、控制层、监控管理层。现场设备层是土壤湿度传感器、温度传感器、水泵、电磁阀等终端设备,完成环境参数采集、控制命令下达等工作。控制层以西门子S7-1200PLC为主控制器,采用模拟量输入模块接收传感器发出的电信号,经过调理处理后转化为具体的物理量数值,再由控制程序进行灌溉控制操作,根据预先设定好的逻辑判断来决定开启或者关闭水泵和电磁阀。监控管理层是由现场的人机交互终端和远程的数据监测控制平台这两大部分组成,前者是现场操作员的人机交互界面,后者是远程数据采集和控制系统。
PLC和现场设备之间通过电缆相连,模拟量信号用屏蔽线传输来减小电磁干扰,开关量信号用普通的控制电缆。PLC和触摸屏TP900用PROFINET以太网协议进行通信,从而达到实时刷新数据以及发送指令的目的。PLC通过RS485接口和DTU模块连接,DTU模块把现场的数据通过4G网络上传到云服务器,组态软件从云服务器上获取数据并显示在监控界面上,用户发出的控制指令也是通过这个反向路径传送到PLC。该种结构把现场控制和远程监控解耦,即使远程通信出现中断,PLC依然能独立完成自动灌溉控制,保证系统的最基本的可靠性。
数据库服务器放在云端或者本地监控计算机中,用来存放灌溉的记录以及报警的事例。每次灌水动作发生时,系统自动把灌水开始、结束时间、灌水量、土壤湿度等有关参数记录下来;每触发一次报警,就记载下报警种类、报警数值、发生时刻及复原时刻。历史数据可以用来进行之后的用水分析、作物生长规律研究、系统优化等,是农业数据化管理的基础。
图2-3 系统架构图
2.4 关键技术与选型论证
本系统的主要控制器使用的是西门子的S7-1200系列PLC。西门子S7-1200是小型到中型自动化系统常用的紧凑型模块化PLC,功能强、设计灵活、通信能力强等特点十分明显。本系列PLC的本体上带有PROFINET以太网接口,可以和触摸屏、其它PLC、上位机等设备进行高效的通信。丰富的扩展模块可以自由增加模拟量输入输出、数字量输入输出、专用通信接口,满足农业大棚灌溉系统多路传感器采集、多路执行器控制的要求。除此之外,S7-1200还具有TIA Portal统一工程平台,编程组态速度快,梯形图、结构化文本等不同的编程语言可以自由选择使用,适合本课题的开发实现。
用西门子TP900精智面板触摸屏来进行人机交互。TP900是西门子精智面板系统中一种大屏幕纯平板显示触感式面板,有较大的视觉冲击感、容易清理。触摸屏和S7-1200 PLC都是西门子的产品系列,二者之间使用PROFINET协议可以实现无缝的数据连接,组态工作可以在TIA Portal平台上统一进行,不需要做额外的驱动配置。TP900集成各种通信接口,可以做数据记录、报警管理等工作,可以满足本系统对监控界面显示参数设置、配方选择、报警显示、历史曲线绘制等要求。
土壤湿度传感器选择的是电容式传感器,相较于电阻式传感器来说测量精度高,不容易受土壤盐分的影响,并且寿命长。温度传感器选择PT100铂电阻或者集成式数字温度传感器,按照实际精度需求来定。执行机构上选用小型潜水泵或者离心泵,电磁阀选为常闭型两位两通电磁阀,其控制电压和PLC输出模块相同。远程通信部分使用工业级4G DTU模块,采用Modbus RTU协议同PLC进行通信,具备透明传输特性,可以顺利把现场数据传送到云端以及执行控制指令的过程。选用国产主流的组态软件,可以和DTU数据对接,有丰富的监控画面开发功能。
3 系统硬件设计
3.1 PLC I/O地址分配与接线图
系统硬件设计的第一步就是完成PLC的I/O地址分配,也就是确定每一个现场设备与PLC输入输出端口的对应关系。合理的I/O分配要兼顾传感器布置情况,执行机构所在区域的便利程度,电气柜布局的可行性,后期扩充的可能性等。本系统PLC的数字量输入端口主要是用来接收手动按钮信号、模式选择开关信号、部分执行机构的反馈信号等。数字量输出端口用来控制水泵接触器的线圈以及电磁阀驱动线圈。模拟量输入端口接土壤湿度传感器和温度传感器所发出的连续电信号。
就具体地址分配而言,在启动、停止、急停这些安全相关信号被设置到输入通道的前面几路位置上,这样可以加快紧急情况出现时对其作出反应的速度。土壤湿度传感器的模拟量输入用连续的模拟量通道来占用,利于程序中采用循环或者批量的方式来获取。水泵、电磁阀输出点在相邻的输出通道上,利于接线排布及故障查找。每一个I/O点都要在电气原理图上标明地址编号、设备名称、信号类型和电缆编号,保证现场接线人员按照图纸进行施工。
图3-1系统总电源与主电路接线原理图
开关电源将交流220V转换成直流24V,给PLC本体、数字量输入输出模块、传感器、继电器线圈等提供工作电源。图中标出了开关电源L、N交流输入端子和V+、V-直流输出端子,PLC电源端子L+、M分别接到开关电源正负极上。端子排部分给出了每一个端子的编号、所连的设备名称和信号种类,利于现场接线人员对照施工。传感器供电回路独立引出,并配以熔断器保护,避免传感器短路引起PLC不能工作。
图3-2 PLC直流供电与端子排接线图
PLC本体的PROFINET接口直接和触摸屏以太网接口连接,使用标准网线,交叉或者直通均可,自动识别。图中给出通信接口引脚的定义以及网线类型,给出了IP地址设置的建议,PLC和触摸屏应该设置在一个网段内才能正常通信。图中还有预留PLC同上位机编程设备之间的连接端口,便于程序下载和在线调试。该种通信方式连接简易,传输速度快,抗干扰性能好。
图3-3 西门子S7-1200 PLC与HMI通信接线图
3.2 传感器信号采集电路设计
传感器输出信号类型有4-20mA电流、0-10V电压、数字信号三种。本系统如果使用电流型传感器,则需要在PLC模拟量输入端并联采样电阻把电流转换成电压,或者采用支持电流输入的模拟量模块。选用电压型传感器时可以直接接入PLC的模拟量通道,但是需要注意输入阻抗匹配和过压保护。
传感器信号线缆要与动力电缆分离开来布置,保持足够的间距,交叉时垂直交叉。模拟量信号线必须用屏蔽双绞线,屏蔽层在PLC端单点接地。如果使用的是PT100热电阻,则需要采用三线制或者四线制的接法来消除由于导线电阻而产生的测量误差。
传感器需要稳定的直流电源供电,应选用具有足够裕量的开关电源模块,电源可以直接从开关电源输出端引出,不能与动力负载共用线路。开关电源的输入端要加上滤波器以及过流保护装置,从而加强供电的安全性及抗电网波动的能力。
模式选择开关SA1为三档位旋钮开关,对应自动、手动、远程三种工作模式,三个档位的输出信号分别接到PLC的三个数字量输入点上。现场按钮盒中设定了系统启动按钮SB1、停止按钮SB2和急停按钮SB3,急停按钮使用常闭触点串联接入,在按下时就直接断开PLC的输入信号。所有的按钮都是用DC24V供电的,它们和PLC的输入端是通过屏蔽电缆相连的。图中给出输入点地址分配,便于程序编写时对照使用。
图3-4 现场控制按钮与模式选择输入接线图
手动模式下每个水泵和电磁阀都配有独立的启动按钮、停止按钮,按钮信号分别接入PLC不同的数字量输入点。在远程模式下,控制指令是由DTU模块用RS485总线传送到PLC的,图中给出了DTU模块与PLC RS485接口的接线方式,即A、B数据线的连接以及屏蔽层的接地处理。启停按钮部分还有指示灯回路,设备运行时指示灯亮起,给操作人员提供状态的反馈。
图3-5 手动/远程控制及启停按钮输入接线图
3.3 水泵与电磁阀驱动控制电路
水泵、电磁阀属于系统的执行部分,驱动控制电路设计的好坏直接决定着系统动作是否可靠、安全。本系统中水泵的功率较大,不能直接用PLC的输出点驱动,需要用中间继电器、接触器等来完成放大控制。PLC数字量输出点先使中间继电器的线圈通电,中间继电器触点闭合,接触器线圈回路得电,接触器主触点通断水泵电机启停。多级驱动方式可以防止PLC输出点受大电流影响,还可以达到电气互锁和过载保护的效果。
电磁阀的功率一般不大,但是如果电磁阀的数量很多,并且同时动作,那么总电流就会超过PLC输出模块所能承受的范围。此时可以使用继电器阵列或者固态继电器来实现功率扩展。每一个电磁阀回路内都要串联一个熔断器或者小型断路器,避免电磁阀线圈短路造成的驱动元件损坏。安装在潮湿环境中的电磁阀的接线盒要具有防水密封性,电缆入口处用防水接头。电磁阀的控制电压使用安全电压,即DC24V,减少触电事故的发生。
水泵驱动电路中必须要有热继电器或者电机保护断路器,起到过载保护和缺相保护的作用。当水泵电机长时间处于过载工作状态的时候,热继电器的双金属片被热效应加热而发生弯曲变形,进而推动辅助触点动作,切断接触器线圈的控制电路,从而使水泵停止工作。PLC要获取热继电器的辅助触点状况,马上检测到水泵出现过载情况时给出报警提示,同时也会把警报信息展示到触摸屏和远方操控平台之上。水泵启动、停止之间还应该加上必要的延时保护,防止出现频繁启停引起的电机过热或者水锤效应对管道造成损坏的情况。
图3-6水泵、风扇、指示灯、继电器输出控制电路图
3.4 远程通信模块接口设计
远程通信模块属于实现系统远程监控功能的重要硬件。本系统采用支持Modbus RTU协议的4G DTU模块,用RS485接口和PLC通信。S7-1200 PLC可以扩展RS485通信模块或使用本体集成的RS485接口,配置为Modbus RTU主站模式。PLC把需要上传的环境参数、设备状态等信息用Modbus协议格式进行封装,然后通过RS485总线将信息发往DTU模块,DTU模块将数据经由4G网络传送到云服务器。相反,用户通过监控平台发出的控制命令被云服务器转发给DTU模块,DTU模块接到指令之后再执行相应的操作。
DTU模块和PLC之间RS485通信的通信参数要正确设置,即波特率、数据位、停止位、校验方式等。两端必须一致才能正常通信。常见的设置有9600波特率、8位数据位、1位停止位、无校验。RS485总线使用差分信号传输,抗共模干扰能力强,适合大棚内存在的电磁干扰环境。当通信距离较大或者节点较多的时候,在总线上端和总线下端终端接入匹配电阻,防止信号反射造成通信异常。
DTU模块要装SIM卡并且配置好服务器的IP地址以及端口号。现场安装DTU天线的时候要保证信号覆盖良好,不能把金属结构阻挡信号。DTU模块的电源取自开关电源,其供电电压范围一般较宽,但是要注意电源纹波不能超过模块所允许的最大值。为了提高远程通信的可靠性,DTU模块应该具有断线自动重连的功能,当网络异常造成连接断开的时候,模块可以自动检测并重新建立连接,减少人工操作。
4系统软件设计与实现
4.1 PLC程序设计
PLC程序的数据采集模块把模拟量输入通道采集到的数字量转化为工程单位的数值。模拟量输入模块所采集到的数据是一个0到27648或者0到32767之间的整数,通过线性变换公式可以转换成温度或者土壤湿度百分比值,变换系数由传感器的量程和输出信号类型来确定。由于农业大棚环境中有水泵启停等干扰源,传感器信号容易出现异常跳变,直接用于灌溉判断会带来误动作,所以程序中加入了滤波处理。限幅滤波就是通过判断当前采样值与上一次有效的有效值之间变化率是否大于设定的变化率来去除脉冲干扰,滑动平均滤波就是将多次的采样值相加后取平均以抑制周期性干扰。对于变化缓慢的土壤湿度信号,用滑动平均滤波为主,限幅滤波为辅的组合方法,在消除噪声的同时又可以保持信号真实的变化趋势。
灌溉逻辑判断为PLC程序的主要部分,即根据当下的环境参数以及设定的阈值来决定是否启动或者停止灌溉。自动模式下,程序周期读取土壤湿度值,和配方中设定的湿度下限进行比较,当土壤湿度低于下限并且系统允许灌溉时,就置位灌溉请求标志,并检查水泵是否过载、急停按钮是否按下等联锁条件,全部满足之后再输出驱动信号。为了防止水泵在阈值附近频繁起停,程序加入了带有延时定时器的滞回控制,当湿度小于下限时开始延时,延时结束时湿度仍然低于下限才开始灌溉,如果延时期间湿度上升则重新启动计时器。灌溉开始以后,程序一直监视湿度改变的走向,如果灌水量超过规定最大单次灌水时长并且湿度没有明显提高的话,就发出灌溉异常警报并强制终止灌溉,防止由于传感器出现故障或者管道堵塞造成水资源浪费。
手动和自动模式的切换是用模式选择开关来完成的。通过程序读取物理旋钮开关或者触摸屏虚拟按钮的状态来确定当前运行模式,物理开关一般为最高优先级。手动模式下,自动逻辑的输出被强制关闭,操作人员可以通过触摸屏按钮或者现场按钮盒分别控制每一个水泵和电磁阀的启停,程序为此设置了手动操作数据块存储各个执行机构的手动指令。远程模式是手动模式的空间延伸,用户使用手机APP或者PC端监控平台向PLC发出控制指令,再由DTU模块将指令传送到PLC上,PLC解析后按照手动模式的逻辑进行执行。三种模式之间设置了互锁逻辑,保证任何时刻只有一路控制信号有效,模式切换时执行机构运行状态不变,防止水压突然变化或者灌溉中断。
4.2 触摸屏人机界面设计
4.2.1 主监控界面设计
触摸屏主监控界面属于用户操作系统的最主要入口,它要达成信息展示的完备性以及操作便捷的目的。本系统的主控画面顶部会显示项目标题“基于PLC的农业大棚灌溉远程自动控制系统”,也可以看到当前的时间。界面中部是实时数据显示区、外部天气显示区、执行器监控区、模式显示区和报警显示区。
实时数据显示区是显示土壤湿度、土壤温度等主要环境参数的现在值。外部天气显示区呈现外部的湿度,外部温度和光照强度,给灌溉决策提供依据。执行器监控区用图形化的按钮来显示水泵接触器、透光接触器、通风风机接触器等设备的控制接口,每一个设备都配有手动打开、远程打开两个按钮,供操作人员根据当前工作模式进行选择。模式显示区会显示出当前系统所处的控制模式,还带有“仿真自动启动”、“仿真自动停止”按钮可以对测试进行模拟操作。界面底部有两个按钮“参数设置”和“报警参数”,可以方便地将用户迅速导向其他的画面。
图4-1 主控画面
主监控界面左侧实时数据显示区中有土壤湿度为40%的显示,并且有目标调节滑动条,用户可以手动输入想要设定的土壤湿度目标值。土壤温度为25℃,有目标调节功能。执行器监控区的水泵接触器、透光接触器、通风风机接触器上都设有机型图标、指示灯、操作按钮等,设备工作时指示灯会亮。实时报警显示区在界面右下方,对当前还没有处理完毕的报警信息进行滚动显示,使操作人员能够第一时间发现异常。模式显示区用高亮来表示当前被激活的模式,仿真控制按钮可以模拟环境下的自动启停测试。
图4-2 实时数据与执行器监控画面
4.2.2 参数设置与配方选择界面
参数设置界面上部为“参数设置”标题,下部分为主要操作区域。配方设置区中用户可以利用“配方名”下拉菜单来挑选预先设定好的作物配方,也可以通过“编号”来选取对应的具体配方序号。系统提示文字“温度、湿度参数,不同的控制调用不同的配方”,说明了配方的主要功能就是根据不同作物或者不同生长阶段来调用不同的灌溉参数。数据记录区用来保存灌溉过程中的历史数据,可以对保存的记录名称进行查询。
采用预设的配方设置功能,用户可事先设定好若干种作物灌溉参数,每一组配方里包含土壤湿度上限、土壤湿度下限、温度补偿系数等控制参数。当作物种类发生变化或者进入到不同的生长时期的时候,只需要在配方名下拉框中选择对应的配方,系统就会自动将该配方的所有参数加载进来,灌溉逻辑就会按照新的参数进行工作。该设计方案大大提高了系统灵活性、适用性,使每次换种作物的时候不需要逐一手动更改很多参数值的麻烦。
图4-3 参数设置与配方选择界面
4.2.3 报警记录与参数设置界面
设置了土壤湿度上限75%、下限20%、土壤温度上限60℃、下限10℃这四个主要的报警参数。当实际采集的土壤湿度或者温度超过上面设定的范围时,系统就触发报警,在主监控界面的报警显示区弹出提示,并且把报警记录存入历史数据库。用户可以根据各个作物的耐受范围来改变这些上、下限值,调整完毕后按确认键即可生效。
参数设置完毕后,系统把新的报警阈值存入PLC的保持性存储区,就算PLC断电也不会丢失。当传感器的值回到正常范围内时,报警会自动解除,系统保存起恢复的时间供以后查阅。合理的报警阈值设置对保证作物健康成长十分重要,太窄的范围会造成频繁误报,太宽的范围又会造成处理异常时机的延误。本界面使用数值输入框的形式,用户可以直接输入数值或者通过增加或者减少按钮来改变数值。
图4-4 报警参数设置界面
4.3 远程监控平台设计
远程监控平台属于实现农业大棚超越地域约束而实行管理的重要环节。本系统采用组态软件进行开发,并且部署于云服务器或者本地监控计算机之上,采用DTU模块同现场的PLC达成数据交换的目的。平台主要的功能有实时显示数据、远程控制指令下达、历史数据的存储和查询、报警通知等。用户通过浏览器或者手机APP访问平台,输入授权账号密码后就可以看到大棚内的温湿度数据以及设备的状态,实现了远程管理。
平台的数据通信采用Modbus TCP协议与DTU对接,DTU将PLC的Modbus RTU数据转换为Modbus TCP格式转发给上位平台。平台按照设定周期不断向PLC发出请求,从PLC中读取传感器数值、设备状态等数据,更新到监控界面。用户点击远程控制按钮的时候,平台给PLC的相应的寄存器写入控制指令,PLC程序检测到寄存器值发生变化之后执行对应的指令。采用数据推送和轮询相结合的方式进行通信,在保证数据及时性的同时也能合理使用网络带宽。
远程监控平台还包括一个数据库系统来保存以前的灌溉记录、报警事件、操作日志。每次开启或关闭一个设备时都会生成一份记录,记录下开始时间、结束时间、灌溉时间、开始和结束时间的土壤含水量等数据。报警事件记录有报警发生时间、恢复时间,报警类型,报警值等。操作日志记录用户登录登出的时间、参数修改的操作、远程控制的操作等信息,有利于以后的追溯以及责任认定。平台具备数据查询以及报表导出的机能,用户可根据需要导出某一时间段的数据实施统计分析,进而给改进灌溉策略赋予数据支撑。
5系统模拟与验证
5.1 模拟测试环境搭建
完成系统的硬件组装、软件编程之后,就要搭建起模拟测试环境来检验系统的各项功能。由于农业大棚的实际环境限制,本课题用模拟的方式对系统进行测试。模拟测试环境主要是PLC控制器、触摸屏、模拟量信号发生器、指示灯模拟执行机构和远程监控平台之间的连接调试。模拟量信号发生器可以产生土壤湿度传感器、温度传感器等传感器所测得的模拟量信号,可以通过改变输入信号的大小来改变模拟量信号的变化,从而模拟不同的工况环境,用以验证PLC程序的逻辑判断是否准确。
执行机构模拟用指示灯阵列表示,每个水泵和电磁阀都对应一个指示灯,PLC发出驱动信号的时候,对应的指示灯亮起,从而直观的反映出执行机构动作的情况。该方式不能完全模仿水泵和电磁阀的实际负载特性,但是可以验证控制逻辑是否正确。DTU模块测试环境里接上测试用的4G网络或者采用WiFi转串口模块替换,同云服务器创建通信链路,检验远程监控功能是否可靠。
按照电气原理图搭建测试环境,所有设备的电源、通信线缆连接好之后,先进行上电前的绝缘检查和短路检查,保证没有问题后,逐级通电。通电后查看PLC及各个模块的电源指示灯工作状态,查看触摸屏能否和PLC建立正常通信,模拟量输入通道的信号能否被PLC正确采集到。基础检查完毕之后,按照测试用例一个一个地对系统进行功能测试。
5.2 配方切换与报警功能测试
配方切换功能的测试主要是检查PLC是否可以按照触摸屏上的配方切换指令正确地将新的灌溉参数加载到运行当中。测试时先在触摸屏上设置两组不同的作物配方,配方A的湿度下限为40%,配方B的湿度下限为60%。将模拟信号发生器输出的土壤湿度信号设在较低的水平上,使配方A开始工作,此时系统应该启动灌溉;再将配方B打开,由于湿度下限提高,系统判断此时湿度仍然小于新下的限,从而保持灌溉。反向切换测试的时候,把湿度设定为50%,激活配方B由于其下限高应该启动灌溉,切换到配方A后湿度高于新下限,系统应该停止灌溉。测试结果说明配方切换功能可以正常工作。
报警功能测试分为超限报警和传感器故障报警两种。将模拟信号发生器输出的温度值逐步增大,当超过设定温度上限的时候,触摸屏上就会弹出报警提示,报警记录界面就会产生一条新的报警记录。把模拟信号发生器发出的一个超出传感器正常量程的信号(例如湿度传感器输出的信号小于正常范围下限)输入到PLC程序中,当程序检测到信号异常时,就会判断出传感器存在断线或者故障,从而触发传感器故障报警,并且会暂时屏蔽自动灌溉功能,避免出现误动作的情况发生。测试时还可以模拟热继电器过载信号输入,检测PLC是否能正确检测出水泵输出被停掉。
配方切换时也要进行保护逻辑的测试。在灌溉过程中改变配方时,系统把切换请求挂起,等本次灌溉结束之后再执行参数更新。测试时在触摸屏上选择另一个配方并点击应用,观察系统反应,正在运行的水泵不应立刻停止,而应该继续完成本次灌溉,灌溉结束后水泵停止,然后配方参数更新。触摸屏需要有切换完成提示。保护逻辑可以防止因为参数突然变化导致系统出现意想不到的状况,从而保证系统的稳定运行。
表5-1 配方切换与报警功能测试结果
测试项目 | 测试操作 | 测试结果 |
配方切换 | 切换配方后湿度下限变化 | 系统正确判断并执行启停 |
温度超限报警 | 模拟温度值超过上限 | 弹出报警提示,生成记录 |
传感器故障报警 | 模拟传感器信号超量程 | 触发故障报警,屏蔽自动灌溉 |
过载报警 | 模拟热继电器过载信号 | 停止水泵输出,显示报警 |
灌溉中切换配方 | 灌溉进行中选择新配方 | 切换挂起,完成本次灌溉后更新 |
5.3 远程通信实时性与可靠性测试
远程通信实时性测试主要是检验从用户发出控制指令到PLC执行指令所花费时间是否处在可以接受的范围之内。测试时用手机APP或者PC端远程监控平台点击水泵启动按钮,用秒表记录从点击时刻到现场指示灯亮起的时间。多次重复测试取平均值,分析网络延迟的分布情况。测试还要考虑各种网络环境下不同的测试设备与4G基站之间所造成的延迟,以及不同时间段的测试结果。对远程监控的应用而言,秒级的延迟是允许的,但是延迟的波动不能太大,稳定的延迟比短且有剧烈波动的延迟更重要。
可靠性测试主要是对通信链路出现异常时系统的行为以及数据的完整性进行检测。测试时模拟出DTU模块的4G信号突然断开的情况,检测PLC在通信断开之后能否自行继续执行自动灌溉控制任务,这是系统设计方面的重要保证。通信恢复之后,查看远程监控平台能不能自动重新创建连接,并把缺少时间段内所有历史数据。还可以对云服务器进行重启或者网络瞬间抖动等仿真操作,检查DTU模块断线重新建立通讯时,系统有无需要人工干预的情况发生。
远程通信安全测试也不能忽略。对远程监控平台的身份认证功能进行简单的测试,测试其在没有授权情况下不能被正确的访问。控制指令传输过程中有没有采用加密措施来防止被恶意截取、篡改。测试过程中发送格式错误的控制指令或者超出合法范围的参数值,观察PLC能否对这些异常指令做出正确的识别与拒绝,保证系统不会出现由于异常指令造成的误动作。通过测试可评价出远程通信平台是否符合实际使用的要求,可靠、安全。
表5-2 远程通信测试结果
测试类别 | 测试项目 | 测试操作 | 测试结果 |
实时性测试 | 指令响应延迟 | 手机APP点击水泵启动,记录到指示灯亮起时延 | 延迟在可接受范围内,波动稳定 |
可靠性测试 | 通信中断恢复 | 模拟DTU模块4G信号中断后恢复 | PLC独立完成自动控制,通信恢复后自动重连 |
可靠性测试 | 断线自动重连 | 模拟云服务器重启或网络抖动 | DTU模块自动重连,无需人工干预 |
安全测试 | 身份认证 | 未经授权访问远程监控平台 | 正确拒绝访问 |
安全测试 | 异常指令过滤 | 发送格式错误或超范围的指令 | PLC正确识别并拒绝执行 |
5.4 测试结果分析
对系统各个功能进行全面测试之后,可以对本设计是否有效、稳定作出评价。基础控制功能即自动灌溉逻辑根据土壤湿度与设定阈值的对比来确定是否开启或者关闭水泵、电磁阀等设备,并且双阈值滞回控制可以减少设备频繁启停带来的抖动问题。手动模式下每一个执行机构的独立控制功能正常,触摸屏按钮反应迅速,操作反馈清楚。三种工作模式之间切换的逻辑正确,互锁机制可以防止控制冲突。
配方管理功能测试结果证明系统可以保存多组灌溉参数,用户可以自由选择、切换。配方改变之后,灌溉逻辑立刻依照新的参数执行,动作准确无误。灌溉时切换配方的保护逻辑也得到验证,系统在本次灌溉结束后才执行参数更新,不会因为运行过程中参数突然变化而受到影响。报警功能测试结果表明,超限报警、传感器故障报警都能够及时发出并显示在触摸屏上,报警记录可以完整地保存下报警发生的及恢复的时间信息,有利于对以后的追溯分析。
从远程通信测试结果可知,采用DTU+组态软件的方式可以实现稳定的远程数据传输和控制指令下发,通信延时在允许范围内,断线重连功能正常。经过对所有的测试结果进行综合,本设计所建立的以PLC为核心的农业大棚灌溉远程自动控制系统功能齐全、运行稳定、操作方便,可以满足农业大棚灌溉自动化的需求,具有很好的工程应用价值。测试出的细小问题会在下一阶段的软件更新中加以改善,整个系统性能符合农业大棚智能灌溉的应用需求。