基于三菱PLC和MCGS触摸屏的智能灌溉系统设计

基于三菱PLC和MCGS触摸屏的智能灌溉系统设计 家里有块地又碰上今年夏天连续高温干旱天天跑地里摸土判断要不要浇水手一捏干了开泵浇到田里积水了再跑回去关泵。大中午顶着太阳来回折腾水费电费哗哗往外流这本来就是纯纯的“经验活”辛苦不说关键是浇多浇少全看感觉。后来实在受不了翻出库房里的三菱PLC又配了一块MCGS触摸屏花了几天时间把一套智能灌溉系统搭了起来土壤干了自动浇水池没水自动停屏幕上看数据调参数真的省心不是一点点。这套系统做下来不光是解决了自家地浇水的问题顺带把PLC模拟量处理、MCGS画面组态、串口通讯这些知识点重新捋了一遍。如果你手头也有类似的需求或者正想用三菱PLCMCGS做一套小规模的自动控制系统这篇文章应该能帮你少走不少弯路。1. 项目由来与整体方案设计1.1 目标拆解一套自动灌溉系统到底要做什么动手之前先把需求彻底捋清楚绝对不要说干就干。我最初想做的东西很简单让水泵在土壤干燥时自动打开土壤水分够了自动关上。但真正下地看了一圈发现现实没有那么美好几个特殊场景必须考虑水池没水了这时候如果水泵还在运行轻则空转伤泵重则烧毁电机。必须加一个水池液位检测低液位时强制停泵且不允许启动。地里有多块区域每个区域的土壤湿度不一样需要做分区控制至少留出扩展的余地。自动控制并不是万能的比如清洗管路、临时浇灌、排除故障时还是需要能手动开泵。手自动切换功能一定要有。参数不能固化死在程序里不同作物的需水量不同同一个作物不同生长期需水量也不同湿度的上下限必须能在触摸屏上直接设置。系统运行状态要看得见人在屋里就知道地里的湿度、水池的液位、泵是不是在转。综合这些需求整体思路就非常清楚了传感器采集现场信号三菱PLC作为核心控制器执行逻辑判断MCGS触摸屏作为人机交互界面显示数据和修改参数水泵作为执行机构。整个过程形成了“感知-决策-执行-显示”的完整闭环完全不需要人工干预这才是智能灌溉系统该有的样子。1.2 方案选型为什么是三菱PLC搭配MCGS选型这件事我做之前也是犹豫过的。市面上能实现自动控制的方案很多单片机、树莓派、各种智能灌溉控制器都能做但最终选择了三菱PLCMCGS主要基于以下几点考虑。稳定性是最重要的。农田环境高温高湿、灰尘大、电压波动明显单片机在这种环境下容易出现程序跑飞或烧毁工业级的PLC虽然价格稍高但抗干扰能力强故障率极低一套设备用上几年基本不用管。其次是可维护性。农业设备一旦坏了需要快速判断问题出在哪。PLC有输入输出指示灯MCGS触摸屏有报警记录功能故障一目了然电工师傅过来一看就知道问题在传感器还是在泵上。如果换成用单片机做的黑盒产品坏了基本只能整体寄回厂家。再就是后期扩展。今天你只需要控一台泵明天可能想在田里加装滴灌管道后天可能想接一台施肥机。PLC自带几十个输入输出点MCGS触摸屏做变量扩展也只是增加几个画面的事这种灵活性是成品控制器没法比的。至于为什么选MCGS不上威纶通、昆仑通态等其他品牌其实是各有优势。MCGS昆仑通态的资源库里有三菱FX系列完整的驱动选好型号、设好串口参数就能通讯非常省事而且支持画面动画、实时曲线、历史报表做农业项目完全够用。而且它的组态环境上手快网上相关教程也多售后资料开放得比较全面即使是初学者的试错成本也很低。1.3 系统架构图与控制流程虽然不给画图但我用文字把系统架构描述清楚方便你在脑子里构建出整体骨架。整个系统分三层。最下面是现场设备层土壤湿度变送器、投入式液位变送器、水泵接触器、手动旋钮开关中间是控制层三菱FX3U系列PLC主机外加一只FX3U-4AD模拟量输入模块最上面是监控层MCGS TPC7062系列触摸屏。控制流程是这样的触摸屏下发参数到PLC寄存器PLC周期性读取两个模拟量通道把4-20mA电流信号换算成湿度值和液位值然后执行自动判断。当土壤湿度低于下限值同时水池液位高于停泵保护值并且系统处于自动模式时PLC输出点导通接触器吸合水泵启动湿度升到上限值或者液位降到保护值水泵停止。所有数据在触摸屏上实时刷新历史记录存在触摸屏的存储空间里。这套流程看起来不复杂但真正写程序、做画面的时候细节问题非常多每一条都值得展开讲。2. 硬件选型与电气回路搭建2.1 核心硬件清单与选择理由硬件这块是花钱的地方选型直接决定系统的可靠性和性价比。我的配置清单如下你可以按需调整硬件型号/规格数量用途说明PLC三菱FX3U-32MR/ES1台主控制器继电器输出型16入16出模拟量模块三菱FX3U-4AD1块采集2路4-20mA模拟量信号触摸屏MCGS TPC7062K1块人机界面7寸带RS232/RS485土壤湿度变送器4-20mA输出探针式2只分别检测两个区域的土壤湿度液位变送器投入式4-20mA输出1只检测蓄水池液位开关电源明纬MDR-60-241只为PLC、触摸屏、传感器提供24VDC接触器施耐德LC1D121只控制水泵电机主回路断路器DZ47-63 C163只分别保护总电源、水泵回路、控制回路转换开关三档旋钮1只手动/停止/自动三种模式切换报警器声光报警灯1只低液位、传感器故障时报警几个重要的选型理由要说清楚。PLC选继电器输出的MR型号是因为水泵是感性负载继电器输出能承受较大的冲击电流而且坏了可以单独换输出点维护成本低。传感器选4-20mA电流输出而不是0-10V电压输出因为电流信号抗干扰能力强长线传输没有压降问题在农田这种电磁环境比较复杂的地方更可靠。便携式编程线这里也提一句三菱FX3U自带编程口就是一个圆形的mini-DIN 8芯接口用USB-SC09-FX编程线或者USB转换头就能下载程序属于必备配件别到时候程序改好了一根线都没有。2.2 电气回路接线主回路与控制回路电气接线是整个系统的骨架一步一步来不用急。主回路很简单总断路器出来接接触器主触点再接水泵电机。接触器线圈由PLC的输出点控制线圈电压选220VAC控制回路加一个中间继电器做隔离避免PLC输出直接驱动大功率负载。中间继电器线圈接PLC的Y0输出点常开触点串联在接触器线圈回路里这样PLC只驱动一个几十毫安的小继电器触点的寿命和安全余量都好得多。控制回路接线是重点我按信号类型分成三块说第一块是数字量输入。转换开关的常开触点分别接到PLC的X0自动和X1手动公共端COM接0V。这里有一个经验不要用转换开关直接切换自动和手动而是用两个常开触点分别作为自动信号和手动信号程序里通过逻辑判断当前模式。这样万一旋钮接触不良最坏的结果是不动作而不是误动作安全得多。第二块是模拟量输入。两只土壤湿度变送器和一只液位变送器的信号线分别接到FX3U-4AD模块的CH1、CH2、CH3通道每个通道的信号正极接V负极接I-屏蔽层单端接地。模拟量模块的工作模式通过模块侧面的拨码开关选择把模式拨到4-20mA电流输入位置对应通道灯亮表示接线正常。第三块是输出。PLC的Y0接中间继电器线圈中间继电器常开触点串联在接触器线圈回路里。水泵运行指示灯和声光报警器也通过其他输出点控制。Y0接继电器线圈时要在线圈两端反向并联一个续流二极管防止断电瞬间反向电动势损坏PLC输出点这个问题在继电器上很常见很多人忽略结果用不了多久PLC输出就烧了。这里有一个供电方面的细节传感器变送器和PLC用同一个24V开关电源供电容易互相干扰尤其是土壤湿度变送器长时间工作后会略有温漂。我在工程上安排两路24V一路给PLC和触摸屏一路给传感器两路电源的地线在PLC端子处单点共地实测干扰明显小很多。2.3 传感器安装位置有讲究传感器买回来只是第一步装在哪、怎么装直接影响数据的真实性。土壤湿度变送器的探针一般是两根不锈钢插针需要全部插入土壤中。但要注意不能只把探针浅浅插在表面那样测的是干土层的湿度一晒就报警。正确做法是埋到作物根系主要分布层大概地表以下15到20厘米左右保证探针周围土壤和根系环境一致。另外湿度传感器不能埋在滴水口正下方也不能离滴灌带太近否则浇灌时局部水分瞬间饱和会导致系统误判为“水分已够”早早停机实际上周围其他地方还是干的。我第一块试验田就是犯了这个问题传感器状态下读出的湿度值波动特别大重新换位置才算正常。液位变送器的话投入式传感器需要固定在水池底部不能让它随着水流晃动。如果你水池底部淤泥比较厚建议把传感器装在离池底30到50厘米的位置给淤泥沉降留点空间否则信号会被淤泥覆盖导致压力数据失真。安装好以后要做一次液位标定先记下空池时触摸屏上显示的液位值再灌一池标定水位检查线性关系。3. 三菱PLC程序逻辑设计3.1 软元件分配表先规划再写程序写PLC程序之前第一件事不是打开GX Works软件而是先把软元件分配表列清楚。别小看这一步后续写程序、连触摸屏、排除故障全靠它。我这次的分配方案如下软元件功能说明X0自动模式选择X1手动模式选择X2水泵启动按钮柜门备用X3水泵停止按钮柜门备用Y0水泵运行输出中间继电器Y1声光报警输出Y2水泵运行指示灯D0湿度1#当前值0-4000整数D1湿度2#当前值0-4000整数D2液位当前值0-4000整数D10湿度1#换算显示值0.0-100.0D11湿度2#换算显示值0.0-100.0D12液位换算显示值0-100%D20湿度下限设定值触摸屏写入D21湿度上限设定值触摸屏写入D22液位低报警设定值触摸屏写入D23液位高报警设定值触摸屏写入M0自动模式运行标志M1手动模式运行标志M2自动允许启动条件中间运算M10低液位报警标志M11湿度传感器断线报警标志M12液位传感器断线报警标志这样规划的好处是后期查找和修改非常方便你不需要翻完整份程序就知道D20是湿度下限、M10是低液位报警。如果做的是有几十个I/O点的中型项目这个习惯更是必须养成不然程序写一半自己都找不到变量更不要说后期维护了。3.2 模拟量换算ADC原始值怎么变成真实湿度值这块是很多初学PLC做项目时最头疼的地方我详细说说。三菱FX3U-4AD模块的模拟量转换原理是4-20mA的电流信号经过模块内部采样后映射到0到4000的数字量。也就是说4mA对应020mA对应4000。这个范围是模块出厂固定的做线性换算时直接用就行。湿度传感器的量程一般是0%到100%RH对应4-20mA那么换算公式就是湿度实际值 (D0 / 4000) × 100液位也是一样如果变送器量程为0到5米对应0%到100%那就是液位百分比 (D2 / 4000) × 100但在PLC里面做这个除法要小心。三菱FX3U支持浮点数运算可以使用MOV和DFLT指令先把整数转成浮点数再用DE指令做除法最后得到的结果存在浮点数寄存器里。如果你用整数指令DIV结果只会保留商的整数部分1500 / 4000 直接等于 0显示出来的湿度永远是0%这个坑我亲眼见过不少人踩进去。梯形图逻辑上大致是这样特殊功能模块指令FROM读取4AD模块的缓冲存储器通道1、2、3的数据传送到D0、D1、D2。再分别做标定转换得到D10、D11、D12。转换完成后用一个比较指令判断传感器是否断线如果通道数据小于某个极小值比如小于50大概对应4.2mA以下就认为传感器断线或信号异常置位断线报警标志M11。有一点必须特别注意FX3U-4AD上电后的数据稳定需要时间程序里要加一个上电延时等模块初始化完成后再开始读取模拟量。我一般用特殊继电器M8002初始化脉冲启动一个2秒定时器延时时间到后再激活FROM指令读取。否则你上电第一秒钟读到的数据是一个完全随机的初值可能会触发无意义的报警。3.3 控制逻辑与指令表自动灌溉的核心判断核心控制逻辑是人最关心的部分。这个系统说穿了就是几个判断条件和一个自锁回路组合在一起我用指令表加文字说明的方式展示一个简化版的控制核心// 模式切换 LD X0 SET M0 RST M1 LD X1 SET M1 RST M0 // 自动模式下判断允许启动条件 // 湿度1低于下限 且 湿度2低于下限 且 液位正常 LD M0 AND D10 D20 // 1区湿度低于下限 AND D11 D20 // 2区湿度也偏低两区同时缺水才启动 AND D12 D22 // 液位高于低报警设定值 ANI M10 // 无低液位报警 OUT M2 // 自动允许启动条件成立 // 水泵自锁控制 LD M2 OR Y0 // 正在运行中 ANI M10 // 低液位强制停止 ANI M21 // 自动模式下湿度达到上限停止 AND M0 // 仅在自动模式下生效 OUT Y0 // 手动模式直接控制 LD M1 AND X2 // 手动启动按钮 SET Y0 LD X3 // 手动停止按钮 RST Y0 // 报警输出 LD M10 OR M11 OR M12 OUT Y1 // 声光报警看着简单但这里面的逻辑值得深入琢磨。第一我把“湿度达到上限停止”单独设了一个M21标志来做。实际程序里是这样处理的当湿度1或湿度2中任何一个达到上限值时M21置位它的常闭触点切断了Y0的自锁回路。这样做的原因是农业浇灌讲究的是“见干见湿”不是说土壤湿度一定要低于下限时才停而是达到上限就立刻停止避免过量灌溉浪费水源。第二低液位信号M10同时接在允许启动条件和停止逻辑里。一旦水池液位降到设定的保护值M10置位一方面M2条件不会再成立另一方面如果水泵正在运行也会被强制断开。这个强制停止优先级最高即使你在手动模式下直接开泵也没用因为M10的常闭触点串在水泵输出回路的最终受控部分逻辑上从物理保护角度堵住了任何方式误开泵的可能。第三两台水泵的自动判断逻辑我做了“两区同时缺水才启动”的联合判断这和你家只有一台泵但浇灌两个区域的情况是吻合的。如果现场是两套独立的泵那就得把逻辑拆开各自判断各自控制。所以程序一定要贴合你的实际工艺千万不要照抄别人模板。3.4 断线保护与异常停机设备不能“带病运行”传感器断线、信号异常这类故障在农田现场非常容易出现因为老鼠咬线、农机刮线、接线端子松动太常见了。程序里必须做好保护而且保护的动作要明确是报警并停机还是报警但维持现状我的策略是信号异常一律按“不允许启动”处理。如果系统正在运行中而湿度传感器或液位传感器信号突然丢失我会选择报警并停机不让泵继续运行。理由是当一个控制系统失去了“感知能力”继续自动运行就是在盲人骑瞎马风险远大于停机带来的损失。报警信息要在触摸屏上显示出来同时声光报警器要响方便操作人员第一时间发现。当故障消除、信号恢复正常后声光报警会自己解除但报警记录会一直保留在触摸屏的报警画面里将来复盘问题时用得上。这里还要加一个手动复位按钮或者触摸屏上的复位按钮。实际运维的时候你会发现有些故障比如传感器断线接好线之后系统自动恢复就可以但有些故障如“温度过高”这种你必须人工确认故障源确实已经处理了才能让系统重新投入运行。我做的方案是需要复位的故障才置位对应标志一般性的信号异常则自动解除区分开处理非常实用。4. MCGS触摸屏画面组态4.1 建立工程与三菱PLC通讯配置MCGS触摸屏的软件分为组态环境和运行环境两部分。组态环境装在电脑上用来搭建工程画面运行环境运行在触摸屏本体上负责显示和交互。在电脑上做好工程以后通过U盘或以太网如果型号支持下载到触摸屏里。第一步是新建工程。打开MCGS嵌入版组态软件选择对应机型TPC7062K点击确定就生成了一个空工程。这个过程中软件会自动把工程的分辨率设为对应屏幕的分辨率800×480后面做画面时按这个分辨率来布局就可以。第二步是配置设备通讯。这个步骤很关键也是最容易出错的地方。在“设备窗口”里右键新增设备设备驱动列表中选择“三菱FX系列编程口”驱动设备名称改成“FX3U”CPU类型选FX3U通讯方式选RS232如果你的触摸屏和PLC用RS485通讯就要选RS485并在触摸屏后面接对线。串口参数按三菱FX3U默认值设置波特率9600bps8位数据位1位停止位偶校验无流控。设置完成后在设备编辑页面添加通道。通道类型选择“寄存器读写”寄存器类型有M、D、X、Y等根据你的地址分配依次添加D0、D1、D2、D10等需要显示的寄存器以及D20、D21、D22等需要修改的参数寄存器。每添加一个通道电脑会自动生成一个变量名比如“D10”这个名字在后面做画面时直接使用。通讯配置这块我交过不少学费第一次做的时候选的RS485三菱FX编程口协议结果触摸屏后面接线是RS232的怎么都连不上。后来仔细看手册才发现TPC7062K的RS232和RS485是两套不同的接线端子拨码开关也要对应好。所以做通讯之前一定把PLC和触摸屏两边的通讯参数、接线形式都核对清楚先做通讯测试再做画面。4.2 主画面布局从“看得见”到“看得清”画面设计不是越漂亮越好而是信息显示要直观操作按钮要触手可及。主画面我分成四个区域左上角是系统标题和当前时间日期右上角是手动/自动模式文本显示。模式文本用一个“标签”构件实现在属性里关联M0和M1当M0为1时显示“自动”M1为1时显示“手动”这样操作者一眼就能确认系统当前处于什么工作状态防止误操作。中间区域画一张简单的系统流程图一个蓄水池图标、两个地块图标、两台风机的简笔画、若干条连接线。蓄水池的液位用MCGS的“动画显示”功能实现组件关联D12变量当液位数值变化时水池图标里的蓝色填充区域会相应地升高或降低非常直观。两块土壤的边上各放一个“数值显示”构件关联D10和D11实时显示当前湿度。水泵旁边放一个“指示灯”构件关联Y0泵运行时指示灯变绿闪烁停止时为灰色。下部分是操作控制区设置四个按钮“手动启动”“手动停止”“自动模式”“手动模式”。其中手动启动、手动停止按钮只启用手动模式通过关联M1和按钮动作选择性启用。自动模式、手动模式按钮关联M0和M1的置位/复位脚本。触摸屏按钮按下以后实际上是在远程控制PLC的软元件状态所以在按钮的“脚本”里要写!SetBit(M0, 1)表示把M0置ON。4.3 参数设置画面设计与变量通道绑定参数设置画面比主画面更重要因为它直接影响自动运行的行为。画面里我放了四个参数框分别对应湿度下限、湿度上限、液位低保护、液位高报警每个参数框配一个对应的单位说明文本。参数设置的做法是先建一个“输入框”构件双击打开后关联到对应的PLC寄存器变量D20、D21、D22、D23然后把输入范围限制在0到100之间。这里有一个MCGS的使用细节变量绑定好之后运行时输入框就能直接读写PLC寄存器但这个变量必须提前在设备窗口中建立通道也就是上一步说的添加通道。如果通道没建、变量不关联输入框就只是一个画上去的摆设。参数设置画面里还特别做了一个“读取参数”和“写入参数”按钮。这个功能是干什么用的呢有时操作人员改了一个参数但PLC程序里对应的D寄存器没有更新有时电池断电导致PLC寄存器里的数值没有保存恢复上电后参数全部回到了初始值。有了这两个按钮可以手动强制刷新参数避免这种模糊状态。处理方法是参数框关联PLC的D20-D23同时把一份参数镜像保存在触摸屏的内部变量里上电启动时自动从内部变量恢复并写回PLC。这个方法很适合农业现场这种断电可能比较频繁的环境。4.4 动画效果与常见显示问题处理热词里提到MCGS风扇旋转动画、乱码等关键词这些确实是MCGS使用中最常被问到的问题我分别说一下。风扇旋转动画说白了就是用“闪动”和“旋转”两个属性组合实现的。MCGS的图库里一般有带扇叶的风扇图元你把扇叶设置成旋转属性关联一个设备变量变量值为1时扇叶以某个角度增量旋转变量为0时静止不动。关键是旋转角度增量参数要根据你期望的转速设置一般每个扫描周期5度到15度之间。有人问每个风扇的角度是不是必须不同如果你想让多个风扇看起来各自独立旋转角度初始值分别设为0、120、240度就行转速则取决于角度增量同一画面的多个风扇完全可以设置相同增量。乱码问题这个太常见了。MCGS组态软件编辑的时候中文显示正常下载到触摸屏上显示乱码或者变成问号大概率是字体设置问题。MCGS嵌入版默认使用的“宋体”字号较小下载到触摸屏后容易出现显示异常。解决办法是在组态环境中把所有中文文本的字体统一设置为“黑体”或“微软雅黑”字号不小于12号然后重新下载工程。另外如果触摸屏系统固件版本过旧也可能导致中文显示异常去官网下载中心找对应型号的最新固件刷一下就好。还有总有人问工程密码忘了怎么办官方工具可以重设但我要提醒一句密码这个事别开脑洞工程做完一定要在安全的位置备份好源文件这样无论碰到什么锁文件的情况都能从容解决。5. 现场调试与常见问题排查实录5.1 调试流程按步骤来别跳步系统搭完了程序写完了画面做好了不代表就能直接扔到地头上去用。调试这一步必须按部就班地走每一个环节都确认没问题再进入下一个环节。第一步是设备单独验证。把传感器通电用万用表测量信号线上的电流正常情况下应随环境变化在4到20mA之间波动。湿度传感器插到水里电流会上升液位传感器的电流随水位变化。确认传感器本身没有问题再和PLC对接。第二步是PLC单独测试。不连触摸屏用GX Works软件在线监视看模拟量模块采集到的数据是否和现场实际情况吻合。例如用一杯水浸湿湿度传感器监控D10数值应明显上升。确认模拟量数值准确后再单独强制Y0输出验证接触器和水泵是否动作听有没有异响摸接触器有没有异常发热。第三步是通讯联机。触摸屏和PLC用数据线连好检查触摸屏设备窗口的通讯状态标志位是否变为0通讯正常。也可以用编程线连PLC的监视窗口一边操作触摸屏上的按钮一边看PLC这边变量是否同步变化。第四步是联调。这是最耗时但也是最有成就感的阶段。把系统切换到自动模式人为地改变传感器环境用湿毛巾包住湿度探头观察水泵是否能按预期自动启停。模拟水池放水让液位降到保护值以下观察水泵是否强制停止。反复测试直到所有时序和逻辑都符合预期。5.2 常见问题速查表我把调试过程中遇到的、以及周围朋友踩过的高频问题整理成一张速查表供你现场排查时参考故障现象可能原因排查方向与处理办法触摸屏连不上PLC串口参数不一致通讯线接线错误PLC端口损坏核对波特率、数据位、校验位换一根下载线试试查看设备窗口通讯状态位湿度显示始终为0或4000模拟量通道配置错误接线极性接反信号线断线检查4AD模块通道编号和拨码万用表测信号电流是否正常检查接线端子湿度数值波动剧烈传感器安装位置不当信号线受干扰换安装位置避开滴灌点信号线改用屏蔽双绞线电源分两路供电水泵频繁启停湿度上下限差值小死区太小增大上下限死区差值比如下限30%、上限60%自动模式下泵不启动模式选择错误液位低报警未复位湿度值高于下限设定查M0是否为ON查D12和D22的当前值查D10是否低于D20泵启动了无法停止Y0触点卡死接触器粘连程序逻辑未正确执行强制复位Y0看是否断开断电检查接触器触点是否烧结查M21停止标志逻辑触摸屏上有乱码字体设置问题或固件版本过旧组态环境中统一设黑体再下载更新触摸屏固件报警灯一直响传感器断线报警低液位报警查看报警画面具体报警项检查传感器电流是否在4mA以下液位是否确实过低5.3 几个容易忽略的实测教训最后分享几个我在现场踩过的坑这些事情没有亲身经历很难注意到。第一个教训是传感器布线的防雷与抗干扰问题。农田的线路往往拉得很长一旦附近有雷击或者大型农机启停很容易在模拟量信号线上感应出瞬时尖峰轻则显示一次错误数值重则烧毁模拟量模块的输入通道。我现在做农田项目模拟量电缆一定穿金属管金属管两端要可靠接地传感器信号进PLC之前再加一只信号隔离器。虽然成本多了一两百块但换来的是长期运行的可靠性我觉得非常值。第二个教训是触摸屏运行画面和组态环境的差异。MCGS在电脑组态环境里预览的画面和实际触摸屏运行效果是有细微差异的比如字体大小、控件位置都可能出现偏移。所以我习惯在工程下载后一定要在触摸屏上完整地过一遍所有画面检查每个按钮的位置是否方便手指按压、每个文字是否清晰可读这一点千万不能省。第三个教训是排水和防凝露。配电箱不是越密封越好完全密封的箱子在昼夜温差大的环境里容易内部结露导致端子锈蚀、绝缘降低。我通常会在箱体底部开一个带滤网的排水孔在箱内放两包干燥剂并用一块加热板把箱体温度控制在露点以上。这套办法在农田现场很实用尤其是在春天和秋天早晚温差明显的季节能大幅减少接触器吸合不良的情况。这个系统搭完至今已经稳定运行了将近五个月中间经历过三次强降雨、两次异常高温除了有一次因为水池进水管被杂物堵住导致低液位停机之外其他时间基本上没有人工干预过。从实际效果来看用水量比往年凭经验浇灌节省了三成左右关键是地里的作物长势反而更均匀了因为每次浇水都是严格按照根系层实际湿度触发不是看天凭感觉猜。如果你也想在自家地或者农场里做一套类似的自动灌溉系统我的建议是先从单区域、单泵的小规模方案做起跑通整个流程以后再考虑扩展多分区、多泵、甚至接入物联网平台远程手机查看。三菱PLC和MCGS的组合在这个级别上的性价比很高而且学习资料非常多照着练一遍你会发现原来自动化灌溉并没有想象中那么复杂。