尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

煤矿通风PLC自动控制方案:S7-200与MCGS组态实战解析

煤矿通风PLC自动控制方案:S7-200与MCGS组态实战解析 煤矿井下通风系统是矿井安全生产的生命线。我前前后后参与过好几套通风控制项目底层控制核心用的都是西门子S7-200 PLC配合MCGS组态屏做人机交互整套系统负责风机启停、瓦斯联动、主备切换和报警记录。这套方案在今天的眼光里可能不算新但在矿井现场稳定比新鲜重要得多。这篇文章我会把整套系统的设计逻辑、硬件选型、梯形图思路、MCGS组态调试过程以及现场踩过的坑完整复盘一遍。如果你正在做或准备做矿井通风自动控制或者是做PLC相关毕设、刚入门工业自动化想找一个完整实战项目参考这篇内容会比较对胃口。1. 从人工巡检到自动联锁通风控制的核心需求拆解1.1 井下通风为什么不能只靠人矿井通风的难点不在开风机这一下而在持续、可靠、动态匹配。巷道是不断向前推进的风阻会随着掘进距离变长而升高瓦斯涌出量也会随地质条件波动。靠人工巡检后手动调风机最大的问题是响应慢。等巡检人员发现浓度异常再跑到变电所操作可能已经错过了最佳处置窗口。我参与的几个项目里矿方给的需求往往看起来很简单风量要够、风机不能停、主备要能切换、异常要报警。但落到控制系统设计上需要的是一条完整的闭环链路。传感器负责实时采集井下瓦斯浓度、风速、负压等参数PLC负责根据这些参数决定风机的启停和转速MCGS触摸屏负责显示状态、记录趋势、下发设定值。任何一个环节掉了链子整个安全逻辑就形同虚设。1.2 控制需求清单和系统边界做任何一个PLC项目我习惯先列需求表再谈选型和程序。矿井通风控制系统的需求可以整理成下面这张表需求项实现手段输入/输出信号类型瓦斯浓度实时监测瓦斯传感器4-20mA接入PLC模拟量模块AI风速/风量监测风速传感器AI风井负压监测负压传感器AI风机运行状态监视接触器辅助触点或电机综合保护器DI风机远程启停中间继电器输出DO主风机变频调速PLC模拟量输出0-10V给变频器AO主备风机自动切换梯形图逻辑故障保持位内部逻辑超限报警与记录MCGS报警窗口声光报警器DO/组态运行参数显示与修改MCGS组态屏组态变量这张表不是凭空编的里面每一行都对应现场的真实痛点。比如瓦斯浓度联动不是简单超限就报警而是要分两级处理浓度偏高时自动提频增风继续升到警戒值时保持最大风量并触发声光报警。报警值不能写成死数值矿方要根据当天采掘情况调整所以阈值必须做成PLC里的V区变量让MCGS屏可以随时修改。1.3 为什么核心逻辑必须放在PLC里有的项目图省事把部分联锁逻辑写在组态屏脚本里。这个做法我强烈不建议。MCGS屏本质是人机交互设备虽然它也能跑脚本但它不是安全级控制器一旦屏死机、通讯断开或工程异常安全联锁就失去了依托。一个可靠的做法是所有涉及安全、联锁、设备保护的逻辑全部放在S7-200的梯形图里MCGS只负责显示、设定、报警记录和数据转发。这也是为什么我坚持在需求阶段就跟矿方说清楚组态屏只是门面PLC才是大脑和脊梁。2. 硬件方案落地S7-200搭配MCGS的选型逻辑与I/O规划2.1 S7-200这台老家伙凭什么还能打说实话S7-200在西门子产品线里已经算老平台了S7-200 SMART都出来好多年了。但在矿井这类场景我仍然愿意用它原因很现实。第一存量设备多现场电气维护人员对它的梯形图风格非常熟悉出了问题自己能上手查。第二S7-200的指令集简单主程序加子程序的结构非常清晰适合工艺相对固定、不需要花哨算法的控制系统。第三很多矿井现有自动化改造项目就是在原S7-200基础上扩展功能没必要把所有硬件推倒重来。当然它也有明显局限。程序存储区和数据区都不算大复杂运算和大量配方管理会吃紧PID可以通过向导实现但回路多了会显得有些吃力。所以在选型阶段就要把程序量估算清楚。对于这套通风控制系统核心逻辑就是逻辑控制加少量模拟量运算用CPU224XP完全够。2.2 硬件配置与I/O点表规划一个典型的矿井通风控制柜我建议这样配置控制器西门子S7-200 CPU224XP自带14DI/10DO、2AI/1AO适合中小规模系统。两个模拟量输入可以接瓦斯传感器和风速传感器一个模拟量输出给变频器频率给定。模拟量扩展如果现场还需要监测负压、温度等多路模拟量就加一块EM231 4AI接线时注意通道地址分配。触摸屏MCGS系列尺寸根据柜面空间选7寸或10寸。MCGS嵌入版组态软件对S7-200的支持很成熟走PPI协议稳定。执行机构主风机配变频器通过PLC模拟量输出0-10V给定频率备用风机用接触器直启关键是切换逻辑要可靠。传感器瓦斯传感器选4-20mA输出型号量程一般0-100%LEL风速传感器同样选4-20mA。矿用传感器要满足现场认证要求这一点采购时必须卡住。电源PLC、传感器、MCGS屏全部用独立的24V直流电源模块供电与主回路动力电源做好隔离。矿井供电波动大控制电源前面最好加一个质量可靠的开关电源条件允许再加UPS。I/O点表是设计阶段最花时间的地方也是后面改线最麻烦的地方。我每次都会把点表做到Excel里标注好每一项的设备名称、信号类型、地址、线色、端子号然后发给电气制图同事核对一遍。下面是这套系统的参考点表类型信号名称PLC地址备注AI瓦斯浓度主巷道AIW04-20mA0-100%LELAI风速AIW24-20mA0-10m/sAI负压AIW44-20mA0-5kPaDI主风机变频器运行反馈I0.0无源触点DI主风机变频器故障I0.1无源触点DI控制柜手/自动转换开关I0.2无源触点DI备用风机运行反馈I0.3无源触点DI备用风机综合保护器动作I0.4无源触点DI复位按钮I0.5无源触点DO主风机变频器启动Q0.0中间继电器输出DO主风机工频启动备用回路Q0.1中间继电器输出DO备用风机启动Q0.2中间继电器输出DO声光报警器Q0.3中间继电器输出DO变频器故障复位Q0.4中间继电器输出AO变频器频率给定AQW00-10V这个点表是根据我做过的一个典型项目整理出来的通用版本实际项目一定要结合矿方图纸和设备清单做加减法。别怕在这上面花时间点表错了后面程序、接线、组态全跟着错。2.3 选型阶段容易忽略的电源与信号隔离细节很多新手做这类项目注意力全放在PLC和组态屏上最容易漏掉的是电源和信号隔离。第一变频器运行时对电源的污染很严重。如果PLC和传感器跟变频器共用一个开关电源模拟量读数会时不时跳几个数严重的直接触发误报警。我现在的做法是PLC、传感器、MCGS屏各自用独立24VDC电源模块并且在柜内做好接地汇流排。第二4-20mA信号为什么在矿井现场比0-10V更稳因为电流信号不易受线路压降影响传输距离远。但前提是电缆质量要过关必须用屏蔽双绞线屏蔽层在PLC柜侧单端接地。信号线不要和动力线走同一根穿线管这是现场最常见也最典型的干扰来源。第三传感器是两线制还是三线制直接决定接线方式和PLC模块的接线端子。选型阶段就把这个问题确认掉不然到了现场拿着三线制传感器接两线制回路很容易烧模块。3. 安全控制逻辑实现瓦斯联动、风机切换与故障保持的梯形图做法3.1 模拟量换算公式与断线判断S7-200的模拟量输入通道AIW0返回值范围是0~32000对应0~20mA。传感器输出4~20mA那么4mA对应640020mA对应32000。很多初学者直接拿AIW0的值除以3200就当浓度用这是错的0点和满量程都对不上。正确的换算思路是做一个线性映射。以量程0~100%LEL的瓦斯传感器为例实际浓度和AIW值的关系是实际浓度(%) (AIW - 6400) / (32000 - 6400) × 100在S7-200里做这个运算要小心整数溢出。我的做法是先把AIW转成双整数运算过程全部用双整数最后再把结果除以10或者100。下面是梯形图里的运算片段示意LD SM0.0 ITD AIW0, VD100 -D 6400, VD100 *D 100, VD100 /D 25600, VD100注意S7-200的除法指令只保留商所以如果你的瓦斯浓度需要带一位小数可以在运算时把乘数放大10倍显示时再通过MCGS的小数位设置还原回来。断线判断也一样重要。传感器断线或供电异常时AIW会掉到6400以下甚至到0。如果程序不判断直接把0当成浓度正常系统会以为井下空气很安全这是绝对不能接受的。我在每个模拟量通道后面都加了一个坏值判断AIW小于6400且持续超过2秒就置位对应的传感器故障标志同时驱动报警输出提示维护人员检查传感器回路。3.2 瓦斯联动控制策略一级提频、二级报警瓦斯联动不是简单超限停风机矿井风机的逻辑是浓度越高越要加大风量把瓦斯稀释掉。我常用的策略是在PLC里做两个阈值都存成V区变量MCGS屏可以随时修改参数V区地址默认值作用一级联动阈值VW200800.8%超过后变频器频率自动提高二级报警阈值VW2021001.0%超过后保持最大风量并声光报警最高频率设定VD20450.0Hz限制变频器最高输出频率梯形图里的核心是比较后置位中间变量LDW VD100, VW200 M0.4 LDW VD100, VW202 M0.5M0.4联动时程序把变频器给定频率提升到设定的高位频率比如40HzM0.5联动时直接按最高允许频率输出。这里有个细节频率调整不要一步跳上去S7-200可以通过定时器做一个斜坡累加比如每500毫秒频率设定值加0.5Hz避免风机转速突变对电网和机械结构造成冲击。报警值做在V区以后改动阈值就不需要再连编程线了。矿方技术员直接在MCGS屏的参数画面里改改完确认即可。这个体验对现场维护特别重要我后来做所有项目都习惯把能调参数都放到组态屏里。3.3 主备风机自动切换必须加故障保持位主备风机切换是整个系统里最容易出问题的地方。最经典的故障场景是主风机跳闸后备用风机自动启动但备用风机启动后巷道风量恢复传感器读数回落PLC误以为主风机又好了马上把主风机重新投入。过一会儿主风机因为同样的故障再次跳闸备机又启动。如此反复两个风机在短时间内交替启停电机和接触器都受不了。解决这个问题的核心思想是故障保持。一旦判断主风机故障就置位一个故障保持位这个位只能靠人工确认后复位程序不会因为运行参数恢复正常就自动清除。用梯形图的思路描述大致是// 主风机启动指令 LD M0.0 // 自动模式 AN M0.6 // 主风机故障保持位为0 S Q0.0, 1 // 置位主风机变频启动 // 启动超时判断 LD Q0.0 TON T37, 100 // 10秒 LD T37 AN I0.0 // 10秒内没有运行反馈判定故障 S M0.6, 1 // 故障保持位复位 LD I0.5 // 复位按钮 R M0.6, 1这样设计之后主风机故障跳闸备机只切换一次不会出现荡秋千式的反复启停。现场检修确认故障排除后按下柜面或MCGS屏上的复位按钮故障保持位清零系统才允许主风机再次投入。切换逻辑里的软互锁也要做干净。主风机输出和备用风机输出必须在梯形图里互相串常闭防止程序异常时两个接触器同时吸合。继电器回路里还可以加机械互锁双保险。3.4 反馈信号的滤波处理与手动优先级开关量反馈信号在现场往往带有抖动。变频器启动瞬间接触器吸合产生的振动会导致反馈触点抖动如果PLC直接读取可能在一个扫描周期里出现多次0/1跳变误判启动失败。我在做这套系统时所有DI反馈都简单加了软件滤波。比如启动指令发出后不立即读反馈而是延时3秒再判断运行中的反馈信号如果出现短时丢失也不马上判故障而是连续丢失超过2秒才触发保护。这些延时不是越长越好要根据现场情况调试——太短抗不了干扰太长故障响应慢安全设备必须要平衡。另外柜面手/自动转换开关是最高优先级。打到手动档位时PLC自动逻辑全部屏蔽现场运维人员可以直接通过柜面按钮操作风机方便检修和调试。手动优先这只手必须存在因为再可靠的自动系统也有需要人工干预的时候。4. MCGS组态调试从PPI通讯参数到报警与趋势曲线配置4.1 S7-200与MCGS屏的PPI通讯参数配平MCGS屏和S7-200之间默认走PPI协议这是现场最稳的通讯方式。组态时在MCGS嵌入版组态软件的设备窗口里先添加通用串口父设备再在这个父设备下面挂西门子S7-200子设备。通讯参数必须和S7-200侧完全一致我直接列一张参数表参数项S7-200侧MCGS侧通讯协议PPI西门子S7-200驱动波特率96009600数据位88校验位偶校验(E)偶校验停止位11站号2默认2S7-200侧的站号和波特率在Micro/WIN的系统块里设置设置完成后必须下载到PLC才生效。这里有一个反复出现的问题如果把S7-200的编程口Port0通过系统块设成了自由口模式或者程序里用了XMT/RCV自由口通讯指令PPI协议在该端口上就会失效MCGS屏那边直接显示设备连接失败。排查通讯问题时要先排除这一点。还有通讯线的问题。MCGS屏如果是RS232接口需要加RS232转RS485转换器转换器方向不能搞反如果是RS485接口直接接A/B两根线。A和B接反是现场最低级的错误但发生率非常高。屏和PLC之间的通讯线用屏蔽双绞线长度超过50米要适当考虑降低波特率。4.2 变量关联把PLC地址映射到MCGS画面MCGS组态里最核心的一步是把PLC的存储区地址映射成组态数据对象。S7-200的V区、M区、I区、Q区都可以直接访问。我在项目里通常只开放必要的地址给MCGS而不是把所有变量都暴露出来——这样既清晰也避免屏上误操作影响PLC逻辑。一个常见的映射关系是MCGS数据对象对应PLC地址功能Gas_ValueVD100瓦斯浓度实测值换算后Wind_ValueVD104风速实测值Set_Alarm1VW200一级报警阈值设定Set_Alarm2VW202二级报警阈值设定Fan_Main_RunI0.0主风机运行状态显示Fan_Back_RunI0.3备用风机运行状态显示Cmd_Auto_ModeM0.0自动模式软切换按钮MCGS嵌入版的设备通道添加界面里可以选择读写类型。报警阈值这种参数设为读写允许操作人员在屏上修改传感器实测值只读防止误写入。建立好通道后还需要在实时数据库里给每个对象设置量程、单位、小数位。比如瓦斯浓度对象数值范围0~100单位%LEL小数位1位。这样画面上直接绑定数据对象就能显示带单位的数值不需要在画面里再做一次线性变换。4.3 画面结构设计从总览到操作的分层逻辑MCGS的画面不要一股脑全堆在一个页面上。矿井现场的操作人员不是自动化专业出身画面越复杂误操作概率越高。我习惯把画面拆成四层第一层是主监控画面一句话就能看明白当前系统状态——风机在转哪台、转速多少、瓦斯浓度多少、有没有报警。所有设备状态用颜色区分运行绿色停止灰色故障红色。底色尽量用深色井下环境灯光暗浅色画面在强光下反而看不清。第二层是风机控制画面放置手/自动切换、主风机启动/停止、备用风机启动/停止、复位按钮。这个页面的操作按钮一定要做得大按钮间距拉开防止手指误触。每个按钮在脚本里加一个二次确认弹窗比如确认启动主风机成本很低但能避免大量误操作。第三层是参数设定画面修改一级联动阈值、二级报警阈值、最高频率等参数。修改操作加权限管理普通操作员只有查看权限维护人员权限才能修改避免无关人员乱改安全参数。第四层是报警与趋势画面。实时报警窗口放在一个固定页面历史报警记录按时间查询。趋势曲线分两个曲线控件一个显示瓦斯浓度8小时趋势一个显示风速和频率变化趋势。存盘周期我通常设5秒太密了存储空间消耗快历史数据保留时间短太疏了趋势图看不清变化过程。4.4 报警配置和工程下载的注意事项MCGS的报警配置分为数值报警和开关报警两种。瓦斯浓度用的是数值报警超过一级阈值触发预报警超过二级阈值触发严重报警风机状态用开关报警比如备用风机启动后无反馈这种异常状态直接触发报警并在蜂鸣器上响铃。报警画面里要把报警时间、报警内容、当前值、确认人这些字段都显示出来。井下对报警追责要求比较明确历史报警记录留得清楚能省掉很多扯皮。工程下载有一个我踩过的坑下载到一半现场突然断电或者下载完成后直接拔了U盘屏重启后显示工程被锁定或者白屏。正确的流程是先编译工程再用增量下载把改动的部分下进去下载过程中绝对不能断电下载完成后等屏自动重启提示工程加载成功再操作。如果已经白屏了只能重新用全量下载覆盖所以下载前务必备份原工程。5. 现场调试踩坑与排查思路复盘5.1 MCGS屏显示设备连接失败的完整排查链路这是现场遇到最多的故障。有一次我们连夜调试屏始终报通讯故障MCGS屏上所有PLC数据都是#####。排查过程非常典型我复盘一下全链路。第一步先用USB转PPI编程电缆连接S7-200的Port0口用Micro/WIN在线连接。如果能连上说明PLC本身的通讯端口是好的问题大概率出在MCGS屏侧或者PLC的Port0被程序占用了。如果Micro/WIN也连不上说明通讯口已经被配置成自由口模式或者编程电缆驱动有问题。第二步确认PLC程序里有没有用XMT/RCV指令。那次排查中发现PLC程序用了自由口通讯去读第三方仪表虽然用的是Port1但我在系统块里误把Port0的协议也改成了自由口。把Port0改回PPI协议后重新下载问题解决。第三步检查MCGS屏的设备通道里站号、波特率是否和PLC侧一致。很多人改过板子上的拨码或者系统块参数但组态工程还是旧参数两边对不上就连接失败。这套连环排查方案我基本写进了调试清单遇到通讯问题就按这个顺序走不盲目去重新下载工程。5.2 瓦斯浓度数值在屏上乱跳干扰处理的实际案例设备通电后MCGS屏上瓦斯浓度数值从0跳到0.6再跳回0.1完全没法看。用万用表在传感器输出端量信号电流是稳定的说明传感器本体没问题。问题出在信号传输环节。现场是变频器柜和信号线在同一个配电室动力电缆和信号电缆虽然没有走同一根管但有一段桥架是平行的间距只有20厘米。变频器输出侧高频谐波感应到信号线上导致PLC模拟量通道读到的值波动。处理办法是三步走。第一把信号电缆从桥架上挪走单独穿一根金属管走另一侧墙和动力电缆间距拉到50厘米以上。第二在PLC模拟量输入端加信号隔离器把传感器信号和PLC通道做电气隔离。第三确认屏蔽层只在PLC柜侧单端接地另一端悬空。做完这三步数值当天就稳定了。这个案例说明矿井现场的干扰问题很少是单一原因往往是线缆布局、屏蔽接地、隔离措施多个因素叠加的结果。处理干扰不要指望换一个滤波器就万事大吉要整体过一遍。5.3 主备风机切换振荡问题的复盘有一台风机切换逻辑测试时出现振荡情况。主风机启动后因为现场风门没完全打开风量反馈不够PLC在10秒超时后判定主风机故障切换备用风机。备用风机启动后风量上来传感器读数又恢复了程序里备用风机切回逻辑马上把主风机重新投入于是两个风机在几分钟内反复启停。这个问题的根子其实在程序里少了故障保持位同时切换判断过于敏感。我在3.3节写的那段带M0.6故障保持位的逻辑就是从这次调试里总结出来的。加了故障保持位之后即使风量恢复正常主风机也不会自动重投必须人工去复位从根本上杜绝了反复切换。另外还有一个细节切换判断不能只看一个反馈点。我在逻辑里加了一层启动超时判断运行反馈确认的双重条件启动后3秒不急着判断给接触器和变频器一个稳定时间然后连续2秒检测反馈丢失才动作。这个延时组合不是拍脑袋定的是通过现场反复测试校准出来的你也应该根据自己项目的设备响应特性去调。5.4 备用风机热继电器动作后逻辑锁死的处理备用风机综合保护器动作后反馈触点断开PLC判故障备用风机停。但现场操作人员复位了热继电器后风机还是启动不了。查了半天发现是PLC程序里把保护器动作信号写成了故障保持手动复位结构复位按钮只清了PLC侧的故障标志但没考虑外部保护器本身的常闭/常开触点状态。实际处理是在复位逻辑里加上保护器已复位I0.4恢复且操作员按下复位两个条件都满足才允许备机重新启动。同时把程序里的故障字和外部信号做成与的关系外部保护器没复位时按钮怎么按都没用这样既符合安全逻辑也减少了误操作。这类问题本质上是PLC内部状态和外部设备状态的协同问题。写逻辑时一定要想着外部设备的真实状态是怎么变化的不能假设现场所有设备都听PLC的。5.5 一个很容易被忽略的DI接线问题开關量反馈的接线方式也踩过坑。某个项目中变频器故障反馈是无源常闭触点正常时触点闭合故障时断开。而PLC的输入逻辑里我默认有信号正常导致变频器一上电PLC收到24V以为是正常但实际触点状态是正常的常闭程序里怎么调都对不上。后来改了程序里DI的常开/常闭逻辑才理顺。这个问题提醒我做点表时必须标注清楚每路DI是常开还是常闭、正常状态是0还是1不能只写变频器故障就完事。开关量逻辑有一半的坑出在信号有效和状态正常之间的相反关系上。6. 项目收尾经验假如再做一次我会在这些地方调整这套系统稳定运行之后我回头复盘了一遍有几件事如果再做一个项目我会在一开始就做掉。第一安全联锁逻辑必须全部下沉到PLC组态屏脚本只做展示和参数下发。这个原则我前面反复强调因为在实际运行中MCGS屏偶尔会出现卡顿或通讯中断的情况如果关键联锁在屏上后果不堪设想。把这个原则写进需求文档从一开始就跟用户对齐。第二模拟量通道全部预留信号隔离器。一台隔离器也就几百块钱但现场布线和后期排查干扰问题的成本远高于这个数字。现在我做模拟量接入凡是现场有变频器或大功率设备一律先隔离再进PLC预算增加不多稳定性提升非常明显。第三切换逻辑里加故障保持位是底线设计这一点怎么强调都不过分。主备切换不是越灵敏越好而是越稳越好。宁可让故障恢复需要人工确认也不要让设备在无人值守的情况下反复启停。第四所有需要现场调整的参数做成V区变量开放给MCGS屏。我在项目验收前把所有报警阈值、联动阈值、频率上限都整理成一个参数表由矿方技术员确认初始值然后指导他们在屏上改一遍。这样做最大的好处是后期调整参数不需要厂家到场矿方自己就能搞定省了很多售后成本。第五程序做好注释和版本管理。S7-200的程序虽然不大但矿井项目后期会频繁改逻辑。我在每个程序块开头都写了版本号、修改日期、修改人、修改原因。现场调试时一定要和矿方确认当前运行的到底是哪个版本避免改乱了把自己都搞糊涂。如果后续要升级S7-200 SMART是一个非常平滑的替换方向CPU本体自带以太网口调试和远程监控都方便很多。MCGS的驱动库也支持S7-200 SMART原来的组态画面只需要改一下设备驱动类型和IP配置主体画面可以直接复用。最后说一个我个人的体会。矿井通风这类安全相关项目技术上没有太多玄学无非是传感器准确、逻辑严谨、通讯可靠、接线规范。真正拉开差距的是设计阶段对需求的理解深度和调试阶段对细节的较真程度。希望这篇复盘对你有用也欢迎在评论区聊聊你们项目里遇到的通风控制问题。
返回列表