西门子200 Smart加维纶触摸屏这套组合,在中小型自控项目里算得上黄金搭档了。这次要聊的案例,是某制造企业的疫苗车间控制系统,PLC用的是S7-200 SMART,HMI用的维纶触摸屏,程序画面都是完整跑过的,不是Demo也不是教学实验,而是真正在现场稳定运行的项目。整套系统涵盖了手动自动切换、模拟量采集、PID调节、联锁保护、报警记录、配方切换这些典型功能,适合正在做类似中小型制药、洁净车间、食品线改造项目的工程师参考。我先把整个项目的设计思路、硬件配置、程序框架、画面组态和调试过程中踩过的坑逐一拆开讲,尽量把能直接落地的细节写清楚。
1. 项目背景与控制需求拆解
1.1 疫苗车间控制系统的特殊性
疫苗生产车间和普通工厂车间最大的区别在于,它对环境参数、设备运行状态、数据追溯有非常严格的要求。GMP规范里明确要求温度、压差、湿度这些关键参数需要有实时监控和记录,设备运行要有报警提示,操作要有权限管理,甚至部分数据要能导出归档。这个项目里的疫苗车间,主要工艺区域包括配液间、灌装线、冻干机房、洁净走廊和空调机房,每块区域都有对应的自控需求。
车间里的设备类型比较杂,有恒温箱、冷水机组、循环泵、排风机、空调机组、灌装线输送电机,还有蒸汽调节阀和纯化水流量计。以前这些设备多数是单机控制,操作工需要跑到现场一个个开机,记录温度也靠纸笔。这次改造的目标很明确:把分散的设备集中到中控室统一监控,把关键的环境参数做到自动调节和超限报警,同时让操作工能在触摸屏上完成大部分日常操作。
1.2 控制系统整体架构与方案选型
方案选型的时候考虑过几个方向。一种是直接用S7-1200加精简HMI,性能确实更强,但成本偏高,而且对于这种I/O点数不算多、逻辑复杂度中等的项目,有点浪费。另一种是全部用国产PLC,成本低,但项目要求品牌认可度和后续维护便利性,西门子在制药行业的口碑和资料完整度相对更稳。最终定了S7-200 SMART配合维纶触摸屏,主要原因是CPU价格合适、自带的以太网口支持程序下载和HMI通信,维纶屏的性价比和画面开发效率也高,整体下来比同配置的西门子Smart屏方案要省不少预算。
硬件配置上选的是CPU ST40,数字量输入输出点数基本够用,另外扩展了一块EM AE01模拟量模块用于采集温度、湿度、压差和流量信号,输出侧调节阀用的模拟量输出则直接走CPU自带的AQ。这套配置的优点在于接线简单、模块少、故障点少,维护起来也很直观。对于疫苗车间这种对稳定性格外敏感的场所,控制系统的复杂度反而是越低越安全。
2. 硬件配置与信号分配
2.1 200 SMART PLC选型与模块配置
CPU ST40是S7-200 SMART系列里比较经典的晶体管输出型号,自带24点输入和16点输出,支持扩展6个模块。项目实际用到的数字量输入约18点,输出约12点,所以CPU本身就有余量。扩展的EM AE01是4通道模拟量输入模块,量程支持0-10V和0-20mA,通过模块侧面的拨码开关配置。这里要特别提醒,拨码开关必须在断电状态下调整,否则容易造成通道损坏,我见过有人带电拨码导致通道直接烧掉的案例。
模拟量信号分配上,四路模拟量输入分别是冻干机房温度、灌装间压差、纯化水流量和冷水回水温度。温度传感器用的PT100,经过温度变送器转换成4-20mA信号进PLC;压差变送器输出0-10V;流量计是自带4-20mA输出的电磁流量计;冷水回水温度同样走温度变送器。混合使用电压和电流信号没问题的前提是,接线前把量程和拨码开关配置全部核对清楚。
模拟量输出那一路给到蒸汽调节阀,控制信号是4-20mA,用于冻干机房加热除湿时的温度调节。这里选用阀门的开度反馈并没有接回PLC,因为PID调节主要看温度实际值,阀位反馈不是必须项,省掉一路模拟量输入也能降低预算。
2.2 IO分配思路与实际点位清单
IO分配看着简单,但真正设计的时候要花不少心思。基本原则是:把安全相关的信号(急停、门禁、故障反馈)放在最稳定的输入点上,把容易出问题的输出点隔离到同一组通道,避免动力线干扰。数字量输入主要分为三块:设备手自动状态反馈、运行状态反馈、故障报警反馈。数字量输出则包括电机启停、电磁阀开关、声光报警器。
以灌装线为例,输入点有输送带启动反馈、灌装机运行反馈、灌装机故障、主传动电机过载;输出点有输送带启动、灌装机启停控制、报警输出。这些点位看似常规,但如果不对照电气原理图逐一核对,很容易出现逻辑里用的是Q0.0,实际接的是Q0.1这种情况。调试阶段常见的问题就是程序没有问题,但现场就是不动,最后发现是输出点分配和接线端子对不上。
2.3 触摸屏选型与通信组网
触摸屏用的是维纶的TK6071iP,10寸屏,分辨率和响应速度在这个项目里完全够用。维纶屏配套的组态软件是EBPro,界面交互做得比较顺手,变量导入导出也方便。通信方式走的是以太网,PLC的以太网口和屏的网口通过交换机连接,这样做的最大好处是,程序调试的时候同一台电脑也能同时访问PLC和触摸屏,不用来回切换线缆。
通信参数设置时,PLC端需要启用S7协议,触摸屏端在EBPro里选择PLC类型为Siemens S7-200 SMART,接口类型选Ethernet,IP地址填PLC的地址,站号默认即可。这里有个容易踩的坑:S7-200 SMART的以太网口默认IP是192.168.2.1,触摸屏默认网段如果不一致,无论如何都连不上。项目中网段统一规划为192.168.1.1和192.168.1.10,并在交换机上给PLC和HMI分别设置了保留地址,保障通信稳定。
3. 程序核心逻辑设计与实现
3.1 手动自动控制框架
控制程序采用模块化结构,主程序OB1里通过SM0.0调用各个子程序,包括初始化子程序、手动控制子程序、自动控制子程序、模拟量处理子程序、报警处理子程序。手动和自动的切换在触摸屏上操作,PLC内部用M继电器保存当前模式,模式切换时所有输出先复位,防止运行中直接切换造成设备突然启停。
很多人写手动自动切换只考虑输出条件,其实更重要的是切换瞬间的互锁处理和启动条件扫尾。比如灌装线在自动模式运行到一半被切到手动,如果程序里没有延时复位,输送带会因为手动按钮被误触动而突然启动,这是很危险的事。我的做法是切换模式时先把自动运行标志复位,再延时300ms复位输出,确保安全。
3.2 模拟量采集与PID调节
模拟量处理是整个程序中比较核心的部分。EM AE01读取到的原始数值范围是0-27648,对应0-20mA或0-10V,程序里需要先将其转换成工程量。温度量程是0-100℃,对应4-20mA,换算公式是工程量 = 原始值 / 27648 × 量程上限。这里建议把转换写成带死区的量程换算,避免信号在零点附近因为微小波动导致数据上下跳。
蒸汽调节阀的控制用的是PID功能。S7-200 SMART的PID指令在向导里配置,设定PID回路号、过程变量地址、输出地址、增益、积分时间、微分时间等参数。项目调试时把增益设为2.5,积分时间设为60秒,微分时间设为0,实际效果就比较平滑。启动PID前必须确认过程变量和输出都已经换算到0.0-1.0之间的标准化数值,否则PID输出会莫名其妙地跑飞。PID手动整定的时候先让系统稳定在某个温度点,然后逐步增加增益,直到出现等幅振荡再回退一点,这个经验值比任何花哨的公式都实用。
3.3 联锁保护与报警逻辑
疫苗车间的设备有个特点:一台设备停了,相关的上下游设备都需要跟着处理。比如冻干机房的送风机如果故障停机,加热蒸汽调节阀必须关闭,否则热量积聚会造成安全隐患。程序里这些联锁都写在自动控制子程序中,每个设备的启停条件都包含上游设备的运行状态位。
报警逻辑我做了分级处理:一级报警影响产品质量或安全,需要声音提醒加画面闪烁;二级报警是设备运行异常,只需要画面提醒;三级报警是参数越限,记录并提示操作员关注。报警数据存放在PLC的V区,触摸屏通过读取这些位来触发报警显示。这里建议给每条报警配一个编号和文本描述,不要直接在画面上显示PLC变量地址,否则维护的人看到M0.5完全不知道发生了什么。
3.4 配方管理与设备状态
配方功能主要用来切换不同产品的生产参数。这个项目的配方参数包括各区域温度设定值、空调湿度下限、灌装线运行速度等,共设了三个配方。配方数据存放在PLC的V区,触摸屏通过宏指令或者配方数据库功能来实现配方页面。配方切换时同样需要先让系统进入停止状态,再写入配方值,最后重新激活自动模式。
设备状态统计也是一个实用功能。程序里用实时时钟指令读取当前时间,统计每台设备的累计运行时间,方便维护人员根据运行时长安排保养。运行时长的单位我设为秒,每小时写一次到保持寄存器,断电不丢失,这样即使设备停机半个小时后重新上电,时间统计也能衔接上,不至于归零重新计算。
4. 维纶触摸屏画面设计与联动调试
4.1 画面组态与变量映射
维纶屏的画面我分了六个页面:总览画面、设备控制画面、参数监控画面、报警画面、配方画面、用户管理画面。总览画面用简洁的流程图形式展示车间里的主要设备状态,每个设备用颜色区分运行、停止、故障。设备控制画面里面设置了手动自动切换按钮、单台设备的启停按钮和状态指示灯。参数监控画面用数值显示和趋势图展示温度、压差、流量这些模拟量数据。
EBPro里新建工程后,先在系统参数里添加PLC,然后在变量管理里新建所有需要用到的变量。这里有个经验:变量名称尽量和PLC程序里的符号名保持一致,比如PLC里温度地址是VD100,触摸屏变量名就写成Room_Temperature,对应地址VD100,这样后续排查问题会对得非常快。变量导入可以使用CSV批量导入,一开始就把点位表整理好,能省一大半重复劳动。
4.2 关键画面布局与操作逻辑
设备控制画面是操作工每天都要面对的,布局上把最常用的自动启动、自动停止放在最显眼的位置,单台设备的启停按钮放在对应设备的图形旁边。按钮的颜色做了统一:绿色表示运行状态,红色表示停止,橙色表示报警,灰色表示未启用。这些颜色约定不是随便定的,是参考制药厂操作规范里对状态颜色的惯用表达,操作工上手速度非常快。
报警画面除了显示当前报警列表外,还加了历史报警查询功能。维纶屏的报警数据默认保存在屏的内部存储器里,最多存几百条,断电后会不会丢要看型号和配置。建议在项目交付时把报警记录的存储周期和存储位置在组态里明确配置,否则现场跑几个月后报警历史就满了,旧数据自动覆盖,追溯审计的时候就麻烦了。
4.3 通信调试与宏应用
通信调试是项目里最容易卡住的环节之一。常见的现象是触摸屏上部分数据显示正常,部分数据一直显示####或者无变化,这种情况多数是地址映射错了或者变量地址超出了PLC的V区范围。排查时先在EBPro的在线模拟模式里逐个监控变量值,如果模拟正常而实际屏上不正常,再检查通信设置和网线连接。
宏指令在维纶屏里是个很灵活的工具,可以完成一些PLC不方便处理的逻辑。比如开机时自动读取PLC的日期星期信息,或者在配方切换时自动给PLC发送一组写入指令。但我不建议把核心控制逻辑写在触摸屏宏里,原因很简单:屏一旦重启或者通信中断,控制逻辑就会丢,这个是安全底线。屏上只做显示、操作命令下发、简单计算,涉及安全的都留在PLC端。
5. 常见故障与调试经验实录
5.1 通信断连与数据抖动
项目调试过程中遇到过一次很有意思的通信问题。触摸屏上部分页面加载正常,但切换到趋势图页面时偶尔会黑屏重启。排查后发现是趋势图缓冲区的存储地址被设置得过大,屏的处理器承受不住频繁读写大数据量的地址区域,导致资源耗尽。把趋势图的数据采样周期从每秒一次改成每五秒一次,并把历史缓冲长度从几万条降到八千条,问题彻底解决。这个教训让我以后在组态趋势图的时候,都会先估算一下数据量,而不是一味追求长时间的历史记录。
数据抖动的问题也值得单独说。模拟量显示在触摸屏上经常会出现最后一位数字跳来跳去,虽然不影响控制,但操作工看着会觉得系统不稳定。处理办法是在PLC程序里对模拟量做了平均值滤波,连续取五次采样值求平均。对于变化很快的流量信号,平均窗口不能太长,否则响应变慢;对于温度这类慢变参数,平均滤波效果明显。
5.2 模拟量漂移与PID振荡
模拟量漂移是现场非常头疼的问题。这个项目投用后发现冻干机房温度显示值和实际温度计读数差了将近两度。排查过程从变送器开始查,校准后仍然偏移,后来把现场接线拆开用万用表测信号,发现信号线上串了一个很弱的干扰电压,用电工胶布处理了屏蔽层接地后恢复正常。模拟量信号线必须单独走屏蔽电缆,屏蔽层单端接地,千万不要和动力线走同一个线槽,这是最基本的抗干扰常识,但很多现场在布线图阶段就把这个要求忽略了。
PID振荡的问题出现在调试初期,加热段温度波动得很厉害,六个周期都稳定不下来。后来检查发现是蒸汽调节阀本身带有很强的非线性区,小开度下流量突跳,PID无法平稳控制。解决办法是把PID输出范围限制在30%-80%,避免进入阀门非线性区,同时给PID输出加了一个斜坡速率限制,让阀门开度变化不要过快。经过这两个调整,温度控制精度稳定在±0.5℃范围内,符合工艺要求。
5.3 报警漏报与操作权限问题
报警漏报的问题出在一次夜间值班时,灌装间压差异常升高,但触摸屏上没有弹出报警提示。查下来发现是压差变送器输出的电压信号在PLC里被转换成了工程量,但报警比较指令写在了自动控制子程序里,而当时系统正好处于手动模式,那个子程序没有被调用,报警判断也就没有执行。这个问题的根源是报警逻辑放错了位置。正确做法是把报警判断放在一个独立子程序中,不管是手动还是自动模式都要调用。所有安全相关的报警和联锁判断应该是常驻运行的,不能依赖模式标志位。
操作权限管理方面,维纶屏的用户管理功能支持设置多个用户组,每组分配不同的操作权限。这个项目里设置了管理员、操作员、维护员三个角色,管理员有全部权限,操作员只有启停和参数修改权,维护员可以查看配方但不能修改。需要留意的点是:屏上用户密码的加密强度有限,不要在生产上设置过于简单的密码。同时生产车间的操作工常年在现场,密码相互共享的情况很普遍,靠权限管理管住流程只是第一步,更重要的是让操作工养成按规范操作的习惯。
5.4 备份与交接注意事项
项目交付时最容易忽略的就是程序备份和资料交接。PLC程序、触摸屏工程、Eplan图纸、IO分配表、报警清单、配方参数表,这些资料要整理成一套完整的交付手册。特别是PLC程序的注释和触摸屏变量的注释,一定要写完整,否则一年后设备维护人员拿着程序根本不敢下手改逻辑。S7-200 SMART程序备份习惯上保留两份:一份是源程序,另一份是可以在没有原工程的基础上直接上传反编译的固件备份。
触摸屏工程备份也有讲究,建议除了保留EBPro源工程文件外,再把编译后的固件文件也存一份。因为维纶屏掉电恢复或者更换新屏时,可以直接用U盘进行OS更新和固件下载,不需要现场再装一遍EBPro软件。有一次设备改造现场需要临时更换触摸屏,就是靠U盘里的固件包半小时把新屏配置好,全程没有动电脑。
最后说说交接时对操作工的培训。很多项目交付后培训只走个过场,操作工到真出问题时不知道去哪看报警、不知道故障复位怎么操作。我的习惯是在触摸屏上做一页操作指引画面,把最常见的操作流程用文字摘要列出来,比如每日开机步骤、报警复位方法、参数修改注意事项。这样即使操作工忘了培训内容,打开屏幕就能照着做,很大程度上减少误操作。
这套西门子200 Smart加维纶触摸屏的方案在疫苗车间运行到现在,稳定性一直不错。回头看整个项目的关键点,其实不是某个高深的算法或炫酷的功能,而是把基础的逻辑框架搭扎实,把报警联锁放到常驻的子程序里,把通信和模拟量这些细节做到位。自动化项目大多数都不是难在原理上,而是难在细节和经验上。把这些基础工作做扎实,比研究再多高深技术都有用。