1. 为什么做无人值守:水站值班现状与项目改造动机
先说这个项目的来源。我之前接过一个小型污水处理站的控制系统改造,规模不大,日处理量几百吨,主要服务一个工业园区的厂前预处理。这类站点最大的痛点不是工艺多复杂,而是没人愿意长期值班。厂区在郊区,白班还能安排人盯,夜班和节假日基本处于半失控状态,水泵空转烧掉、液位计堵了没人发现、加药泵断线好几小时都没人知道,这些事我都碰到过。业主提的需求很直接:能不能做到平时不需要人在现场,出了事能自动处理,实在处理不了再打电话叫人。
这就是典型的无人值守需求,也是我用西门子S7-200 PLC加触摸屏搭这套系统的初衷。
选择S7-200而不是更先进的S7-1200/1500,其实是从实际约束出发的。第一,这套系统是需要长期稳定运行的,S7-200在小型污水站这种环境里服役十几年的大有人在,稳定性经得起考验。第二,改造项目的现状是站内电控柜已经有了部分继电器逻辑,现场仪表和阀门多数是开关量信号,S7-200的I/O扩展能力和通讯能力完全够用。第三,也是最现实的一条——维护方对S7-200的编程和检修非常熟练,备件也好找,真要坏了老工程师闭着眼都能换。
触摸屏的任务则是把这些设备状态、液位数据、运行记录和报警信息全部"搬到"柜门上,同时充当操作台和数据显示中心。严格说,这套系统里PLC才是真正干活的人,触摸屏是监工和传话的。
适合参考这篇文章的人,我觉得主要是两类:一类是做小型污水站、提升泵站、净水站项目改造的电气工程师和集成商,另一类是正在学PLC和触摸屏组态、想了解真实项目怎么搭的学生或转行人员。下面我按项目推进的顺序,把硬件选型、通讯配置、无人值守的几个关键设计、编程技巧和实际调试中踩过的坑都捋一遍。
2. 硬件选型:为什么西门子200PLC配触摸屏是最稳的组合
2.1 控制器的选型逻辑和I/O分配思路
S7-200家族里我选的是CPU226,理由很简单:点数够多,自带两个通讯口,后面不管接触摸屏、变频器还是上位机,都不用额外加模块,省事。具体到这台设备,I/O点数大概是这样的:
- 数字量输入DI(16点左右):液位高/低报警、泵运行反馈、泵故障、阀门开到位/关到位、手自动转换开关、水流开关、控制柜门禁、烟雾报警
- 数字量输出DO(12点左右):两台提升泵启停、加药泵启停、搅拌机启停、排泥阀开关、报警灯、蜂鸣器、电动阀控制
- 模拟量输入AI(6路):进水液位、出水流量、加药池液位、污泥池液位、控制柜温度、进水pH
- 模拟量输出AO(2路):变频器频率给定、加药泵冲程调节
选S7-200还有一个被很多人忽略的好处:它的程序扫描周期短,逻辑响应快,做泵的联锁保护和轮值切换非常可靠。无人值守场景下,最怕的就是PLC"反应慢半拍",真实项目中这些逻辑都是毫秒级响应的。
2.2 触摸屏选型:威纶通还是昆仑通态
触摸屏我在这套系统里实际装的是威纶通MT8071iP,7寸屏,性价比合适,环境适应性也不错。不过项目交付时我会同时说明昆仑通态的替代方案,因为很多老客户更习惯用MCGS,两种屏在这个项目里我都做过测试,后面讲通讯和脚本时会分别提到两边的注意点。
选触摸屏的几个硬指标,我在这个项目里是这么核的:
- 通讯协议必须原生支持西门子PPI,不能靠转接头和第三方驱动硬凑,否则后期的通讯不稳定会让人崩溃
- 分辨率不低于800x480,污水站画面元素多,字太小值班人员看不清楚
- 工作温度范围宽,控制柜夏天暴晒后内部温度能到50℃,差屏直接花屏
- 带RS-485口和以太网口,RS-485接PLC,以太网口预留远程调试和后期上云
2.3 为什么不直接用组态软件上位机
有些同行一听说无人值守就直接上海湾、力控、组态王,然后配一台工控机。我不否认大系统的做法,但对于这种几十个点位的小型污水站,工控机方案有三个问题:一是成本高,一套正版组态软件加工业平板下来,抵得上三块触摸屏;二是维护难度大,Windows系统在潮湿多尘的环境里蓝屏死机是常事;三是操作门槛高,现场运维人员更习惯"一按就响应"的实体按键和触摸屏。
触摸屏在这类项目里的定位,用大白话说就是"一块不怕折腾的屏幕"。它没有风扇没有硬盘,功耗几瓦,几乎不会因为系统问题罢工。只要PLC活着,它就能把数据展示出来。
3. 触摸屏与200PLC的通讯搭建:PPI协议的细节与联调过程
3.1 PPI是什么,以及联调前的参数核对
S7-200和触摸屏之间的通讯,最常见的原生协议是PPI(Point-to-Point Interface)。它是西门子私有的主从协议,触摸屏做主站主动去读PLC的数据,PLC从站负责应答。
听起来简单,实际调试时最容易栽跟头的地方就是参数不匹配。PPI通讯的核心参数就三个:波特率、站号、数据位格式。
以威纶通连接S7-200为例,开EBPro后新建工程,PLC类型选"SIEMENS S7-200 (PPI)",然后通讯参数按下面的值去核对:
- 通讯口:COM1(RS-485)
- 波特率:9600,要和PLC侧一致
- 数据格式:8数据位、偶校验、1停止位
- PLC站号:默认是2,和S7-200编程软件Micro/WIN里的系统块设置保持一致
PLC侧在Micro/WIN里打开系统块,确认Port 0的PLC地址是2,波特率是9.6kbps,协议选PPI。两边对了,组态软件里才能搜到设备。
这里要提醒一个容易忽略的点:S7-200的通讯口是RS-485,触摸屏的COM口通常也是RS-485接线端子,但两者的A/B线定义不同品牌可能不一样。威纶通一般是DATA+和DATA-,对应接PLC的3号针脚(B)和8号针脚(A)。接反了一开始可能看不出问题,因为距离短、通讯量小的时候偶发正常,运行一段时间后开始频繁掉线,这种"隐性接反"特别坑人。
3.2 昆仑通态MCGS连接S7-200的差异点
如果换成昆仑通态的屏,在MCGS嵌入版里新建设备窗口,选"西门子S7-200PPI"驱动,参数配置逻辑一样,但要注意驱动里的"采集优化"选项。这个选项默认是关闭的,我在项目里会手动打开,并且把采集周期从默认的100ms调整到500ms。
为什么这么调?因为PPI协议本身效率不算高,触摸屏每隔几百毫秒去轮询一次PLC,对于污水站这种实时性要求不高的监控场景已经完全够用。如果把采集周期压得太短,通讯成功率反而下降,数据刷新慢不说,还会增加PLC通讯口的负担。
3.3 一个PLC带两个触摸屏:到底行不行
这是我在现场被问过很多次的问题,也在热搜词里看到了。直接说结论:可以,但有讲究。
S7-200的CPU226有两个通讯口(Port 0和Port 1),两个口都是PPI口,都可以作为从站被触摸屏读取。所以最常见的做法是:Port 0接柜门上的主触摸屏,Port 1接中控室或值班室里的第二块屏。两块屏的站号不用改,PLC对两个口都可以独立响应。
但如果你只有一个通讯口,想在这个口上并联两块屏,PPI协议从机制上是不允许两个主站同时去轮询同一个从站的。有人试过在RS-485总线上挂两块屏,让它们站号不同,结果通讯时好时坏,就是因为两个主站同时在发读请求,冲突概率极高。
所以我在项目里的原则是:能用两个口就绝不并线,非要用一个口,可以考虑把其中一块屏改成Modbus RTU从站模式,让PLC做主站去主动"推"数据给它。S7-200库里其实有Modbus Master指令,写起来也不复杂,但这种方法需要使用第三方驱动,而且触摸屏侧的变量要改成Modbus地址映射,调试工作量会上升一个台阶。
3.4 通讯线缆的选型与敷设细节
通讯问题里,物理层的坑一点也不比协议层少。这个项目里我用的是屏蔽双绞线,截面积不低于0.5平方毫米,屏蔽层单端接地(在控制柜侧接地)。很多人图省事直接拿普通电线接通讯,短期没事,等旁边有变频器、水泵启动时,通讯立刻被干扰,表现就是触摸屏数据乱跳、偶尔显示"device no response"。这个问题会在后面的故障排查章节专门展开讲。
布线时还要注意:通讯线必须和动力电缆分开走线槽,至少保持20厘米以上的距离,不要平行敷设长距离。如果现场实在无法避开,通讯线要穿金属管屏蔽。
4. "device no response"故障:完整的排查链路和处理心得
威纶通触摸屏的"device no response"提示,是我被问到最多的问题,也是无人值守系统里最致命的现象——屏幕直接失去和PLC的联系,所有数据显示灰色,值班人员看到心就凉一半。我在这套系统的调试阶段也遇到过,当时整个链路查了两个多小时,最后发现是个很不起眼的小问题,但排查过程值得复盘。
4.1 排查第一步:确认问题出在物理层还是协议层
先做实验:把触摸屏和PLC之间的通讯线拆下来,用一根短线直接连接两者,距离不超过1米。如果这种情况下通讯正常,那问题大概率出在线缆、接线端子或现场干扰上;如果短接也报错,就要检查参数配置或硬件本身。
这个实验在无人值守的调试现场非常管用,能直接把排查范围缩小一半。
4.2 排查第二步:逐项核对通讯参数
把EBPro里的PLC类型、站号、波特率、校验方式全部拍照记下来,拿这个去和PLC侧Micro/WIN系统块里的设置比对。
常见的坑有三个:
- 站号不一致:PLC默认站号2,有时候被之前调试的人改成了5,触摸屏还在读2
- 波特率不一致:PLC侧设定187.5k,触摸屏按9600去通信,这种配对多半连不上
- 校验不一致:PPI默认偶校验,但有人把触摸屏改成无校验,看起来只差一个勾,实际上数据全部判错
4.3 排查第三步:用串口调试工具观察数据
如果你手头有USB转RS-485的调试工具,把它并接在通讯线上,用串口助手以对应波特率监听数据。正常情况下,触摸屏会周期性发出读请求帧,PLC会回应数据帧。如果只能看到发送看不到回应,说明PLC没收到或没应答,问题在PLC侧;如果有回应但触摸屏仍报错,考虑帧格式不完全匹配。
这一步比较进阶,但对排查疑难通讯问题非常有效。我做项目时还发现一个小技巧:把串口助手的显示模式切成HEX,观察请求帧里的目标站号字节是多少,如果发现触摸屏发出来的站号是0或1,而PLC配置是2,立刻就能定位问题。
4.4 既不是参数也不是线缆:一个让我印象深刻的干扰案例
上面说的这套系统,在工厂正式运行到第三天,值班人员打电话说触摸屏时不时跳出"device no response",每次持续几十秒又自动恢复。我赶过去做实验,1米短接线完全正常,检查参数也没问题。后来用万用表量通讯线两端的接地电位差,发现控制柜和PLC侧的接地点之间存在几伏的电位差,导致通讯线上的共模干扰超出了RS-485芯片的承受范围。
解决办法是在通讯线上靠近触摸屏侧串了一个RS-485隔离器,同时把屏蔽层从两端接地改成单端接地,问题彻底消失。从那以后我给自己定了一条规矩:凡是控制柜里有变频器的项目,RS-485通讯无条件加隔离器,不要等出问题再补救。
4.5 触摸屏偶尔卡死和"致命的应用程序错误"现象
昆仑通态MCGS运行环境中偶发出现"cesvr.exe执行了非法操作"这类弹窗,其实大多数情况是脚本里访问了不存在的变量或者数组越界导致的。无人值守系统长时间运行,网络波动或数据异常触发了某个脚本分支的隐藏Bug,就会让运行环境崩溃。
我的经验是:脚本里尽量少用全局变量做复杂运算,能用策略方式解决的就别用脚本硬扛;同时一定要在工程里设置"运行环境出错后自动重启",有条件的话用定时器每天凌晨自动重启一次触摸屏运行环境,反正监控画面丢几十秒的显示完全不心疼。这个设计理念叫"故障自动复位",后面讲无人值守时还会深入。
5. 无人值守的可靠性设计:故障自愈、分级报警和断电保护
标题里的"无人值守"四个字,不是把触摸屏和PLC装上就完事了。经过几个项目反复迭代,我总结出无人值守系统必须考虑的四个层面:故障自愈、分级报警、数据存储、断电保护。
5.1 故障自愈:让系统自己先"处理一遍"
很多工厂值班员处理污水站故障的模式是"报警-到场-复位",但无人值守场景下没人第一时间到现场,就必须让PLC自己先判断、先动作。
我在程序里做了一套"自动轮值+备用切换"逻辑:
- 两台提升泵按累计运行时间自动轮换,每台泵连续运行不超过8小时
- 当1号泵故障时,自动切换2号泵启动,同时记录故障泵编号和故障时间
- 当两台泵都故障时,如果液位还在上涨,自动关闭进水电动阀,防止调节池溢流
- 出水流量持续异常时,延时10分钟自动停止加药泵,防止药剂浪费或过度处理
这套逻辑的编程思路不复杂,核心是S7-200里的定时器加计数器配合中间继电器状态。但设计要点在于:每个自动动作都要有"可追溯"记录,不能莫名其妙地执行,所以所有切换事件我都同时写到PLC的掉电保持存储区V区里。
5.2 分级报警:什么人该在什么时间收到通知
无人值守不是说完全不通知人,而是要有选择地通知。我在触摸屏上把这套系统的报警分成三级:
| 级别 | 报警类型 | 处理方式 | 通知对象 |
|---|---|---|---|
| 一级 | 液位超高、泵全部故障、断电 | 触摸屏声光报警+需要人工确认 | 值班电话+运维负责人 |
| 二级 | 单台泵故障、流量异常、pH超限 | 触摸屏显示报警条 | 不做电话通知,记录待查 |
| 三级 | 控制柜温度偏高、通讯短暂中断 | 仅记录事件 | 无需通知 |
这里有个细节:一级报警必须在触摸屏上做成"需要确认"的模式,即弹窗后值班人员必须点击"确认"报警才能消除,防止重要报警被忽视。触摸屏的报警事件还可以外接一个继电器输出,联动现场的声光报警器,柜门上装的报警灯是红黄绿三色灯,一眼就能看出当前系统状态。
5.3 停电与来电自启动:无人值守最容易被忽视的一环
小型污水站配的往往是市电,停电后如果只是靠UPS给PLC供电,系统还是会"失联"。我在控制柜里加装了电源监测继电器,检测到停电时给PLC一个DI信号,PLC立刻把当前所有设备的运行状态和关键参数写入V区保持,然后正常停机;来电后PLC重新上电,先读V区恢复状态,再按顺序启动设备——先开搅拌机防止污泥沉积,再启一台泵根据液位决定是否参与运行,最后等流量稳定后再投入加药泵。
这套"停电自锁、来电自启动"的逻辑,是在和业主反复确认了设备安全边界之后才敢做的,因为自动停机后再自动启动,存在被某些行业规范禁止的情况。如果你做的是涉及高危介质的场合(比如化工污水),千万别学我,先确认行业规范再做无人值守的自动重启。
5.4 历史数据与掉电保持:触摸屏和PLC各司其职
无人值守系统如果连历史记录都没有,"无人"就变成了"无据"。我在这个项目里给触摸屏设置了实时曲线和历史趋势画面,水的液位、流量、pH值、泵的运行状态全部纳入记录。威纶通屏可以用自带的资料取样功能,按分钟间隔存储,保留一个月的数据不成问题。同时PLC侧把关键参数存到V区,即使触摸屏换掉或断线,PLC算完的数据还在。
数据存储这里我要特别强调:S7-200的V区和M区有一部分是掉电保持的,具体保持范围在Micro/WIN系统块里可以设置。我给这套系统分配的保持区是VB0到VB1000,足够存上百条事件记录,配合触摸屏侧的大容量存储,相当于双保险。
6. 触摸屏编程实战:画面结构、宏指令、脚本和文件管理技巧
6.1 画面结构怎么编排,值班人员才不慌
触摸屏的组态设计直接决定无人值守状态下"远程值班员"和"现场巡检员"能否快速判断系统状态。我按"总览-分项-操作"三层来组织:
- 第一层是总览画面:一张工艺流程图,画上污水池、泵、加药罐、出水口,每个设备旁边显示实时状态,液位用动态填充条表示,泵运行显示旋转图标。这一屏的目的是让操作员10秒内掌握全站状态
- 第二层是分项画面:泵控制、加药控制、报警记录、历史趋势、参数设置,每个分项独立成页
- 第三层是弹窗画面:手动操作确认、报警详情、用户登录
6.2 威纶通宏指令做用户登录:比想象中简单
热搜词里有人问"威纶通触摸屏怎么使用宏进行用户登录",这里我直接给出我项目里的做法。
威纶通EBPro的用户管理是自带的,正常做法是:系统参数里建立用户等级(管理员/操作员/只读),然后在按钮的安全设置里选择允许操作的用户等级,登录时通过"用户登录"系统窗口完成。
但有些项目希望登录窗口做成自定义风格,或者需要把登录信息同步给PLC变量,这时候就要用宏指令。我在工程里写了一个宏"LoginCheck",基本逻辑是:
// 伪代码示意,实际在EBPro宏编辑器里编写 macro_command main() short UserLevel GetUserName(LocalHMI, UserName) // 根据用户名匹配等级,写入PLC SetData(UserLevel, "Local HMI", LW, 100, 1) // 触发PLC侧的登录记录 SetData(1, "Siemens S7-200 (PPI)", VW, 200, 1) end macro_command宏做完后,在"用户登录"按钮的触发脚本里调用它,再把LW100做成画面状态显示,就能实现登录信息的联动。要提醒的是,宏指令里GetUserName拿到的用户名是字符串,直接传到PLC不方便,一般先映射到本地LW,再用数值范围判断用户等级,最后才下发。
6.3 昆仑通态脚本:字符串换行和FTP功能
昆仑通态MCGS的脚本比威纶通更"亲民",很多逻辑可以直接在窗口的"运行策略"里写。热搜词里"昆仑通态触摸屏脚本中字符串内容如何换一行",我直接在工程里这么处理:
字符串变量里要换行,可以用连接符拼接换行控制符,MCGS中换行是\n,对字符串使用"StringReplace"或者直接拼接。举个例子:
!LocalString = "液位超高" + "\n" + "请立即检查泵状态"这样显示到标签控件上就是两行的效果。要注意的是,在MCGS的运行策略脚本里,字符串用英文双引号包裹,且换行符必须是ASCII的LF,不能用CRLF,否则末尾会多出一个不可见符号。
另外,MCGS的FTP功能在无人值守场景也很实用。工程里可以配置FTP上传,把历史数据或报警报表定时上传到厂区内部的FTP服务器,这样即便触摸屏本地存储满了,历史数据依然有备份。我在项目里是每天凌晨3点自动上传前一天的运行报表,文件命名带日期,方便后续做数据分析。
6.4 触摸屏工程的上传和下载:保护你的劳动成果
现场调试时最怕的是"屏里的工程被谁动过"。MCGS触摸屏支持U盘上传和下载工程,威纶通也可以把工程存在SD卡里。我的习惯是:
- 出厂前,把最终版工程用U盘复制一份,标签上写清楚版本号和日期
- 现场联调后,再上传一次最终版本,双备份
- 给业主的交付文档里写明工程密码,避免后期设备厂家换人导致工程丢失
6.5 关于ESP32-S3这类触摸屏方案的插曲
看到热搜词里有人搜过ESP32-S3做触摸屏教程,我也说两句。单片机方案确实便宜,几十块钱就能做出一块带屏幕的控制器,如果只是为了学习或做个人项目,ESP32-S3配一个SPI屏加LVGL确实能玩出很多花样。但在污水站这种工业环境,单片机的抗干扰能力、长期稳定性和故障可诊断性,和工业PLC加触摸屏的成熟组合差距还是挺明显的。我见过有人尝试用ESP32做数据采集网关,最后因为485芯片被雷击和静电打坏了好几块板子。所以我的建议是:学习用ESP32-S3完全可以,做无人值守的工业控制系统还是交给PLC和工业触摸屏。
7. 调试中的"惊喜"与教训:这些细节让系统真正落地
7.1 控制柜温度对触摸屏的影响:夏天的高温“惊吓”
无人值守系统的控制柜通常锁着,柜内设备发热加上夏季环境温度,柜内温度和户外差很多。我在这个项目调试阶段,触摸屏连续跑了一个月后出现花屏现象,后来一查,柜内温度已经到56°C,超过了屏的工作温度上限。
解决措施是加装温控风扇,通过柜内温控器在35°C以上自动启动风扇,同时把柜内温度信号接到PLC模拟量输入,在总览画面上实时显示。这件事给我的教训是:选触摸屏时不能只看参数表上的"工作温度范围",要结合现场控制柜的散热条件重新评估。
7.2 模拟量输入的滤波:液位信号跳变引发的误报警
进水液位用静压式液位计,测量值本身没问题,但液面波动和水流扰动会让模拟量信号产生小幅快速波动。最初我在PLC里直接对模拟量做数据处理,液位超过高限就报警,结果进水水流一波动,报警值反复触发。
后来在程序里加了模拟量滤波,做法很简单:用S7-200的定时中断,每200毫秒采样一次,连续取5次做平均值,作为实际参与比较的液位值。同时把"高报警"和"高高报警"的阈值错开,比如高报警是2.5米,高高报警是2.8米,并且高报警要持续3秒以上才触发,这样正常波动就不会误报,真实故障时也不会被漏掉。
7.3 变频器干扰:为什么泵一启动触摸屏就白屏
这是我在另一个项目里遇到过的,恰好和这套系统的排查经验可以互相对照。当时的情况是,只要变频器一启动,触摸屏偶尔白屏重启,报警记录里还出现过plc连接失败。后来查下来是变频器到电机的动力电缆和触摸屏电源线在同一个线槽里并排走了好几米,变频器的高频PWM干扰直接耦合进了控制电源。
处理办法是:动力电缆和控制电缆完全分离敷设,触摸屏的开关电源换成带滤波的工业电源,PLC的24V电源和触摸屏的24V电源从不同回路取电,避免相互干扰。在含变频器的柜子里,24V电源尽量分层单独布置,能买带EMC滤波的电源就不要贪图便宜。
7.4 画面元素太多导致操作误触:别堆砌按钮
触摸屏编程有一个看上去不起眼但实际影响很大的问题:操作按钮的排布。我见过有人在7寸屏上一页放了30多个按钮和指示灯,值班人员戴着手套操作时经常误触。后来我把每页的操作按钮控制在10个以内,关键操作(如手动启动某台泵)必须弹窗确认,弹窗上有红色"确认"和灰色"取消",防误触效果很好。
这套系统的画面还有一个细节是"强制确认":任何手动操作都会弹出一个窗口显示"即将启动1号提升泵,确定吗?",按钮默认焦点放在取消上,防止习惯性连点。这个设计在无人值守场景里尤为重要,因为远程看护的人对现场设备情况的感知是有延迟的,多点一个确认的成本远远低于误操作带来的设备损坏。
8. 无人值守系统的远程扩展思路:从柜内到云端
写到这里,整套西门子S7-200加触摸屏的本地控制系统已经完整落地。但"无人值守"四个字,放在当下的语境里,一定会有人追问:能不能远程在手机上看数据?能不能做到真正的无人巡检?
我在交付这套系统时给业主预留了扩展接口,但先把方案讲清楚。
- 最简单的方式是在触摸屏的以太网口上接一个4G工业路由器,通过厂家自带的远程透传工具访问触摸屏工程,实现远程监控画面和参数修改。威纶通和昆仑通态都有对应的云平台服务,这种方式适合小规模站点,成本几百块,部署最快。
- 如果想要更稳定的数据采集,再加一台边缘网关,通过Modbus TCP协议从S7-200读取数据,然后转发到云平台。网关还可以做本地缓存,断网时先把数据存起来,网络恢复后补传。
- S7-200本身没有以太网口,CPU226要想走Modbus TCP需要外加通讯处理器或网关模块。如果重启一个项目,我会选S7-200 SMART或者直接上S7-1200,既保持西门子的稳定性和编程习惯,又原生支持网络通讯,后续上云和维护都会轻松很多。
这个扩展方向不是本文的重点,但如果你想做真正"无人"的站区,这条链路是绕不开的。哪怕暂时不上云,我也建议在控制柜里预留好网线和4G路由器的安装位置,省的以后改造时又把柜子拆一遍。
最后说回这套系统本身。这么多年做下来,我对西门子200PLC加触摸屏组合的体会是:它不炫酷,但极其可靠,就像站里那台跑了快十年的提升泵,没人注意它,但它一直在稳定地转。无人值守的设计目标从来不是把所有情况都想全,而是让系统在最意外的情况下也能给出一个明确的、安全的状态,然后告诉人该干什么。这套系统运行到现在,除了几次雷雨天气造成的通讯闪断,还没有出过让业主半夜跑现场的事故。能做到这点,我觉得这套方案就值了。