ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

西门子S7-200 SMART与维纶屏在疫苗车间配液清洗工段的PLC控制系统设计

西门子S7-200 SMART与维纶屏在疫苗车间配液清洗工段的PLC控制系统设计 去年接了某疫苗生产车间配液清洗工段的就地控制系统项目甲方指定的配置组合很经典西门子S7-200 SMART PLC加维纶触摸屏。听到这套组合你可能觉得是不是太“基础”了疫苗车间怎么也得是PCS7、WinCC这种级别吧但实际做下来你会发现设备级和工段级的就地控制200 Smart加维纶屏反而是最实用、最好交付的方案。这个项目我负责从IO表设计、PLC程序编写、触摸屏画面组态到FAT/SAT测试报告的全部工作前后大概40天。文章就把这套系统的设计思路、程序架构、画面组态、通讯联调和验收测试完整记录下来给准备做类似医药、生物车间就地控制系统的人一个参考。1. 项目定位这套小系统在疫苗车间里到底管了什么1.1 工段边界与甲方URS要求接触这个项目之前我觉得疫苗车间的控制系统肯定全都是大型DCS和楼宇自控那一套。到了现场才发现真正落到车间内部、设备旁边的其实有大量就地控制柜。洁净空调HVAC系统通常由独立的楼宇自控平台管理但配液、清洗、灭菌、环境参数监视这类设备级控制都是就地柜子在做。我这次负责的柜子控制范围很清晰两台配液罐一台用于配液一台用于暂存配有搅拌电机、蒸汽加热夹套、冷却水阀。一套CIP/SIP清洗站清洗液罐、碱液罐以及对应的清洗程序。房间环境监视温湿度、压差信号接入显示和报警预留粒子计数器报警点。现场手动应急操作就地启停泵、开关阀方便设备检修和故障处理。甲方URS用户需求说明里的核心要求也列得很明确手动和自动模式可随时切换温度控制要稳定CIP清洗过程要有步骤记录报警和操作记录能追溯普通操作员不允许修改配方参数。这些要求直接决定了程序和画面的设计方向——不是简单做个启停而是要带配方管理、报警记录、用户权限和数据追溯。1.2 为什么选200 Smart而不是更高端的PLC很多工程师一听“疫苗车间”第一反应就是S7-1500或DCS。但回到需求本身我负责的这个工段点位规模并不大数字量输入输出合计约40点模拟量输入8路温度、压力、液位模拟量输出1路蒸汽调节阀。S7-200 SMART的CPU本身就带以太网口可以直接和维纶触摸屏走S7协议通讯不需要额外加通讯模块交货周期和价格都有明显优势。甲方备件库里本来就有同型号PLC的备件维护人员也熟悉这套系统的操作和诊断方式从长期维护角度考虑200 Smart反而是最优解。这个选择也说明一个行业现象疫苗车间不等于所有系统都要上高端DCS设备级和工段级的就地控制小型PLC完全能胜任而且更容易通过验证。2. 硬件选型与网络架构这套配置单是怎么定下来的2.1 PLC与扩展模块清单我选的CPU是S7-200 SMART ST40继电器输出型自带14点数字量输入和10点数字量输出内置以太网口。为什么选继电器输出而不是晶体管输出因为现场控制的负载以电磁阀、接触器、中间继电器为主都是220VAC或直流感性负载继电器输出直接带中间继电器更稳妥单个触点坏了更换成本也低。扩展模块配置如下模块型号数量用途数字量输入模块EM DR082块扩展8点输入和6点继电器输出用于现场按钮、阀门反馈信号模拟量输入模块EM AE041块4路模拟量输入接压力变送器和液位变送器PT100温度模块EM AR021块2路RTD输入直接接配液罐和管路的PT10024V开关电源240W1台给PLC、触摸屏、变送器供电这里有个经验点位数计算时一定要把备用点算进去。我之前做项目吃过亏IO表排到最后发现差两三个点只能再挂一个扩展模块柜内空间和线槽全要返工。这次从一开始就预留了15%到20%的备用IO点不管是调试还是后续改造都从容很多。2.2 触摸屏选型维纶MT8102iE触摸屏用的是维纶MT8102iE10.1英寸EBpro软件组态。这款屏的优势不是硬件多强而是软件生态成熟自带配方功能、用户权限分级、审计追踪、历史报警和历史趋势这些都正好打在医药项目的数据完整性要求上。MT8102iE支持SD卡扩展存储报警记录和操作记录可以定时写到SD卡这也是GMP审计时的一个加分项。屏的防护等级是IP65但在疫苗车间洁净区还要考虑过氧化氢消毒对表面和缝隙的腐蚀问题。后面在交付部分我会专门说这个细节。2.3 网络拓扑与IP规划这套系统的网络结构并不复杂PLC和触摸屏通过柜内工业交换机相连中控室上位机通过Modbus TCP协议读取PLC数据做远程监视现场调试时笔记本电脑也挂在这个网段里。IP规划严格固定不能随便改设备IP地址备注S7-200 SMART PLC192.168.0.10固定IP屏蔽不需要的端口维纶触摸屏192.168.0.11屏端EBpro设置不自动获取中控上位机192.168.0.50Modbus TCP客户端实际联调中发现最容易出问题的不是PLC和屏之间的通讯而是触摸屏的IP设置。维纶屏默认可能是DHCP模式如果现场没有DHCP服务器屏的IP就是169.254开头的自动私网地址PLC自然找不到它。所以每次上电前我都习惯先确认屏的网络设置界面再确认PLC的系统块里IP有没有被误改。2.4 电气布线细节洁净车间里不能忽视的干扰源疫苗车间里变频器、蒸汽电磁阀、搅拌电机这些强干扰设备都不少。模拟量信号如果处理不好PID控制根本没法用。这次布线做了几件比较关键的事模拟量信号全部用屏蔽双绞线屏蔽层在PLC柜内单端接地不两端接地避免形成地环路24VDC信号线和220VAC动力线分槽走线间距保持30厘米以上触摸屏电源从柜内开关电源单独引一路不和变频器控制端子共用电源柜体接地电阻实测小于4Ω。调试期间确实验证了这些措施的必要性。我印象很深的一幕是搅拌变频器一启动温度显示会瞬间跳0.5℃左右后来排查发现是一段信号线和动力线在柜内扎在了一起分开重新走线后问题立刻消失。这类问题在FAT测试里不容易暴露一定要在现场SIT阶段重点观察。3. PLC程序搭建状态机、PID、配方和报警的落地写法3.1 程序结构与数据区划分S7-200 SMART的程序结构不像300/1500那样有OB、FB、FC的概念它的主程序就是一个无限扫描循环子程序通过调用指令组织。这次我按功能把程序分成了几块初始化程序上电第一扫描周期调用设置PID参数、配方区初值、报警延时值模拟量采集与工程量转换子程序把AI模块原始值换算成实际工程值模式管理子程序手动/自动切换和联锁保护CIP/SIP步进控制子程序清洗流程状态机PID温度控制子程序配液温度PID调节报警与数据上传子程序报警位汇总和Modbus TCP数据映射。程序里专门划出了一个V区数据块作为PLC和触摸屏的数据交换区。这样做的好处是程序可读性高、调试方便触摸屏上要显示什么数据直接看地址映射表就行不用去程序里翻找。3.2 手动/自动模式切换与联锁保护手动/自动切换看起来简单但处理不好很容易出安全事故。我的处理逻辑是模式切换本身不改变任何输出状态切换瞬间所有输出保持原值防止切换时设备突然启停自动模式下画面上的手动操作按钮无效但急停按钮永远有效手动模式下自动程序中涉及的输出被解锁但联锁条件急停、超温、蒸汽压力过低仍然生效。联锁保护是这个程序的底线。蒸汽加热过程中如果检测到罐内温度超过上限或者蒸汽压力低于下限程序会直接关闭蒸汽调节阀并触发声光报警。这部分逻辑我没放在PID子程序里而是独立出来保证即使PID参数被调乱安全联锁仍然独立有效。3.3 配方与批号管理V区断电保持是关键配方管理是医药项目里绕不开的需求。这套系统用维纶屏的配方功能把工艺参数存储在触摸屏的配方数据库中生产时由操作员选择配方编号并写入PLC的V区。PLC端规划了一段断电保持的V区在系统块里设置断电保持范围专门存放当前配方参数。这里有一个很容易踩的坑S7-200 SMART默认V区很多是断电保持的但如果你不显式规划可能会出现“该保持的参数没保持、不该保持的残留数据一直在”的情况。我的做法是把所有配方参数、批次记录、设备累积运行时间放在保持区临时计算值放在非保持区。批次记录方面PLC每次接收到新的批次号后会记录配液开始时间、结束时间、清洗开始时间这些数据通过触摸屏显示并可以导出到SD卡满足GMP对批记录的数据追溯要求。3.4 CIP/SIP清洗步进状态机CIP清洗程序是整个PLC程序里最核心的部分我用的是状态机步进方式。当前步骤号存放在VB10里每个步骤有明确的进入条件、执行动作和退出条件。一个典型的CIP流程状态机是这样的步骤0待机状态等待启动指令步骤1预清洗打开供水阀和清洗泵冲洗5分钟步骤2碱洗切换到碱液罐加热到设定温度后循环清洗20分钟步骤3中间水洗关闭碱液阀打开供水阀冲洗至电导率低于设定值步骤4蒸汽灭菌SIP关闭清洗泵打开蒸汽阀罐内温度升至121℃保持30分钟步骤5冷却关闭蒸汽阀打开冷却水阀降温至安全温度步骤6结束复位所有输出记录清洗结束时间。每一步都有超时报警。比如碱洗时如果温度30分钟内没到设定值程序会判定加热故障自动退出清洗流程并报警不允许带病继续运行。状态机的代码用S/R指令和定时器组合写。每个步骤的执行条件是一个“当前步骤号等于某值”的触点动作则是对应输出位进行置位和复位。调试时直接在触摸屏上看当前步骤号一眼就知道流程卡在哪里效率比传统的一长串逻辑高得多。3.5 配液温度PID控制与整定经验配液温度控制是本项目唯一需要PID闭环的地方。控制对象是蒸汽调节阀执行机构是4-20mA模拟量输出被控对象是配液罐温度反馈信号来自PT100。S7-200 SMART的PID功能是通过向导生成的。向导里设置给定值范围0到150℃反馈信号对应工程量输出为4-20mA。PID向导生成后会提供PID0_CTRL子程序在主程序中每个扫描周期调用一次。PID参数整定我是这么做的先设成纯比例控制微分和积分全部关闭增益从2.0开始比例带50%观察温度曲线如果稳态偏差太大逐步增加增益温度出现振荡后把增益退回振荡前的值然后开始加积分时间积分时间从200秒开始往下调直到稳态偏差消除且不出现缓慢波动。最终整定结果是增益P2.8积分时间I90秒微分D0。对于这种大惯性、纯滞后的温度对象微分作用意义不大反而容易放大干扰这次索性不用。3.6 报警系统设计分级、延时和联锁报警系统是医药车间控制系统里非常看重的一环。我按三个等级做了分类设备故障报警变频器故障、电机过载、急停被按下这类报警需要立即处理工艺越限报警温度偏高、压力偏高、清洗超时报警触发后联锁切断相关输出环境参数报警房间压差低、温湿度超限这类报警只提示不联锁通知空调系统处理。报警实现方面PLC里每一个报警条件对应一个M或V位触摸屏报警记录直接读取这些位。注意要给报警加延时比如温度报警延时3秒避免瞬时波动导致假报警。延时功能用200 Smart的TON定时器就能实现不需要额外写复杂逻辑。4. 触摸屏画面组态不只是放按钮关键在数据和权限合规4.1 画面结构规划维纶屏的画面我用EBpro组态整体规划是7个主画面主画面工艺流程总览显示罐体、泵、阀门、管路的实时状态配液操作画面温度设定、搅拌速度、加热启停CIP/SIP操作画面清洗步骤显示、启动停止按钮、当前步骤参数设置画面PID参数、报警上下限、配方参数趋势画面温度、压力实时趋势和历史趋势报警记录画面当前报警和历史报警用户管理画面登录、权限切换、密码修改。画面分层的原则是操作员平时只面对主画面和配液操作画面不用翻太多层维护人员和工程师才需要进入参数设置画面。每个画面右下角都放了一个“返回主画面”按钮方便操作员快速退出。4.2 数据交互与地址映射设计屏和PLC的通讯走S7协议EBpro里设备类型选择SIEMENS S7-200网络类型选EthernetIP设为PLC的固定IP。地址映射时屏的RW地址和PLC的V区是对应的我整理了一份地址映射表组态时对照着写屏端地址PLC地址数据类型含义RW0VW0INT当前运行模式0手动1自动RW2VW2INT当前CIP步骤号RW4VD4FLOAT当前罐内温度℃RW8VD8FLOAT温度设定值℃RW12VD12FLOAT蒸汽压力MPaRW16VW16INT批次号RW20VD20FLOAT清洗目标温度℃这里特别提醒一下32位浮点数在PLC里要占用连续的4个字节地址必须按偶数边界对齐。比如VD4占了VW4、VW5、VW6、VW7下一个浮点数就不能从VW6开始否则两个数据会交叉冲突。我这个地址表里VD4、VD8、VD12是交错安排的中间没有重叠。屏端趋势图的采样周期我设的是1秒一次。采样太快会有大量历史数据写入SD卡影响寿命太慢又看不到温度变化的细节。1秒对于配液罐这种大热惯性对象足够了。4.3 用户权限、审计追踪与数据追溯这是医药项目里维纶屏的一大加分项。MT8102iE的用户管理功能可以把操作权限分四级管理员所有操作权限包括修改配方、修改PID参数、重启系统工艺员可以修改配方和生产参数但不能修改系统设置操作员只能选择配方、启动停止设备、查看数据维护员只能查看报警和趋势不能执行任何操作。每个用户分配独立的用户名和密码。另外还设置了登录超时功能操作员超过10分钟没有任何操作屏自动退出登录需要重新输入密码才能操作。这个功能是针对GMP审计的常见要求设置的防止操作员离开后有人误操作。审计追踪功能在EBpro里启用后屏会自动记录所有登录、注销、参数修改、配方切换等操作每条记录带时间戳和用户名存储到SD卡。这套数据在GMP审计时可以直接作为操作记录拿出来看省去了很多人工记录的工作。5. 联调踩坑记录屏和200 Smart配合最容易翻车的几个点5.1 通讯连不上、时断时续联调第一天触摸屏报“PLC No Response”检查PLC程序没下载进去、网线插着也PING不通PLC。排查过程是这样的先看物理链路网线两端插紧交换机指示灯亮再看IP电脑设了192.168.0.50PING 192.168.0.10不通检查PLC侧系统块里看到的IP确实是192.168.0.10但PING就是不通最后发现PLC的以太网口实际工作状态和系统块的IP设置不一致是之前用过的一个旧IP还在生效。解决办法很简单把PLC断电重启让系统块里的设置加载生效。这个坑不复杂但特别容易在改了IP之后忘记重启导致通讯异常。记住一条经验S7-200 SMART修改IP后必须重新上电否则不生效。时断时续的问题则是EBpro驱动版本太旧导致的。维纶屏的EBpro软件升级到新版本后底层驱动对S7协议的支持更稳定升级之后连续跑了48小时没掉线。5.2 浮点数显示成乱值温度在PLC里是正常的30.5℃但触摸屏上显示成0或者一个很大的随机数。这个问题的根因一定是数据类型不匹配。我检查了屏端寄存器设置发现RW4被设成了16位INT而PLC端VD4是32位FLOAT。把屏端的寄存器格式改成32-bit Float后显示恢复正常。另一个隐蔽问题是大端小端字节序。S7-200 SMART的高位字节在前维纶屏默认的浮点解析也是高位在前所以一般不涉及字节序问题。但如果你用Modbus TCP通讯Modbus协议默认是大端有时需要调整屏端的字节顺序选项。这次用S7协议没遇到如果用别的触摸屏和200 Smart走Modbus一定要记得检查这个设置。5.3 断电后配方参数丢失FAT测试时有一项是断电重启结果发现断电报参数全部变零。排查后发现配方参数存放在V区但系统块里的断电保持区没有覆盖到那段地址。S7-200 SMART的V区默认有一部分是断电保持的但范围需要在系统块的“断电保持”里显式设置。我把配方参数、批次号、累计运行时间全部划入保持区范围重新下装程序并测试断电重启数据正常保持。这里有个细节系统块的断电保持范围修改后PLC也必须重新上电才生效和IP设置一样。5.4 搅拌变频器启动时模拟量跳动这是模拟量干扰问题现象是变频器一启动温度显示和压力显示都会出现明显的尖峰跳动。现场排查了硬件接地后发现主要问题还是布线上。有一段4-20mA信号线和变频器输出电缆在柜内同一个线槽里并行走了将近一米变频器启动时高次谐波耦合到信号线上。解决措施是让这段信号线改成屏蔽线单独走并和动力线拉开距离。软件层面也做了一层防护S7-200 SMART的模拟量输入通道可以设置数字滤波我把温度通道的滤波时间设成了100ms压力通道归一化到工程值后做了5次平均。硬件和软件结合后模拟量跳动基本消失了。6. 验证测试与交付疫苗车间项目验收时我要做哪些测试6.1 FAT测试内容清单FAT工厂验收测试是医药项目里绕不开的环节。这次测试项目列了满满几页纸核心内容可以总结为IO点核对逐个手动强制输入、输出确认PLC程序和屏端显示一致模式切换测试手动切自动、自动切手动确认切换瞬间输出不跳动联锁测试急停、超温、蒸汽压力低逐个触发确认对应联锁动作正确报警功能测试模拟报警信号确认报警显示、声音、SD卡记录都正常断电恢复测试运行中断电重启后确认配方参数、批次记录、累计运行时间不丢失配方切换测试切换不同配方确认PLC地址里的目标值同步变化权限测试用不同等级账号登录确认低权限账号无法打开参数设置画面通讯稳定性测试连续运行48小时观察通讯掉线次数和报警记录。每一项测试都要记录测试人员、测试时间、测试结果、异常描述。测试记录本身就是GMP验证报告的一部分后期审计要看。6.2 项目交付文档清单验收完成后交付物不只是设备能跑还包括一套完整的文档。我整理的交付清单包括PLC源工程文件.smart格式触摸屏源工程文件.emtp格式IO地址分配表和触摸屏地址映射表电气原理图、柜内接线图操作手册面向操作员写清正常操作和简单故障处理维护手册面向维护人员写清模块更换步骤和通讯设置FAT测试报告和SAT现场验收报告验证文件包括IQ安装确认、OQ运行确认。这里多说一句程序备份一定要做双份一份存公司服务器一份存在甲方项目部。我之前碰到过PLC存储卡损坏的情况如果没有备份源程序现场的PLC坏了只能重新写程序损失巨大。6.3 现场SIT阶段被甲方重点检查的几项SAT现场验收阶段甲方QA重点看了三样东西一是报警记录能不能导出到U盘或SD卡二是操作员权限之外能不能修改工艺参数三是触摸屏的审计追踪功能有没有实际启用。这三项都直接关系到GMP的数据完整性要求如果你做医药项目接URS时就要把这些细节考虑进去不要等到验收时才翻说明书去补功能。还有一个细节洁净区里触摸屏安装支架要选带密闭保护盖的款式。疫苗车间清洁时过氧化氢蒸汽或者消毒液喷雾对屏幕表面和缝隙都有腐蚀作用半年时间就能明显影响触摸灵敏度和背光亮度。这个是我在实际运行维护中亲眼看到的问题装柜子时就应该提前考虑到位。另外屏的系统时钟要定期校时。EBpro里可以设定从PLC读取时间或者手动校时。审计追踪里的时间戳如果和实际时间偏差太大在GMP审计时会被直接质疑这种低级错误不值得踩。
返回列表