ARTICLE DETAIL

资讯详情

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

基于S7-200 PLC与组态王的矿井通风控制系统设计与调试

基于S7-200 PLC与组态王的矿井通风控制系统设计与调试 矿井通风系统是煤矿安全运行的生命线这句话在矿上干了十年的人体会最深。井下瓦斯一旦积聚温度湿度一上来光靠自然通风根本顶不住。我前两年接手了一套基于S7-200 PLC和组态王的矿井通风控制改造项目目标是实现主通风机的自动/手动双模式控制、瓦斯浓度联动变频调速、以及远程监控画面。这套系统从硬件选型、接线图设计、梯形图编程到组态王画面配置整套流程走下来踩了不少坑也沉淀了不少可以直接复用的经验。今天就把这套解决方案完整拆开讲一遍适合正在做PLC毕设、矿山机电岗位的工程师以及想学S7-200加组态王联调的朋友后面会按硬件、程序、画面、调试四个维度展开保证你拿着这篇文章能一步步落地。1. 需求分析矿井通风到底要控什么1.1 井下环境参数与通风联动逻辑先从工艺侧说起。矿井通风的本质是用风机把新鲜空气源源不断送到采掘工作面同时把瓦斯、粉尘、有害气体稀释并排出去。煤矿安全规程对风速、瓦斯浓度、温度都有明确允许范围比如采掘工作面进风流中瓦斯浓度不得超过0.5%回风流不得超过1.0%。所以通风控制系统最核心的任务不是“把风扇打开”这么简单而是要时刻保证井下关键点的瓦斯浓度、风速、温度都在安全区间内一旦出现超限趋势系统要能自动加大风量甚至触发报警和联锁。以我做的这套系统为例现场需要监测量包括总回风巷瓦斯浓度、采煤工作面瓦斯浓度、风筒风速、电机轴承温度和风机运行状态。执行机构是两台主通风机一用一备每台风机由一台37kW电机驱动既可以直接工频启动也可以通过变频器调速。控制策略上正常工况风机以固定工频运行当瓦斯浓度偏高时系统自动切到变频根据瓦斯浓度闭环调节风机转速实现“按需通风”。这比传统的一直满速跑更节能也是现在矿井通风智能化改造里的常见做法。1.2 为什么选S7-200加组态王这套组合很多朋友问都什么年代了还用S7-200确实S7-200已经停产多年但存量市场巨大尤其在中小矿山和老旧矿井改造项目中保有量依然很高。矿上的电工和维护人员对STEP 7-Micro/WIN非常熟悉设备坏了好修程序好改。更重要的是S7-200的PPI通信配合组态王的上位机方案非常成熟驱动稳定做中小型通风控制系统无论是性价比还是维护便利性都说得过去。选组态王则是因为它在国内工控组态软件里用户基数大图库丰富做报警、趋势、报表都很方便而且自带S7-200的专用驱动不用自己写通信协议。这套组合放在毕业设计、技能竞赛、中小矿山改造三个场景里都完全够用。如果你的项目预算充足用S7-200 SMART加组态王6.60SP4也是兼容的替代方案后面调试部分我会专门提一下新旧平台的差异。2. 硬件系统设计接线图和原理图是怎么展开的2.1 设备选型清单先说结论这套系统我用的核心硬件如下表设备型号/规格用途说明PLC CPUS7-200 CPU22624DI/16DO主控制器点数充足带两个通信口模拟量模块EM2314通道AI接瓦斯、风速、温度等4-20mA信号模拟量输出模块EM2322通道AO给变频器频率给定信号上位机软件组态王6.60监控画面、报警、趋势、报表通信电缆PC/PPI电缆USB口PLC与上位机通信变频器37kW通用变频器风机变频调速传感器瓦斯浓度传感器4-20mA、风速传感器、PT100温度变送器现场参数采集CPU226选它的原因是点数富余。其实CPU224也能跑但通风系统现场往往有多个备用点要预留扩展传感器也方便。EM231接线时要特别注意电流和电压跳线的区别模块侧面有一个DIP开关组选4-20mA输入时要把对应通道的跳线置于电流档这个细节很多新手栽过。2.2 I/O点表分配先把地址规划明白I/O点表是连接图纸和程序的中间桥梁。我习惯先画好点表再写程序不然程序写到一半发现点位对不上返工成本极高。这套系统的I/O分配如下类别地址信号名称说明DII0.01#风机启动按钮常开触点DII0.11#风机停止按钮常闭触点DII0.2自动/手动选择开关SA旋钮闭合为自动DII0.3变频器故障信号变频器继电器输出常闭串入DII0.4瓦斯超限闭锁信号瓦斯电闭锁节点DII0.5电机过热保护热继电器常闭触点DOQ0.0工频接触器KM1工频回路DOQ0.1变频接触器KM2变频回路DOQ0.2声光报警器故障/超限报警DOQ0.3运行指示灯风机运行指示DOQ0.4变频器启动指令干接点信号AIAIW0回风巷瓦斯浓度4-20mA对应0-4%CH4AIAIW2风筒风速4-20mA对应0-15m/sAIAIW4电机轴承温度4-20mA对应0-150℃AOAQW0变频器频率给定4-20mA对应0-50Hz其实煤矿井下正规设计还必须考虑本安回路和瓦斯电闭锁涉及到安全规程的强制要求我在这里讲的是控制系统本身的逻辑框架实际工程中一定要配合专门的安全防护设计和审批流程不能拿一套控制系统直接当安全系统用。2.3 主电路与控制电路的关键设计接线图和原理图的设计核心是主电路的双回路结构。工频回路是断路器QF1→接触器KM1→热继电器FR→电机变频回路是断路器QF2→接触器KM2→变频器→电机。两个接触器之间必须做电气互锁和程序互锁双重保护防止变频器输出端误接工频电源烧毁设备。控制电路走的是DC24V。开关电源将AC220V转为DC24V为PLC的DI/DO提供电源同时也给传感器供电。按钮、选择开关、继电器辅助触点统一接到PLC数字量输入端子PLC输出通过中间继电器去控制接触器线圈和变频器端子这样PLC的DO触点寿命更长现场检修也安全。原理图上几个容易忽略的点这里必须单独标出来。第一模拟量信号必须用屏蔽双绞线屏蔽层在PLC侧单端接地两端的接地会造成地环路PID数据会飘到你怀疑人生。第二电力电缆和信号电缆要分槽敷设间距至少200mm变频器出线尽量用屏蔽电缆并加磁环。第三接触器线圈两端要并联RC吸收或者压敏电阻不然断电瞬间的反电动势足以干扰PLC的数字量输入。我实测过不接吸收回路时变频器一启动模拟量数值能跳5%以上。3. 梯形图程序设计从起保停到PID闭环3.1 程序总体框架程序我在STEP 7-Micro/WIN里按功能分成五个模块启停控制、自动/手动切换及互锁、模拟量采集换算、PID变频调节、故障报警与复位。每个模块用单独的网络块实现调试时可以逐个网络强制验证效率比写一个大迷宫高得多。程序的主体结构用一句话概括手动模式下操作员直接按钮启停风机自动模式下PLC根据瓦斯浓度决定工频还是变频运行。瓦斯浓度超过设定阈值比如0.8%CH4时切变频并让PID投入低于恢复值并延时稳定后切回工频。切换过程必须有延时避免频繁切换烧接触器。3.2 电机启停与互锁逻辑启动停止用经典的起保停电路STL语句表是这样的Network 1 // 工频启动停止 LD I0.0 // 启动按钮 O Q0.0 // 自锁保持 AN I0.1 // 停止按钮 AN M0.1 // 故障标志 AN Q0.1 // 变频接触器互锁 Q0.0 // 工频接触器输出注意我特意把Q0.1变频接触器串进工频回路的互锁条件里同时变频回路也串上Q0.0的常闭触点。这就是程序互锁。即使有人把接触器辅助触点接错线只要PLC不同时输出两个接触器设备就是安全的。故障标志M0.1在报警模块里置位处理完故障后需要按下复位按钮才能解除。3.3 模拟量采集与工程量换算EM231模块把4-20mA信号转成数字量S7-200的AIW通道满量程是0~32000。但4mA不是0所以4-20mA对应的数字量实际是6400~32000。换算工程量用线性公式工程量 AIW原始值 - 6400 ÷ 32000 - 6400 × 量程上限比如瓦斯0-4%CH4浓度百分比 AIW - 6400 ÷ 25600 × 4。在S7-200里做浮点换算比较啰嗦我习惯把原始值直接送给组态王由组态王的变量转换功能完成标度变换省PLC程序空间也方便调量程。PLC内部只保留一个用整数运算算出来的近似值用于逻辑判断两者互不干扰。梯形图里用整数运算做近似换算可以这样写Network 3 // 瓦斯浓度近似换算单位0.01% LD SM0.0 MOVW AIW0, VW200 // 原始值存入VW200 -I 6400, VW200 // 减零点偏移 MOVW VW200, VW202 *I 4, VW202 // 按量程比例放大 /I 256, VW202 // 得到0~400的整数百分比这样VW202里就是可以直接比较的瓦斯浓度值阈值判断用比较指令即可。也要注意S7-200的整数乘法用*I结果超16位会溢出所以放大系数不能太大这也是我拆成两步乘除的原因。3.4 PID变频调速的实现PID调节是这套系统最有价值的部分。S7-200的PID指令需要在V区建立回路参数表核心参数包括过程变量PV、设定值SP、输出值、增益Kc、采样时间Ts、积分时间Ti、微分时间Td。这里有个关键点PV和SP都必须归一化到0.0~1.0之间。也就是把瓦斯浓度的实际值除以量程上限比如实测0.8%对应归一化值0.20.8/40.2。我的PID参数初始设置为Kc1.5、Ts1s、Ti2min、Td0。执行方式用定时中断在SMB34中写入1000即每1000ms触发一次中断中断程序里调用PID0指令。为什么用定时中断而不是每个扫描周期都调用因为PID指令要求采样周期恒定扫描周期受程序长短和通信影响会波动采样时间不稳定PID输出就会抖。输出值同样是归一化的0.0~1.0要先把输出值乘以32000转成整数再送给AQW0这样变频器的频率给定信号才是稳定的4-20mA。我在PID后面还加了一段输出限幅把最大值限制在30000左右对应大约47Hz防止变频器长时间在50Hz满负荷运行这点对风机保护的收益非常明显。4. 组态王画面与通信配置让数据看得见4.1 设备通信配置步骤组态王和S7-200通信是所有联调工作的第一步。在组态王工程浏览器的设备配置里选择PLC → 西门子 → S7-200PPI然后按向导填写通信参数。通信口选COM1波特率96008数据位偶校验1停止位PLC站地址填2。PC/PPI电缆的驱动要装好USB转COM的驱动冲突是通信失败的头号原因。设备地址填错了最坑S7-200的默认站地址是2但有些老设备被人改过站号。排查方法是用STEP 7-Micro/WIN搜索一下CPU能搜到就说明站地址和通信参数都没问题组态王连不上就要回去检查组态王的波特率和站地址设置。如果上位机用的S7-200 SMART情况略有不同STEP 7-Micro/WIN SMART是通过IP地址连接CPU通信方式从PPI变成了TCP组态王要用S7-200 TCP驱动地址和端口要单独配。4.2 变量字典与画面布局组态王的变量字典是整个上位机的灵魂。我建了三类I/O变量数字量变量如1#风机运行状态、故障报警对应PLC的Q0.x和M区模拟量变量如瓦斯浓度、频率给定对应VW区。特别注意数据类型的匹配PLC侧VW200是16位整数组态王里就定义成I/O整数如果你定义成I/O实数读取的是两个字的浮点值数值完全对不上。画面布局我分成四个页面主监控画面、实时趋势画面、报警画面、参数设置画面。主监控画面放系统工艺图——风机、风筒、传感器位置都用组态王图库里的设备图例用动画连接把瓦斯浓度、风速、温度实时显示在对应位置。颜色变化配合数值变化关键参数超过阈值时变成红色闪烁值班员一眼就能看到问题出在哪。动画连接是组态王实操里最容易出错的地方。每个图元要双击进入动画连接对话框位移、颜色、数值显示分别绑定到对应变量绑定不对或者变量名拼错编译时不一定报错运行起来就是画面不动。我的经验是每做一个图元就连一个变量然后立即切换到运行模式验证别等全部做完再测试到时候几十个图元查错查到崩溃。4.3 报警系统与实时趋势报警系统是值班人员的核心工具。我在组态王里定义瓦斯浓度高报0.8%、高高报1.0%、温度高报90℃、风速低报安全风速下限四个报警条件报警优先级分两级。高报生成报警记录并弹窗提示高高报除了弹出窗口还要联动声光报警器通过PLC输出Q0.2驱动现场电铃和警灯。报警记录可以按时间段查询并导出报表交接班的时候打印出来这是矿上日常管理的硬需求。实时趋势用组态王的历史趋势控件实现采样周期设1秒保存周期设1分钟这样既能看实时曲线历史数据占用空间也不大。瓦斯浓度的趋势曲线特别重要增量和速率往往比绝对值更早暴露问题——瓦斯浓度曲线如果出现上翘拐点即使还没到报警值也该让现场人员重点关注了。5. 调试过程与常见问题排查5.1 通信故障排查实录这套系统调试时遇到最典型的问题是通信时好时坏。现象是组态王运行画面偶发性死掉数据定格在某个值过十几秒又恢复。排查过程按三步走先看PC/PPI电缆插头是否松动原厂电缆插头公差较小第三方电缆容易接触不良然后看COM口号USB转接设备每次插拔电脑分配的COM口可能变化组态王设备配置里COM口必须和实际一致最后检查驱动版本老版本USB驱动在Win10后会出现关机异常或蓝屏偶尔还会导致电脑无法正常关机换新版驱动或原厂电缆基本能解决。还有一次是组态王完全连不上排查半天发现是PLC的通信口被STEP 7-Micro/WIN的在线监控占用着。PPI是单主站协议上位机软件在线监视时组态王抢不到总线把STEP 7-Micro/WIN退出监控模式就好了。从此我养成一个习惯凡是组态王连不上先确认没有其他软件占用PLC通信口。5.2 模拟量信号干扰处理现场干扰是最折磨人的问题。风机的37kW变频器一启动AIW0瓦斯浓度数值就开始波动幅度有1%量程左右。我用示波器量过信号端子发现叠加了大量高频毛刺根源是变频器输出电缆的电磁辐射耦合到模拟量信号线上。处理措施有三条模拟量电缆换成屏蔽双绞线并且在PLC侧单端接地信号电缆和变频器动力电缆分开桥架敷设拉开距离变频器输出端加装输出电抗器。三条下来波形干净了很多组态王上的数据曲线从锯齿变成平滑线。PLC自身滤波也能帮上忙。S7-200的模拟量滤波功能在系统块里配置我选了64次采样取平均值响应速度对通风系统来说完全够用。这里要提醒一点滤波是一把双刃剑它对平稳信号有效但如果信号本身代表的是快速变化的安全参数滤波太深会掩盖真实的突变趋势做安全联锁的逻辑千万别依赖滤波后的数值。5.3 PID参数整定经验PID参数整定我走了弯路。第一次按理论值上电系统震荡厉害频率给定在30Hz到50Hz之间来回甩风筒都发出明显的周期性喘振声。问题出在采样时间和Kc的配合上通风系统的响应时间是以秒计的我一开始采样时间设成200ms比例增益1.5PID对每个噪声都做出反应自然震荡。后来我按“先纯比例、后积分、微分基本不用”的思路重新整定。采样时间改到1sKc从0.3开始逐步往上加加到0.8时系统开始有轻微震荡退回0.6稳定。然后加入积分Ti从5min慢慢减到2min系统出现缓慢的周期性波动再退回3min。最终参数是Kc0.6、Ti3min、Td0。整个过程花了一个下午但参数整定完频率给定曲线非常平稳瓦斯浓度在设定值附近稳稳地走这说明通风系统对PID的鲁棒性要求其实不高稳比快更重要。5.4 常见问题速查表现象可能原因处理措施组态王连不上PLCCOM口错误/站地址不对/软件占用串口核对COM口号、PLC站地址退出在线监控模拟量数值跳动变频器干扰、屏蔽未接地屏蔽层单端接地、分槽布线、加滤波PID输出震荡采样时间短、增益过大加长采样时间、降低Kc、逐步整定变频器不启动启动指令没到、外部端子没接强制Q0.4验证PLC输出检查变频器端子参数接触器频繁吸合自动切换延时不够切换逻辑加延时设恢复阈值回差组态王历史趋势断线通信占用、保存周期错误检查通信状态调整历史保存周期调试顺序我建议按“先PLC后上位机先手动后自动先逻辑后闭环”来推进。手动模式验证点表接线是否正确自动模式验证切换逻辑最后再投入PID这样每一步出问题都好定位。如果手头没有真实PLC也可以先用S7-200模拟器配合组态王做画面和通信练习逻辑验证基本没区别但模拟器对定时中断和通信口的模拟有限真机上电还是要重新验证一遍。最后分享一个我个人的体会矿井通风系统说白了是一套慢响应的安全系统程序里少用花哨的指令把逻辑写得简单直观现场维护的人才能看懂、敢改。我在程序每一段网络前面都写清楚了注释设备铭牌上也印了对应的I/O地址表半年后回访时矿上的电工自己就能处理一般故障。做这类项目能让不参与开发的人顺畅接手才算真正交付完成。这套S7-200加组态王的组合在现在的新项目里可能显得老旧但它的稳定和易维护性在我做过的中小型通风项目里依然是性价比最靠谱的方案之一。
返回列表