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

资讯详情

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

基于三菱PLC与组态王的煤矿通风机瓦斯浓度自动控制方案

基于三菱PLC与组态王的煤矿通风机瓦斯浓度自动控制方案 煤矿通风机瓦斯浓度自动控制这套方案我两年前在一个局部通风机改造项目里完整落地过。整套系统以三菱FX3U系列PLC为控制核心配合组态王做上位机监控核心思路一句话就能讲清楚把瓦斯浓度传感器输出的4-20mA模拟量信号读进PLC在梯形图里完成区间判断然后以此决定通风机是低速运行、高速运行还是直接触发声光报警和断电联动。这套方案解决的是井下通风靠人工巡检、浓度变化难以及时响应的问题把通风决策从人转移到控制器上自动判断、自动执行现场值班人员只需要盯住组态王画面就能掌握全局。不管是刚接手煤矿自控项目的调试新人还是想给现有风机柜做智能化升级的工程师这套框架都能直接参考复用IO分配表、梯形图逻辑、组态王配置一条线全清楚。1. 项目到底要解决什么问题1.1 现场痛点与控制需求拆解井下瓦斯浓度不是一个固定值受地质构造、采掘活动、风量供给影响浓度曲线始终在波动。人工巡检是间隔性的等值班人员发现浓度涨上来再手动去切风机中间这段时间通风能力可能已经不足。自动控制要解决的核心矛盾就是“发现慢、反应慢、依赖人”。把瓦斯浓度实时采集回来浓度正常时保持常规通风浓度明显上升时自动加大风量浓度接近临界值时自动报警并联动断电这就是整套系统的功能边界。控制需求拆到现场可以整理成三条硬指标。第一浓度连续采集并实时显示PLC要能读到传感器的模拟量信号组态王画面上要能看见当前数值。第二按浓度设定值分级控制通风机风机不能只有“开和关”两种状态至少要分低速、高速两挡浓度越高通风能力越强。第三超限报警和断电联动必须独立可靠报警可以走PLC软逻辑但断电动作不能只依赖PLC一个环节后面接线部分我会详细讲这一点。1.2 系统总体架构与选型逻辑系统分三层感知层是瓦斯浓度传感器控制层是三菱FX3U系列PLC加模拟量扩展模块监控层是组态王上位机。传感器把浓度转成标准电流信号送到PLC模拟量输入通道PLC完成运算和逻辑判断输出点驱动接触器控制风机同时把数据通过串口送给组态王。选型逻辑上FX3U这个系列性价比高、指令丰富处理这种模拟量和数字量混合的逻辑绰绰有余而且三菱PLC的市场保有量大后期维护找资料、找人帮忙都方便。FX3U本体不带模拟量输入所以必须加一块FX3U-4AD扩展模块四路模拟量输入这个项目只需要用其中一路另外三路留作备用后面想加温度、风压传感器都不用换硬件。组态王选6.60版本驱动库里自带三菱FX系列通讯驱动和PLC之间用串口就能连上不需要额外写通讯程序。传感器选型要注意量程和输出信号。最常见的是催化燃烧式传感器量程0到4%CH4输出4-20mA响应时间在二十秒以内成本适中满足通风机监测需求没问题。如果现场对测量精度要求更高可以选红外式传感器但成本会明显上浮一般项目用催化燃烧式就够了。2. IO分配与接线设计2.1 IO分配表每一个点都必须有名有姓IO分配是整套系统的地基分配好了程序写起来顺畅接线照着表来不会乱。我习惯把输入、输出、模拟量分开列每个点位的地址、名称、信号类型、备注都写清楚这样后面调试和排查故障能省一半时间。PLC地址信号名称信号类型电气特征用途说明X0启动按钮数字量输入常开触点手动或自动模式下的启动指令X1停止按钮数字量输入常闭触点任意模式下的停止指令X2手动/自动切换数字量输入旋钮开关切换控制模式检修时切手动X3变频器故障反馈数字量输入常开触点变频器报故障时断开控制回路X4风压开关数字量输入常开触点检测风机是否真正建立风压Y0低速运行接触器数字量输出继电器输出驱动风机低速挡Y1高速运行接触器数字量输出继电器输出驱动风机高速挡Y2报警电铃数字量输出继电器输出超限时声报警Y3报警指示灯数字量输出继电器输出超限时光报警Y4断电联动输出数字量输出继电器输出送信号给断电执行回路FX3U-4AD CH1瓦斯浓度信号模拟量输入4-20mA传感器浓度信号接入这个分配方案里有两个细节值得多说一句。X0启动按钮用的是常开触点按下去导通但X1停止按钮特意选了常闭触点这是出于安全考虑——如果停止按钮的线断了程序会把它当成停止信号处理而不是按下去没反应避免了断线导致停不了机的风险。X3变频器故障反馈也要接常开故障时触点闭合程序收到信号后立刻停掉输出。2.2 接线要领细节决定成败IO分配表只解决“接哪”的问题真正考验现场功夫的是“怎么接”。这套系统接线有几个硬性要求都是我实际踩过坑之后总结出来的。模拟量信号线必须用双绞屏蔽电缆屏蔽层在PLC侧单端接地。我在现场见过不止一次项目程序写得没问题最后全在接线细节上翻车。比如模拟量信号线和动力线走同一个线槽风机一启动浓度读数瞬间跳好几格拿万用表量信号又完全正常最后把所有线缆分开布设才解决。这类问题特别坑人因为现象是间歇性的极难复现排查起来非常消耗耐心。接触器线圈必须并联RC阻容吸收器。PLC的继电器输出点直接驱动接触器线圈时线圈断电瞬间会产生很高的反向电动势长期下来会打坏PLC输出点甚至引起误动作。RC吸收器的作用就是把反向尖峰吃掉。这个成本很低但很多项目为了省事不装结果现场莫名其妙地复位、死机。还有一条接线原则必须摆到台面上讲断电联动信号不能只走PLC输出。PLC程序跑飞了、PLC坏了或是通讯线断了断电信号就没了这是绝对不能接受的。正确的做法是在硬件回路里串联一个独立的瓦斯断电仪触点瓦斯浓度达到断电值时断电仪本身直接切断风机电源和PLC形成双保险。PLC的输出只是第二道措施这样就避免了“控制器出问题导致断电功能失效”的最坏情况。2.3 模拟量信号接入与量程标定4-20mA标准电流信号的好处在于断线会变成0mA低于4mA的量程下限程序里可以借此判断传感器故障。FX3U-4AD模块接电流信号时需要参照模块手册把通道设为电流输入模式现场操作是把对应通道的V和I端子短接然后信号正端接CH负端接CH-。接完线最好用信号发生器送一个12mA电流验证一下PLC读数判断接线和通道参数是否正确。量程标定是整个测量链路的关键一步。传感器铭牌上写了量程0-4%CH4对应4-20mA而FX3U-4AD默认将4-20mA映射为数字量0到4000。我习惯在程序里把它换算成以0.1%为单位的整数存起来这样组态王显示更直观后面做区间比较也方便。换算关系很直接数字量4000对应浓度4%也就是40个0.1%单位所以浓度值等于数字量除以10。比如PLC读到2000浓度就是2.0%。这个比例在量程和模块参数不变的情况下是固定的。有一个细节要特别注意传感器在上电初期和长期运行后都可能出现零点漂移催化燃烧式传感器尤其明显。现场必须定期做零点校准和量程校准否则浓度显示值和真实值会有偏差。校准周期按现场安全要求执行但在程序里建议设置一个传感器故障判断读数长期低于4mA对应的数字量或者持续无变化就应该报传感器故障而不是当成浓度正常。3. 梯形图程序核心逻辑详解3.1 启停控制与手动/自动切换梯形图程序我分三块写手动/自动切换、浓度采集和区间比较、报警输出。第一块是启停控制也是最基本的安全框架。手动模式下X0启动、X1停止直接控制接触器主要用于检修和试车自动模式下按下启动按钮后置位自动运行标志程序按浓度判断自动切换风机挡位。指令表程序可以这样写实际工程中可以参考这个逻辑框架LD X2 ; 手动/自动切换开关ON为自动 ANI X1 ; 停止按钮未按下X1为常闭 AND X0 ; 启动按钮按下 SET M0 ; 置位自动运行标志 LD X1 ; 停止按钮按下 RST M0 ; 复位自动运行标志这里有一个容易被忽略的细节停止信号用的是常闭触点程序里的ANI指令直接对X1求反逻辑上等价于“没有停止信号就允许运行”。这样写的好处是即使X1接线断了PLC读到的信号和按下停止按钮是同一个效果系统自动进入停止状态不会出现想停停不下来的情况。手动模式程序比较简单X2为OFF时直接跳过自动逻辑X0、X1对Y0、Y1做常规启停控制。实际项目里我会在手动模式加一个互锁Y0和Y1不能同时导通。虽然PLC扫描周期很快Y0和Y1同时输出的情况几乎不可能出现但硬件上如果两个接触器同时吸合会造成电源短路程序里的互锁只是一层保护接触器选型时也应该选用带机械互锁的产品。3.2 模拟量采集与量程换算浓度采集的梯形图核心是FROM指令。FX3U-4AD模块的读操作就是把模块内部缓冲存储区BFM的数据搬到PLC的数据寄存器里。通道1的转换结果存在4AD模块的BFM#0程序里用FROM指令读取FROM K0 K0 D110 K1 ; 从0号特殊功能模块的BFM#0读取1个数据存入D110D110得到的就是0到4000的数字量。按下式换算成以0.1%为单位的浓度值D120LD M8000 MOV D110 D120 ; 原始数字量暂存到D120 DDIV D120 K10 D120 ; 除以10得到0.1%为单位的浓度值前面提过4000除以10等于400正好对应4.0%浓度所以直接除以10就能完成换算不需要复杂的浮点运算。这个简化成立的前提是量程是0-4%、模块满量程是4000一旦量程变了公式也要跟着变。如果传感器量程是0-4%但模块参数改成了其他范围一定要重新推算比例关系别直接套这个公式。模拟量在传输过程中难免有干扰程序里可以加一个简单的平均值滤波。FX3U的时基指令可以写循环也可以用加减速滤波的思路但我的经验是不宜过度滤波。瓦斯浓度变化本身就有一个过程滤波太深会把真实的浓度上升趋势抹平延迟报警判断的响应时间。现场我通常只做三到五次采样平均兼顾平稳性和响应速度。3.3 瓦斯浓度区间判断与风机分级控制浓度值算出来之后核心逻辑就是区间比较。我设定两条浓度线0.5%作为低速升高速切换线1.0%作为超限报警线。实际阈值要按项目所在地的安全要求和现场技术协议确定这里只讲框架逻辑。FX3U提供了ZCP区间比较指令一条指令就能完成三个区间的判断。假设设定K50对应0.5%0.1%单位下就是50、K100对应1.0%100执行LD M0 ; 自动运行标志为ON ZCP K50 K100 D120 M10 ; 浓度与区间比较结果存入M10-M12这条指令执行后三个软元件会有如下对应关系D120小于50时M10导通D120在50到100之间时M11导通D120大于100时M12导通。解释一下为什么用0.1%作单位K50就是0.5%K100就是1.0%设定值一目了然不需要在梯形图里写一堆小数运算三菱FX3U的32位整数比较处理起来也快。控制输出直接利用区间比较结果LD M10 ANI M11 OUT Y0 ; 浓度低于0.5%低速运行 LD M11 ANI M12 OUT Y1 ; 浓度在0.5%-1.0%之间高速运行这个逻辑的含义是低浓度时风机保持低速既能维持基本通风需求又省电浓度上升后自动切高速加大风量稀释瓦斯。它不是简单的“开关”两态控制而是根据浓度动态调整通风强度的分级控制方案。3.4 报警输出与断电联动的保护逻辑浓度超过1.0%时M12导通程序输出报警电铃和指示灯同时Y4送断电联动信号。报警这部分的梯形图很直接LD M12 OUT Y2 ; 电铃 OUT Y3 ; 指示灯 OUT Y4 ; 断电联动输出这里要重点强调回差控制。瓦斯浓度在临界值附近波动时如果没有回差系统会在低速和高速之间反复切换接触器频繁吸合很伤设备。我实际操作中会加入0.1%的回差浓度升到0.5%以上切高速但降到0.4%以下才切回低速报警动作点设在1.0%但浓度回落到0.9%以下才解除报警。做法是把ZCP区间的上下限换成两个不同方向的比较值或者用一个带自锁的辅助继电器来做滞回。这个细节是决定系统现场运行质量的关键不加回差的项目大概率会在调试阶段被频繁切换搞到崩溃。断电联动还要加一个延时确认逻辑。瞬时干扰可能导致浓度读数突然升高如果立即断电系统抗干扰能力太差。我习惯在M12导通后延时三到五秒确认浓度持续超限再输出断电信号。但这里要小心延时绝不能太长瓦斯超限是紧急情况这个时间的设定要结合现场安全评价来确定。最后再强调一次PLC输出的断电信号只能是辅助手段真正执行断电的硬回路必须由瓦斯断电仪直接控制。程序只能让断电动作“更及时、更多一道保障”但绝不能作为唯一依赖。这是整个项目里最重要的一条安全底线任何自动化改造都不能绕过硬件保护做软逻辑。4. 组态王监控画面与通讯配置4.1 三菱PLC与组态王的通讯配置组态王和三菱FX3U通讯走的是FX系列专用串行协议问答式通信组态王发读命令PLC返回数据。现场多数情况用串口连接电脑没有串口时用USB转串口线或者通过FX3U的编程口专用电缆连接。组态王6.60里配置设备的路径是工程浏览器设备COM1新建在设备驱动列表里选择“PLC、三菱、FX3U”然后设置串口参数。两侧必须一致我在这个项目里用的是9600波特率、8位数据位、偶校验、1位停止位PLC侧通过编程软件设置同样的通信格式站号设为1。通讯连不上时第一嫌疑永远是COM口号选错或波特率不一致先做排除法不要急着怀疑驱动。USB转串口线是个容易出问题的地方。劣质线用的是不靠谱的芯片装完驱动后系统里出现的COM号可能每次插拔都不一样组态王这个设备就彻底连不上了。花几十块钱换一条用可靠主控芯片的线很多奇怪的通讯问题直接消失。这个钱不建议省。4.2 数据词典变量与画面设计组态王里建变量的地方叫数据词典和PLC通讯的变量类型是I/O变量。这个项目至少建四个变量瓦斯浓度对应D120寄存器数据类型选SHORT只读自动运行状态对应M0只读报警状态对应M12只读手动/自动模式对应X2可读可写。建变量时要注意寄存器类型和PLC地址严格对应组态王里选错寄存器类型是新手最容易犯的错比如把D寄存器当成M寄存器画面显示出来永远是一个错误值。变量名连接设备寄存器数据类型读写属性瓦斯浓度FX3UD120SHORT只读自动运行标志FX3UM0BIT只读报警状态FX3UM12BIT只读模式切换FX3UX2BIT读写启动按钮FX3UX0BIT只读画面设计这块组态王图库里自带风机、仪表盘、指示灯等现成图形拖出来就能用不需要自己画复杂的图元。我做的主画面包含四块内容风机运行状态动画运行中的风机图形有转动效果瓦斯浓度数字显示用一个大号文本关联D120变量浓度仪表盘指针随浓度值变化还有报警区域浓度超过设定值时画面闪烁。按钮也放在画面里启动、停止、手动自动切换都能直接在组态王上操作现场人员在控制室就能完成全部操作不用跑到电气柜前按按钮。4.3 历史趋势曲线与报警记录光看实时数值不够瓦斯浓度的历史变化趋势对分析井下瓦斯涌出规律特别重要。组态王的历史趋势曲线能存过去几小时到几天的数据把D120变量关联到趋势曲线对象上值班人员就能直观看到浓度在哪个时间段最容易波动。我记得在调试阶段就是靠趋势曲线抓到了一次凌晨的浓度异常抬升当时浓度还没到报警值但曲线形态已经不对劲了提前安排人员去现场查看确实发现了局部的通风不畅。报警记录也不能漏。组态王的报警窗口把每次超限的时间、浓度值、恢复时间都记录下来事后查原因、写分析报告都有据可依。设置报警变量时注意把报警优先级和报警组配好别把所有报警都塞在一个组里否则筛选记录时很痛苦。我习惯把报警分成“提示级”和“紧急级”两个组浓度超限属于紧急级传感器故障属于提示级这样值班人员扫一眼就能抓住重点。还有一个实操细节组态王历史数据默认存在工程目录下长时间运行后需要定期备份顺便检查一下磁盘空间。我有一次就吃过这个亏工程磁盘满了之后趋势曲线不再记录新数据问题不大但查起来很迷惑。5. 现场调试与问题排查实录5.1 通讯不上或数据乱码现场调试遇到的通讯问题绝大多数逃不出三个原因。第一个是COM口号不对换了USB口之后COM号变了组态王里还指向旧号对策是去设备管理器确认当前COM号改回组态王设备配置。第二个是串口参数不一致PLC侧和组态王侧的波特率、校验位、停止位必须完全一致哪怕只有一位不一样通讯也建立不起来。第三个是USB转串口线质量差前面已经专门说过换线是最彻底的解法。排查步骤有固定套路先看组态王设备的通讯状态指示灯正常通讯时有规律闪烁再看PLC侧的通讯信号没有动作就要怀疑线缆和端口最后用串口调试助手手动发一条读指令能收到PLC响应就说明物理链路没问题问题在组态王配置收不到就回头查线和PLC通讯参数。这套顺序下来百分之九十的通讯问题都能定位。5.2 模拟量读数跳变和零点漂移浓度读数跳变是现场最容易让人头疼的问题因为它往往不是持续存在而是间歇性的。风机一启动读数就跳动力电缆和信号电缆平行走线是最大嫌疑。处理方法是把模拟量信号线和动力线彻底分开走线槽无法分开时交叉走线不要长距离平行。信号线用双绞屏蔽电缆屏蔽层在PLC侧单端接地不能两端都接地否则会形成地环路反而引入更大干扰。程序侧的滤波措施前面提过采样取平均值可以压住一部分高频干扰。但必须强调滤波的代价是响应变慢如果干扰本身已经把真实信号淹没得差不多了滤波再多也救不回来还是要从物理层解决。零点漂移则要靠定期校准催化燃烧式传感器的敏感元件会老化零点会缓慢移动用标准气校准是唯一可靠的办法。每次校准时记录一下偏差值长期积累的曲线能帮你判断传感器什么时候该更换了。5.3 风机频繁切换和逻辑误动作浓度在阈值附近小幅波动回差没做好的话风机会频繁切换接触器咔咔响值班人员听着都心疼。这个问题的根治方案就是加回差和延时前面梯形图部分讲过了。还有一类误动作和模式切换有关手动切自动或者自动切手动时如果没有互锁逻辑可能一瞬间出现输出抖动。解法是在模式切换指令后加一个过渡延时比如模式切换后一秒钟内不执行输出判断让现场状态稳定下来。我遇到过一种隐蔽的误动作来自PLC程序扫描顺序。模拟量读取、浓度换算、区间比较这几段程序的摆放顺序不对会导致一个扫描周期内读到的是上一次的旧值比较结果滞后一拍。检查一下程序段的排列顺序把FROM读取放到逻辑判断前面问题就消失了。这类问题不会写在说明书里只能靠现场排查时用监控功能逐个扫描周期地看数据变化才抓得到。5.4 验收前检查清单项目交付前我会按这张清单过一遍每项都确认没问题才放心。传感器接线极性是不是正确正负极反接会让读数完全错误。屏蔽层是不是单端接地两端接地会引入地环路干扰。接触器线圈有没有并RC吸收器没装的项目直接补上。断电联动回路是不是硬接线独立执行这个反复强调过是安全底线。组态王变量和PLC地址是不是一一对应尤其检查D120这种直接参与逻辑判断的变量有没有配错。报警记录和趋势曲线是不是正常写入历史库磁盘空间够不够。最后这套系统的程序逻辑确实不复杂真正拉开差距的全是现场细节。我在调试完第一个项目后最深的感受是自动控制永远只是辅助手段瓦斯安全的最终防线还是传感器和硬接线保护。所以每次项目验收我都会把断电联动回路单独反复测试二十次以上模拟各种故障场景宁可自己多花时间也不让现场留下隐患。这套框架后续扩展空间也很大加一个温度传感器就能做温压联锁加一个通讯模块就能把数据送到地面调度中心有需要完全可以在这套底子上继续搭。
返回列表