做了六年污水处理电气控制项目,西门子S7-200 SMART配威纶通触摸屏这套组合,我前前后后经手了不下二十个项目。不管是日处理几千吨的乡镇污水站,还是企业内部的工业废水预处理系统,这套配置基本都能扛下来,而且维护成本低、备件好买、调试周期短——在中小型水处理项目里,它几乎是"标准答案"般的存在。
今天抽空把这类项目从工艺流程梳理、PLC程序编写到威纶通触摸屏组态的完整思路整理出来。重点会放在那些真正让你在现场少走弯路的细节上,比如I/O点表怎么规划才能避免后期加点位,模拟量信号为什么总是跳、PID参数到底怎么整定,以及触摸屏和PLC通讯偶尔掉线到底卡在哪。内容比较长,但都是实打实的项目经验,适合刚接触水处理行业的电气工程师,也适合准备做毕业设计或者课程设计的学生参考。
1. 项目背景与整体设计思路
1.1 污水处理工艺与控制需求拆解
做电气控制之前,第一步永远是搞懂工艺。我接触到的大多数中小型污水处理站,走的都是比较成熟的A2O或活性污泥法路线,典型工艺流程可以概括为:进水经过粗格栅拦截大块杂物,进集水井,由提升泵抽到细格栅和沉砂池,再进入生化池(厌氧、缺氧、好氧三段),好氧段通过曝气风机供氧维持微生物活性,之后混合液进二沉池泥水分离,上清液经过消毒池杀菌后排放或回用,沉淀下来的污泥一部分回流到生化池维持污泥浓度,剩余污泥进污泥浓缩池脱水外运。
从这个流程拆解下来,控制系统需要覆盖的控制对象就很清晰了:
- 粗格栅机:根据格栅前后液位差自动启停,栅前栅后液位差超过设定值说明格栅堵塞了,需要启动格栅清渣;
- 提升泵:核心控制对象,一般2到3台泵,根据集水井液位自动启停和轮换,防止频繁启停损坏电机;
- 曝气风机:根据好氧池溶解氧浓度调节运行频率或启停,这是整个系统里控制逻辑最复杂、也最考验调试水平的环节;
- 污泥回流泵:按时间规律间歇运行,或根据进水流量按比例回流,我通常给它做定时控制加手动干预;
- 加药泵:深度处理段需要投加除磷剂、消毒剂时,根据流量或出水pH进行比例投加;
- 各类仪表:液位计、pH计、溶解氧仪、电磁流量计、污泥浓度计等,信号大部分是4-20mA标准模拟量。
控制需求归纳起来就三块:顺序逻辑控制(泵阀启停、设备联锁)、闭环调节控制(曝气DO的PID、加药pH的PID)、监控报警(液位越限、设备故障、仪表异常)。这三块想清楚了,后面的硬件选型和程序结构就都有了依据。
1.2 为什么是S7-200 SMART和威纶通
很多刚入行的朋友会问,现在西门子主流都推S7-1200和S7-1500了,为什么还用S7-200 SMART?我的回答很直接:看项目规模和应用场景。对于IO点数在几十个点、没有复杂运动控制和工业通信协议要求的中小型污水处理项目,S7-200 SMART的性价比是碾压级的。
S7-200 SMART的最大优势是自带以太网口,这代产品终于把以太网集成到CPU上了,和触摸屏、上位机通讯都不需要额外加通讯模块,而且S7-200 SMART的以太网口支持S7协议、Modbus TCP协议,既能和威纶通触摸屏走S7协议通讯,也能和上位机组态软件走Modbus TCP,灵活性很强。价格方面,一台CPU SR40(24输入16输出)大概一千多元,相比S7-1200有明显优势,对于预算卡得死的污水项目来说非常友好。
威纶通触摸屏我在这里推荐的是MT系列,比如MT8071IP、MT8102IE这些。理由有三点:一是EBpro组态软件完全免费,不像某些品牌授权费还要单独收费;二是威纶通内置了S7-200 SMART的通讯驱动,新建工程后直接选"Siemens S7-200 Smart"驱动,填上PLC的IP地址就能通讯,几乎零配置;三是触摸屏的性价比同样很高,七寸屏一千出头,十寸屏两千以内,在同类产品里属于非常能打的价格。这套组合做下来,整套控制柜(含PLC、触摸屏、继电器、断路器等)+成套设备,总成本可以控制在比较合理的范围内,这也是它能在中小型污水项目中大面积铺开的核心原因。
1.3 控制系统的整体网络架构
这类中小型污水控制系统的网络结构其实非常简单,可以用一句话概括:触摸屏和PLC走以太网直连,PLC通过扩展模块采集现场仪表和设备状态信号,输出控制指令到接触器或变频器。
具体来说,S7-200 SMART CPU本体集成了以太网口,威纶通触摸屏通过网线直接连接到PLC的以太网口,或者通过小型交换机把PLC、触摸屏、上位机连接成一个局域网。PLC的IP地址默认是192.168.0.1,触摸屏设为192.168.0.2(或者同网段的其它地址),只要物理链路通了,EBpro软件里就能直接搜到PLC。
控制层级从上到下可以划分为三层:
- 管理层:触摸屏(HMI),负责人机交互、参数设定、报警显示、趋势记录;
- 控制层:S7-200 SMART PLC,负责所有逻辑运算、PID调节、报警判断,这是整个系统的"大脑";
- 设备层:各类传感器(液位、pH、DO、流量)、执行机构(泵、风机、阀门、格栅),通过I/O模块和PLC交互。
这套架构的优点在于控制独立性强——触摸屏即使故障,PLC依然能根据程序自动运行,不影响正常的生产工艺,这对于污水处理这种不能长时间停运的场景至关重要。
注意:S7-200 SMART的以太网口没有交换机功能,如果需要同时连接触摸屏、编程电脑和上位机,必须外接一个网络交换机,不能像普通交换机那样简单地串联。
2. PLC系统配置与I/O规划
2.1 硬件选型与模块配置
S7-200 SMART选型的第一步是数清楚现场有多少输入信号和输出信号。以我最近做的污水处理项目为例,系统包含:
开关量输入(DI):4台水泵的故障信号、手自动转换开关状态、格栅故障信号、风机故障信号、各阀门开到位/关到位信号,一共14个点左右。
开关量输出(DO):4台水泵启停控制、格栅启停控制、2台风机启停控制、加药泵控制、蜂鸣器、报警指示灯,一共10个点左右。
模拟量输入(AI):集水井液位、厌氧池pH、好氧池溶解氧、出水流量、污泥浓度、进水pH,一共6路4-20mA信号。
模拟量输出(AO):曝气风机变频器频率给定1路,加药泵变频器频率给定1路(或者用功能端子多段速控制),一共2路。
根据这个点数,CPU我选的是CPU SR40(24DI/16DO,继电器输出),因为输出多且设备启停不频繁,用继电器输出就可以满足,成本也更低。模拟量输入扩展一块EM AE04(4路模拟量输入),再加一块EM AE01(1路模拟量输入带1路模拟量输出)用于补足剩下的模拟量点数和模拟量输出。
这里要特别说明一下选型时的两点考量:
第一,S7-200 SMART的模拟量模块没有总线扩展能力,但每个CPU最多能扩展6个模块,需要规划好模块安装顺序。模块地址是按位置自动分配的,AE04的输入地址从AIW16开始(如果CPU本体没有模拟量通道,从16开始),后续模块依次递增。
第二,为什么不用CPU本体集成的模拟量通道?S7-200 SMART的CPU本体自带模拟量输入只有SR20/ST20以上的型号才带(ST20带2路AI),但通道数不够项目需求,而且本体模拟量通道和扩展模块的地址分配规则不同,容易搞混。我习惯直接扩一个AE04,地址清晰,排查也方便。
2.2 I/O点表设计与分配
点表是整个项目非常关键的设计文件,它决定了程序变量定义和柜内接线的标准。把点表做好了,编程和接线就是照表施工,出错的概率会大幅下降。
I/O点表的设计原则是类型分组、符号命名清晰、留有裕量。我的习惯做法如下:
- DI点用I0.0、I0.1、I0.2……顺序分配,每个点注明信号名称、仪表变送器编号、电缆编号、端子号;
- DO点用Q0.0、Q0.1、Q0.2……分配,注意S7-200 SMART的高速输出在Q0.0和Q0.1,如果不用高速脉冲,这两个点可以普通用,但我在设计时习惯留出来不占用,方便后续扩展(比如增加变频器脉冲给定);
- AI点为AIW16、AIW18、AIW20……的偶数地址(S7-200 SMART中模拟量地址按偶数字节递增);
- AO点为AQW16、AQW18(同样按偶数字节递减分配)。
举个例子,部分关键点表如下:
| 地址 | 符号名 | 信号说明 | 量程/备注 |
|---|---|---|---|
| I0.0 | PUMP1_FAULT | 1#提升泵热继故障 | 常闭信号,断开报警 |
| I0.1 | PUMP2_FAULT | 2#提升泵热继故障 | 常闭信号,断开报警 |
| I0.2 | PUMP3_FAULT | 3#提升泵热继故障 | 常闭信号,断开报警 |
| I0.3 | GSCREEN_FAULT | 粗格栅热继故障 | 常闭信号 |
| I0.4-0.7 | SYS_MODE | 手自动转换开关 | 4位选择,预留 |
| Q0.0 | PUMP1_RUN | 1#提升泵启动 | 接触器线圈 |
| Q0.1 | PUMP2_RUN | 2#提升泵启动 | 接触器线圈 |
| Q0.2 | PUMP3_RUN | 3#提升泵启动 | 接触器线圈 |
| Q0.3 | GSCREEN_RUN | 粗格栅启动 | 接触器线圈 |
| AIW16 | LEVEL_SUMP | 集水井液位 | 4-20mA,0-6m |
| AIW18 | PH_ANAEROBIC | 厌氧池pH | 4-20mA,0-14 |
| AIW20 | DO_AEROBIC | 好氧池溶解氧 | 4-20mA,0-10mg/L |
| AIW22 | FLOW_OUT | 出水流量 | 4-20mA,0-200m³/h |
| AQW16 | FREQ_BLOWER | 风机变频器频率给定 | 4-20mA,0-50Hz |
点表设计时有一个我很想强调的细节:故障信号FALSE-TO-TRUE的设计。现场发热继电器的常闭触点串入PLC输入,正常时输入为ON,故障时输入为OFF。这样万一热继电器触点接线断线,程序会检测出"非正常OFF"状态,从而报出故障,这比用常开点更安全。我做项目统一用常闭点接故障信号,设备运行中突然输入变OFF就是故障,非常直观。
2.3 仪表选型与接线要点
污水处理现场的仪表选型,首先要考虑的是恶劣环境适应性。集水井液位我推荐用静压式液位计或者超声波液位计,前者耐污水腐蚀、测量稳定,后者安装方便、免接触,但泡沫多的场合精度会受影响。pH计一定要选带探头自动清洗功能的,生化池的污泥容易附着在探头上导致测量漂移。溶解氧仪认准荧光法探头,相比极谱法探头维护量小很多,几乎不用换膜加电解液。
接线方面有几个细节值得展开说:
模拟量信号统一用屏蔽双绞线,屏蔽层单端接地(在PLC柜侧接地),千万不要两端都接地,否则会形成地环路产生共模干扰,导致信号跳动。信号线走独立的线槽,和动力电缆尤其是变频器输出电缆保持至少20厘米以上的距离,这是抗干扰最简单也最重要的措施。
4-20mA信号是二线制还是四线制,接法不同。二线制仪表需要PLC模块提供回路供电,S7-200 SMART模拟量模块自带24V电源输出(M端),接法为仪表正极接24V+,信号线接AI通道;四线制仪表自带独立电源,信号线直接接AI通道正负极。现场经常有人接错,问得最多的"信号满量程显示"或"没有信号",十有八九是这两种制式的接线搞混了。
干接点还是湿接点要对清楚。设备厂家提供的故障信号如果是干接点(无源触点),直接接入PLC输入端子;如果是有源信号(比如24V脉冲),就需要确认电压等级和极性,避免烧坏输入端子——我也见过把220V误接到PLC输入端把点位烧掉的事故,这个坑务必避免。
注意:S7-200 SMART的扩展模块需要额外供电。CPU通过内部总线给扩展模块供电,但如果扩展模块数量超过3个或者现场的传感器需要模块提供24V电源,建议给模块单独接一个24V开关电源,避免CPU电源过载。
3. PLC程序架构与核心逻辑实现
3.1 程序整体结构与模块划分
S7-200 SMART的编程软件是STEP 7-Micro/WIN SMART,程序采用主程序+子程序+中断程序的结构。做污水处理控制程序,我强烈建议按照功能拆分多个子程序,不要在主程序里堆一大坨逻辑,否则后期维护真的会怀疑人生。
我的程序结构通常如下:
- 主程序OB1:调用各个子程序,完成系统初始化、周期扫描调度;
- 通讯初始化子程序:配置以太网参数、允许S7通讯;
- 模拟量采集与滤波子程序:把所有AIW原始值统一处理成工程量实数,存到V区,供其它子程序调用;
- 模式选择子程序:判断手自动状态,是否允许自动控制投入;
- 液位控制子程序:提升泵的启停、轮换、保护逻辑;
- 曝气控制子程序:DO的PID调节,风机启停和变频输出;
- 加药控制子程序:pH闭环或按流量比例投加;
- 格栅控制子程序:根据液位差或定时启停格栅;
- 报警子程序:汇总所有报警条件,输出报警信号,防止重复报警连响;
- 历史数据记录子程序:配合触摸屏趋势图做数据刷新(触摸屏侧自己采集也可以)。
程序编写时有一个原则:手自动切换必须有M区中间变量过渡,不允许直接用手自动开关的物理输入点去驱动输出。我是定义了一个M100.0作为系统自动模式标志位,手自动转换开关只是去置位或复位这个标志,所有设备控制逻辑都判断这个标志位。好处是程序调试时,可以在线强制这个M位来测试不同模式,不用真的去拨开关,方便得多。
3.2 模拟量采集与工程量转换
污水处理项目里大量的控制逻辑依赖模拟量数据,比如液位控制泵启停、DO控制曝气,所以模拟量处理是整个程序的地基。S7-200 SMART在0-20mA下对应0-27648的数字量(4-20mA对应5530-27648),不能直接拿来用,必须转换成实际的工程量。
转换公式很简单:
工程量 = (4-20mA原始电流对应数字量A - 数字量下限5530)/(27648 - 5530)×(量程上限 - 量程下限)+ 量程下限
不过,V区实数运算在S7-200 SMART里有个细节:智能量程转换函数可以用库指令,编程软件里有一个"Scale"库,输入当前AIW原始值、上下限,直接输出工程量浮点数。但是注意库指令要导入,有的破解版软件里可能没有,自己写一段也是顺手的事。
我习惯写一个模拟量处理子程序,对每一路AI做以下三步处理:
- 原始值取绝对值:防止输入短路或反接时出现负数干扰判断;
- 数字滤波:对连续4次采集值求平均,或者用一阶惯性滤波(Y(n)=a×X(n)+(1-a)×Y(n-1),a取0.2-0.3),处理掉液位计的液面波动噪声。这里要注意,滤波系数不能太小,否则响应太慢,泵的启停会滞后;
- 工程量转换:按上面的公式得到真实的液位、pH、DO值,放到VW对应的浮点变量里(比如VD1000存集水井液位,VD1004存DO浓度)。
具体转换代码示例(液位0-6m,4-20mA):
// 假设AIW16是集水井液位原始值 // 第一步:滤波后的原始值存到VW0(整型) // 第二步:把整型转成实数并缩放 ITD AIW16, VD2000 // 把集水井液位原始值转成双整数 DTR VD2000, VD2004 // 双整数转实数 MOVR VD2004, VD2008 // 保存原始实数 -R 5530.0, VD2004 // 减去4mA对应数字量 *R 6.0, VD2004 // 乘以量程(0-6m) /R 22118.0, VD2004 // 除以(27648-5530),得到液位工程值 MOVR VD2004, VD1000 // VD1000就是集水井液位,单位m这段逻辑很简单,但我在项目里会额外加一个断线检测:当AIW原始值小于5530(4mA以下),说明信号回路可能断路,这个时候液位值不参与联锁控制,同时置位一个断线报警位告诉触摸屏。这个很重要——如果液位计信号断了,PLC会误以为液位是0,可能不会启动提升泵,污水就会溢出集水井,后果挺严重的。
3.3 液位联动控制与泵轮换
提升泵的控制是污水站最基础的逻辑。2到3台泵根据集水井液位自动启停,关键是避免频繁启停拖垮接触器和电机。
我设计的控制逻辑如下(以3台泵为例):
- 液位大于2.5m:启动第一台主泵;
- 液位大于4.0m:加开第二台泵;
- 液位大于5.5m:加开第三台泵,同时触发超高液位报警;
- 液位低于1.0m:全部停泵;
- 液位低于2.0m:如果当前开2台泵,停掉最后启动的那台,保持一用一备。
这里有几个关键细节:
泵轮换策略:使用时间型自动轮换,PLC记录每台泵的累计运行时间(用SM0.4每分钟脉冲计数器累加OV寄存器,换算成小时存到V区),每次需要启动主泵时,优先选择累计运行时间短的泵作为主泵,运行时间长的转为备用。这样能让两台泵的磨损均衡,避免某台泵长期运行而另一台泵很少启动。
启停延时保护:每次泵启动到停止之间设置6-10秒的间隔时间,防止液位在临界点频繁波动导致泵短时间内反复启停。做法是用定时器做一个泵状态锁定窗口:泵启动后至少运行30秒,停止后至少间隔30秒才能再次启动。
故障自动切换:如果运行中的泵报故障(热继断开),程序自动在3秒内启动备用泵,同时报警。这个切换逻辑要放在主程序前端,优先于液位判断,确保故障泵不会继续被驱动。
一用一备模式:如果现场有2台泵,还可以做模式选择——"固定主备"或"交替主备"。触摸屏上放一个选择开关让运行人员选择,灵活性更好。
液位控制子程序我用了一个状态机思路,把泵的状态分为"停机待机、延时启动、运行、故障、延时停止"几个状态,每个状态对应不同的定时器和输出条件,程序结构清晰很多,排查问题也快。不推荐用一堆"液位大于多少就开泵、小于多少就停泵"的散落梯形图,逻辑多了容易互相打架。
3.4 曝气PID调节:溶解氧闭环控制
这一块是污水控制系统里技术含量最高的部分。好氧池的溶解氧浓度需要维持在1.5-3.0mg/L(根据工艺要求设定),过高浪费电费、污泥容易老化,过低微生物活性不足、出水水质不达标。控制方式常见两种:变频器调节风机转速或者调节曝气管路阀门开度。中小型项目用变频器控制转速居多,节能效果好。
S7-200 SMART的PID指令使用起来有一定门槛,调试时也容易踩坑,需要专门展开说。
PID参数设置:
在Micro/WIN SMART中,PID指令块需要配置PID参数表(表中的地址作为指令的输入输出区),包含增益(Kc)、积分时间(Ti)、微分时间(Td)、设定值、反馈值、输出值下限、输出值上限等。我把PID参数表分配在VB800开始的V区,触摸屏可以直接读写这些地址做在线调参。
需要特别注意的是:S7-200 SMART的PID指令需要手动做输入输出的标准化。PID指令的设定值和反馈值都要求是0.0-1.0之间的实数(归一化值),而PID输出值也是0.0-1.0,需要用前面的模拟量转换程序把DO实测值归一化,再把PID输出值反归一化成4-20mA的信号给变频器。
PID回路处理过程的代码结构大概是这样:
// PID输入:DO实测值(mg/L)从VD1004读取 // 设定值2.0 mg/L,先归一化 MOVR 2.0, VD1200 // 设定值2.0存入PID设定 /R 10.0, VD1204 // 归一化:VD1204 = 0.2(2.0/10) MOVR VD1004, VD1208 // 反馈:实测DO值 /R 10.0, VD1208 // 归一化:VD1208 = 实际DO/10 // 调用PID指令,输出值在VD1216 // 反归一化:PID输出0-1.0对应4-20mA *R 20.0, VD1216 // 0-20mA对应的数字量范围 +R 5530.0, VD1216 // 4-20mA对应的数字量起点 ITR VD1216, VW200 // 转成整型写到AQW16给变频器 MOVW VW200, AQW16PID参数整定方法:我在现场常用的还是临界比例度法(也叫Ziegler-Nichols经验整定法)。具体步骤:先把积分时间放到最大、微分时间归零,只留比例增益,从小到大逐渐加大Kc,同时观察DO浓度曲线,直到系统出现等幅振荡(大约5-8分钟一个周期),记录此时的比例增益Kc和振荡周期Tu,然后按经验公式计算PID参数(Kp约0.6Kc,Ti约0.5Tu,Td约0.125Tu)。用这个方法整定出来的参数基本能直接投用,后续微调一下就行。
积分饱和问题要处理:如果风机已经满频运行但DO还是达不到设定值,PID积分项会一直累加,等到DO恢复时输出可能还在高位,导致过冲。S7-200 SMART的PID指令本身有输出限幅和抗积分饱和功能,但我在程序里加了防积分饱和逻辑:当输出到上限时停止积分累加,并让PID输出锁定在上限值,直到反馈值开始回落到设定值附近再解除锁定。这个小逻辑大大减少了DO的动态波动。
风机启停和保护:如果系统有两台风机,我通常让一台工频运行(作为基础曝气),另一台变频闭环调节。当PID输出值低于30%且持续10分钟,可以自动停掉工频风机,以变频风机低转速单独维持曝气,进一步节能。反过来,如果PID输出持续高于90%,自动启动工频风机叠加曝气量。这个运行策略需要在触摸屏上做成可选择的"单风机模式"和"双风机模式",适应不同进水负荷工况。
3.5 报警与保护逻辑
污水处理项目报警系统设计得好不好,直接关系到运行人员的工作效率和安全性。我把报警分为三个等级:
- 一级报警(严重):集水井超高液位(有溢流风险)、所有泵均故障无法启动、风机故障导致DO低于0.5mg/L无法恢复、pH严重超限(<5或>10)、PLC电池电量低。这些报警触发蜂鸣器连续鸣响,并有声光报警,即使运行人员不在现场也能引起注意;
- 二级报警(一般):单台泵故障但备用泵已投入、DO浓度偏离设定值超过0.8mg/L超过30分钟、出水流量为零但泵在运行。这些报警只点亮指示灯和触摸屏报警提示,不响蜂鸣器;
- 三级报警(提示):模拟量信号断线、仪表量程超限、累计运行时间达到保养周期。提示运行人员安排设备检修。
报警逻辑编写时要注意去抖和延时:现场信号因为干扰可能瞬间波动,比如液位探头被水流冲一下导致瞬间超高,如果不加延时直接报警,会产生大量误报。我的做法是报警条件持续2秒以上才触发报警,1秒以内自动消失则不报警。这个延时时间在触摸屏上做成可调的,现场根据情况微调。
报警恢复和确认机制:每个报警都带"报警状态位"、"报警确认位"和"报警恢复位"。运行人员在触摸屏上按"确认"按钮可以消音,但报警状态位继续保持到故障真正恢复才复位。这样设计的好处是,故障处理完之后还能在报警历史记录里查看到完整的"发生-确认-恢复"时间线,方便事后分析。
4. 威纶通触摸屏组态开发
4.1 通讯建立与变量映射
威纶通触摸屏和S7-200 SMART的通讯配置,在EBpro Pro软件里几步就能完成,但有几个细节直接影响通讯稳定性,值得认真对待。
在EBpro Pro中新建工程,选择对应触摸屏型号(例如MT8071IP),然后在系统参数设置里添加设备:
- 设备驱动:选择"Siemens S7-200 Smart";
- 接口类型:选择Ethernet;
- 设置PLC IP地址:和PLC的IP在同一网段,比如PLC是192.168.0.1,触摸屏设置为192.168.0.2;
- 通讯超时时间:我习惯设置为200-300ms,太短容易在PLC程序比较长的时候误报通讯超时,太长会导致触摸屏画面响应迟钝。
变量映射方面,S7-200 SMART在威纶通里可以直接访问I、Q、M、V、MW、VB、VD等区域。我的做法是把PLC里的核心状态变量全部整理到V区连续地址,在EBpro Pro里按地址批量建立标签,方便后续画面引用和宏指令处理。
关键变量映射表举例:
| 触摸屏标签名 | PLC地址 | 数据类型 | 用途 |
|---|---|---|---|
| SumpLevel | VD1000 | Float | 集水井液位 |
| DOValue | VD1004 | Float | 溶解氧浓度 |
| PID_KP | VD800 | Float | PID比例增益 |
| PID_TI | VD804 | Float | PID积分时间 |
| Pump1_Run | M0.0 | Bit | 1#泵运行状态 |
| Pump1_Fault | I0.0 | Bit | 1#泵故障 |
| Mode_Auto | M100.0 | Bit | 自动模式标志 |
| FlowRate | VD1008 | Float | 瞬时流量 |
| Alarm_Count | VW200 | Word | 报警数量 |
这里我要特意提醒一下:威纶通的"4x、3x、5x"地址概念。很多新手会被EBpro Pro里标签地址前面的4x、3x、5x搞晕。这些编号源自Modbus协议的数据区域:0x是线圈输出(对应PLC的Q区)、1x是输入状态(对应I区)、3x是模拟量输入寄存器(对应AIW)、4x是保持寄存器(对应V区)。在S7-200 Smart驱动下,这些概念被简化了,你不需要手动加前缀,直接在标签地址栏输入VW0、VD1000、M0.0、Q0.0即可。但是在某些库函数、宏指令或者和第三方系统通讯时,可能还会用到4x/3x的寄存器地址用法,这个基础知识需要掌握。
4.2 画面规划与人机交互设计
威纶通触摸屏的画面规划,我遵循的原则是"一分钟原则":运行人员走进控制室,一分钟内要能从主画面判断出整个系统的运行状态是否正常。
我做污水项目触摸屏画面通常分以下几个页面:
首页-系统总览:用一张污水站工艺流程图做底图,各设备用"位状态指示灯"元件动态显示运行状态(绿色闪烁=运行、红色=故障、灰色=停止),各仪表数值实时显示在工艺图的对应位置。这样运行人员一眼就能看出水流到哪个环节、哪台设备正在运行、哪个参数偏高偏低。这张图是整个触摸屏的核心画面,花时间做好很值得。
手动控制页:每台设备做一个"两态按钮"或"开关"元件,操作工点击时PLC对应M区位置位或复位,强制该设备启停。手动模式主要用于设备单机调试和维护检修,所以我在这一页每个设备旁边都放一个当前模式指示灯(红色=手动模式,绿色=自动模式),防止操作工在自动模式下误碰按钮导致困恼。
参数设置页:集中放置PID参数(P、I、D上限下限)、液位控制上下限值、泵轮换时间、报警延时时间等可调参数。每个参数通过"数值输入"元件写入PLC的V区。数值输入元件我建议设置一个最小值和最大值约束,防止运行人员填错参数导致设备异常动作。比如PID增益我限制在0.1-20.0之间,液位设定限制在0-6m之间。
报警页:上半部分是当前报警列表(PLC的报警状态位驱动显示),下半部分是历史报警记录(触摸屏自带的"事件登录"功能实现,记录发生时间、恢复时间、报警内容)。报警发生时还要设置一个全局弹窗优先显示当前最严重的报警,需要按"确认"才能关闭,这能确保运行人员第一时间看到报警信息。
趋势图页:用EBpro的"趋势图"元件,数据源选择PLC变量VD1004(DO)和VD1000(液位),可以同时显示2-4条曲线。时间范围做成可选的,比如最近1小时、8小时、24小时。趋势图对运行人员判断工艺稳定性和调试PID参数非常有用——PID调得好不好,曲线一看便知。
4.3 参数设定与报警管理
触摸屏的报警管理功能如果只用默认配置,很容易出现"报警只弹一次后运行人员没看到"的问题。我在项目里对报警管理做了强化处理:
报警分组和优先级:EBpro Pro的报警支持按PLC寄存器触发,虽然都是通过状态位触发,但通过设计不同的报警地址区间,可以区分报警级别,在画面上用不同颜色显示(严重报警红色、一般报警橙色、提示报警黄色)。
报警历史记录要用SD卡或U盘导出:威纶通触摸屏支持外部存储介质,我会在触摸屏上外接一个SD卡,让报警记录和趋势数据自动存储,方便每个月导出做运行分析。数据导出时建议按月份归档命名(比如2025-06报警记录.csv),方便后续追溯和环保检查时的数据准备。
报警去抖写在PLC里还是触摸屏里:这个设计决策要明确。我的建议是报警条件判断和延时逻辑全部放在PLC里,PLC只是通过M位告诉触摸屏"现在哪个报警有效"。触摸屏不需要做任何报警逻辑判断,只做显示和历史记录。这样的好处是:即使触摸屏重启,报警状态不会丢(因为PLC还在运行),重启后画面能马上恢复正确的报警状态。
4.4 趋势曲线与数据记录
谈到趋势曲线,有些刚入门的工程师会把趋势图数据直接绑定到PLC变量上,结果发现数据刷新慢、曲线不平滑。这里有个经验:高频数据(如PID输出值、DO瞬时值)优先在触摸屏本地用宏指令采集到LW地址,再绑定到趋势图,这样可以降低对PLC通讯的占用,PLC的通讯带宽留给更重要的状态变量和控制命令。
具体做法是在EBpro Pro项目的"宏指令"里写一个周期执行的宏(比如每500ms执行一次),把触摸屏读取到的DO值、液位值存到LW9000开始的本地寄存器,然后趋势图的数据源使用LW9000。
如果项目需要做比较长的数据记录,比如一个月的水质趋势分析,我建议加一个物联网网关或者触摸屏自身的存储扩展。威纶通支持通过FTP上传数据文件到局域网服务器,这个功能在部分中小企业里可能用不上,但确实有一些客户要求"数据能导出来分析",我会在调试完成时给运行人员演示一遍怎么导出历史趋势数据,这个细节很加分。
提示:触摸屏和PLC通讯速度受限于PLC的扫描周期和通讯带宽。如果画面有大量动态元件,比如几十个位状态指示灯同时刷新,可能会出现画面卡顿。优化方法是在不重要的画面元素上用"低频刷新"模式,或者把多个位状态合并打包到一个字地址里,触摸屏一次读取多个位(用字地址的对应位做位状态显示),刷新效率会高很多。
5. 调试过程与常见问题排查
5.1 联机调试的流程与操作要点
整个控制系统安装完成后的调试,我把它分成四个阶段,每个阶段都有明确的检查重点:
第一阶段:上电检查与单项测试。确认柜内所有断路器、开关电源送电,逐一检查PLC和触摸屏是否正常启动,用万用表测各模块供电电压是否在24V±10%范围内。先不接任何现场信号和负载,用编程软件在线监控,强制输出测试每个数字量输出点是否动作正常,用信号发生器或直接短接测试模拟量输入通道是否采集正确。
第二阶段:模拟量校准。用标准信号发生器给每路4-20mA通道输入4mA、12mA、20mA三个典型值,在编程软件里监控AIW值是否对应5530、16384(大约)、27648,再观察转换后的工程量是否准确。这一步是数据准确性的基础,一定要逐个通道校准,不要偷懒只抽测一两路。
第三阶段:空载联调。负载端不接电机(断开接触器二次回路),把设备手动模式分别动作一遍,确认各接触器吸合正常、无卡滞。然后在自动模式下模拟传感器信号(比如用信号发生器给集水井液位一个5.0m信号),观察泵是否正确启动、报警是否正确触发。这个阶段我极力推荐做信号模拟测试,因为在现场不能随便让污水进水来测试,通过模拟信号验证逻辑比事后出了问题再排查效率高太多。
第四阶段:带载试运行。确认现场设备接线无误后合闸带载,手动点动测试每台电机的转向和运行声音,正常后投入自动运行。试运行一般持续一周左右,期间每天记录DO、液位、pH等关键参数的趋势曲线,观察PID参数是否需要微调。试运行期间的调整记录全部保存到日志里,作为最终验收的依据。
5.2 典型故障与排查技巧
做污水处理项目现场,我最常遇到的问题基本可以归纳为下面几类,这里整理成一个排查速查表,方便大家直接对照:
| 故障现象 | 可能原因 | 排查/解决方法 |
|---|---|---|
| 触摸屏显示"PLC无响应"或通讯超时 | 网线松动或水晶头氧化 | 重新插拔网线,检查网口指示灯是否正常 |
| IP地址冲突 | 分别pingPLC和触摸屏是否在同一网段唯一 | |
| PLC未允许S7通讯 | Micro/WIN SMART中勾选"允许从远程设备读取/写入" | |
| 模拟量数值跳变 | 屏蔽线未单端接地 | 在PLC柜侧将屏蔽层接地,避免两端接地 |
| 信号线离变频器太近 | 重新规划走线,保持安全距离 | |
| 变送器供电不稳 | 给变送器单独供电,或加隔离器 | |
| 液位显示始终满量程 | 4-20mA接线错误,二线制/四线制搞混 | 核对仪表说明书,确认信号极性 |
| 模块模式开关位置错误 | AE模块侧面的模式选择开关要拨到"电流"位 | |
| PID输出振荡,DO曲线锯齿状 | PID参数太激进 | 减小增益、增大积分时间,重新整定 |
| 反馈测量滞后 | 溶解氧探头位置不合理,调整安装位置 | |
| 泵频繁启停 | 液位上下限区间过小 | 调整液位启停限值,增大迟滞区间 |
| 泵启停间隔时间太短 | 增大程序中的启停锁定延时 | |
| 触摸屏画面卡顿 | 动态元件过多,通讯刷新率过高 | 减少动态元件,或按上述"连接字地址位状态"优化 |
| 设备实际动作和画面显示不一致 | 接触器辅助触点位置接错 | 检查接触器反馈信号是否取自真正的辅助触点 |
这里我想特别展开一个案例,很多项目都栽在**"模拟量满量程"**这个坑上。
有一回现场调试,集水井液位始终显示8.0m(满量程),连信号发生器给4mA也一样显示满量程。排查过程是这样的:先检查接线完全正确,再用万用表在PLC模块端子直接测电流为4.02mA,排除了传感器问题;然后在线监控AIW原始值,发现无论输入多大,AIW始终是27648。问题出在模块的通道配置上——S7-200 SMART的模拟量模块侧边有个小型拨码开关,需要把对应通道拨到"电流"档位而不是"电压"档位,才能正确识别4-20mA信号。这个开关位置在《S7-200 SMART扩展模块手册》里有说明,但新手上手时基本不会注意到这个细节。
5.3 这个项目的扩展与优化方向
污水处理控制系统的项目做完、运行稳定后,通常还会面临一些客户提出的后续需求。这里整理几个常见的扩展方向,供大家参考:
上位机组态监控(远程中控室):当污水站规模变大或业主需要远程监控时,可以在现有方案基础上增加一台监控电脑,用组态王或力控等国产组态软件,通过Modbus TCP与PLC通讯汇总数据。S7-200 SMART的以太网口在连接触摸屏的同时还能并发连接上位机,不需要额外加通讯模块,这是200 SMART的一大优势。
物联网远程报警与运维:现在很多污水站是"无人值守"模式,业主希望手机能收到报警推送。我最近几个项目陆续加了4G DTU设备,通过Modbus TCP把PLC的报警状态和关键参数上传到云平台,手机微信小程序就能查看系统状态和报警信息。触摸屏厂商也有远程模块(威纶通的cMT系列远程监控方案也是比较成熟的),选择余地很大。
冗余与备用:如果污水处理厂属于关键基础设施、不允许长时间停机检修,那PLC的冗余方案就需要考虑了——比如CPU冗余、双链路通讯等。但通常中小型污水项目用不上,S7-200 SMART本身也不支持硬件冗余,我会在方案阶段和业主沟通清楚这个边界,避免业主对系统可用性有不合理预期。
能效优化:曝气系统是污水站电耗的大头,占全站电耗的50%以上。在现有PID控制基础上,可以进一步做溶解氧的"季节优化"——不同温度下微生物活性不同,最优DO设定值也不同。这个可以通过触摸屏参数画面上增加一个温度补偿因子,或者用更智能的算法(前馈控制)根据进水COD/氨氮负荷提前调节曝气量,避免滞后。这些都是技术方向上可以探讨的,具体做法需要结合项目实际需求来定。
6. 一点小结与个人体会
回头整理这些东西,最深的体会是:做控制系统不是把程序写完就完事了,设计阶段的思路和细节决定了一台设备能不能在现场稳定运行。我见过太多项目在程序上"能用但不耐用"——液位控制逻辑散乱、模拟量没有滤波、PID参数随意填个数字——这样的系统到了现场迟早出问题。把架构搭清楚,把每个环节的余量和边界想明白,才是真正的省事。
如果要对刚开始接触这类项目的朋友说一句实在话,那就是:别急于写程序,先用三天把工艺、仪表、阀门的真实工作方式搞清楚,再花一天规划好点表和程序结构,最后用一天写代码、五天调试——前期多花的时间在后调试阶段完全能赚回来。
这套S7-200 SMART加威纶通触摸屏的方案,在我做过的项目里基本没有出现因为PLC性能不足导致的问题。它在中小型污水处理项目里的定位,就像是工地上一把用得顺手的十字螺丝刀,不一定是最显眼的工具,但一定是你最离不开的那把。
最后分享一个小习惯:每次项目验收时,我都会把项目用到的最新程序、触摸屏工程文件和故障排查记录一起打包刻录一份"竣工备份",交到业主手里。污水处理系统经常运行几年后工艺调整需要改动程序,那时候这份备份资料就是救命的。这个习惯帮我避免了不少"我改过这个程序但没保存下来"的尴尬场景,各位同行不妨也养成这个习惯。