1. 温室环境控制需求分析

在编写任何一行PLC程序之前,最重要的工作不是打开编程软件,而是把“温室到底要控制什么、由谁来执行、依据什么信号判断”这件事梳理清楚。需求分析的质量直接决定了后续I/O分配、控制逻辑和报警策略是否合理。本节以一座典型的玻璃连栋温室(面积约1000 m²,种植番茄)为对象,完整走一遍需求分析过程,并给出可直接用于后续编程的成果清单。

一、先明确温室类型与作物需求

温室类型决定了环境可控的边界。日光温室保温好但通风能力弱,连栋玻璃温室可控性强但能耗高,塑料大棚则基本只能做有限调节。控制策略必须与温室硬件能力匹配,否则会出现“程序要求降温但执行机构做不到”的尴尬。本例为连栋玻璃温室,配备外遮阳、内保温、天窗侧窗、湿帘风机和CO₂施肥系统,属于可控性较高的类型。

作物需求则决定了控制目标的数值。以番茄为例,其不同生育期对温度的要求差异明显:苗期适宜昼温22~25℃、夜温15~18℃;开花坐果期昼温可提高到24~28℃,夜温不宜低于15℃,否则影响花芽分化;果实膨大期则要求昼夜温差适中,夜温过高会导致呼吸消耗加剧。湿度方面,番茄适宜空气相对湿度为60%~80%,长期高于85%易诱发灰霉病和叶霉病,低于50%则影响蒸腾与授粉。光照强度直接影响光合速率,番茄光饱和点约70000 lx,温室补光阈值一般设在20000~30000 lx。CO₂浓度在密闭条件下会因光合消耗降至200 ppm以下,而番茄适宜浓度为800~1000 ppm,低于350 ppm时补充才有意义。

这些参数不是拍脑袋定的,而是来自品种资料、当地气候条件和栽培制度。实际项目中应形成一份作物环境参数表,明确每个参数的“目标值、允许偏差、上下限报警值”,作为程序设定值的来源。

二、把需求翻译成控制目标

需求分析的关键一步,是把“作物需要什么”翻译成“控制器要维持什么”。这一步要区分三类量:被控量(温度、湿度、光照、CO₂浓度)、扰动量(室外气温、太阳辐射、风速、降雨)和执行量(加热、通风、遮阳、湿帘、补光、CO₂阀)。控制目标应写成可判断的形式,例如“室内温度维持在22~26℃,超过28℃启动通风降温,低于20℃启动加热”,而不是“保持温度适宜”。

同时要明确控制优先级和冲突处理。典型冲突是:夏季高温需要通风降温,但室外湿度高时通风会带入湿气;冬季加温会降低相对湿度,可能触发加湿需求。这些冲突必须在需求阶段就定义好优先级,例如“温度安全优先于湿度舒适”,并在程序中以互锁逻辑体现。

三、传感器与执行机构清单

清单是需求分析最直接的交付物,它同时服务于I/O分配和接线设计。下表为本例的示例清单,参数为合理假设值,实际项目需按现场设备铭牌和量程核定。

类别设备信号类型/量程安装位置用途
传感器温湿度一体变送器4~20 mA,-20~60℃,0~100%RH作物冠层高度,多点布置取平均温度、湿度反馈
传感器光照度传感器4~20 mA,0~100000 lx温室中部,避开遮阳阴影遮阳、补光判断
传感器CO₂浓度变送器4~20 mA,0~2000 ppm冠层附近CO₂施肥控制
传感器室外气象站风速、雨量、辐照、温湿度温室顶部通风、遮阳、降雨联锁
执行机构天窗/侧窗电机开/关接触器 + 限位反馈屋脊与侧墙自然通风
执行机构湿帘水泵与风机接触器输出一端湿帘、一端风机强制降温
执行机构外遮阳电机正反转接触器 + 限位屋顶外部遮阳降温
执行机构加热管道阀开关阀或调节阀沿地布管加温
执行机构CO₂电磁阀开关输出气源管路CO₂施肥
执行机构补光灯接触器输出冠层上方补光

清单中要特别注意信号类型和反馈方式。模拟量传感器需要确认是4~20 mA还是0~10 V,是否需要配电;电机类执行机构要确认是否有开到位、关到位限位信号,这直接决定程序中能否做“动作超时报警”。缺少反馈的执行机构,程序只能“发命令”,无法“确认结果”,这是后续排障困难的常见根源。

四、控制逻辑的初步规划

需求分析的最后一环,是把上述内容组织成控制逻辑的骨架。下图展示了本例中各环境参数、传感器、控制器与执行机构之间的信号关系与作用方向,可作为I/O分配和程序分段的依据。

温室环境控制信号关系图(示例) 传感器 / 输入 室内温湿度 4~20 mA 光照度 0~100000 lx CO₂浓度 0~2000 ppm 室外气象站 风速/雨量/辐照 限位反馈 开/关到位 PLC 控制器 模拟量采集与标定 设定值与回差比较 优先级与互锁判断 动作超时与报警 手动/自动切换 输出:继电器 / 接触器 执行机构 / 输出 天窗 / 侧窗 湿帘水泵 + 风机 外遮阳电机 加热管道阀 CO₂电磁阀 补光灯 互锁示例:降雨 → 禁止开窗; 高温 + 低湿 → 湿帘优先于自然通风

从图中可以看出,控制逻辑应按“采集—判断—输出—反馈”四段组织。采集段负责模拟量标定和滤波,例如把4~20 mA线性映射为实际工程量,并对温度做滑动平均以抑制传感器抖动;判断段负责设定值比较与回差处理,例如温度高于28℃开窗、低于26℃关窗,回差2℃可避免执行机构频繁动作;输出段负责接触器动作与互锁,例如开窗前先判断无降雨、风速未超限;反馈段负责限位确认与超时报警,例如开窗命令发出后60秒内未收到开到位信号则报警并停止输出。

此外,需求分析阶段就应确定手动/自动切换和故障安全策略。例如传感器断线时,程序应进入“保持当前输出+报警”而非盲目动作;通信中断时执行机构应回到安全位置。这些策略写在需求里,后续编程才有依据,而不是等到调试时临时补丁。

需求分析的成果建议整理为三份文件:作物环境参数表(设定值来源)、传感器与执行机构清单(I/O分配依据)、控制逻辑说明(程序分段与互锁依据)。三份文件相互对应,后续修改设定值时能快速定位到程序中的哪个变量。