矿井通风系统是整个矿井生产安全的生命线,我去年参与的一个井下通风自动化改造项目,就是基于S7-200 PLC与组态王这套组合来做的。项目本身不算特别复杂,但牵扯到传感器选型、控制策略编写、上位机画面搭建和现场联调,各个环节都有不少值得记录的经验。这篇文章就把整个实现过程和踩过的坑完整梳理一遍,给正在做类似项目的朋友做个参考。
1. 项目背景与控制需求拆解
1.1 为什么选择PLC替代传统继电器控制
我接手这个项目时,现场用的还是老式的继电器接触器控制系统。操作工每天靠人工判断风机启停,主通风机和局部通风机之间完全没有联锁关系,掘进工作面瓦斯超限时,报警信号和风机控制是脱节的。这些年井下设备越来越多,电网波动也大,继电器柜经常出现触点粘连、线圈烧毁这类毛病,排查起来非常头疼。
用PLC做控制的好处在于逻辑全部软件化,改控制流程不需要拆柜子重新接线,而且能实时监控设备状态、记录运行数据。对于矿井通风这种对安全要求极高的场景,可编程控制器比传统继电器电路可靠得多,诊断维护也容易得多。
1.2 核心控制需求的逐条梳理
项目启动前,我和矿方机电科的工程师一起把需求一条条列了出来,主要包括:
- 主通风机要实现自动换向、自动调速,根据井下风量需求调节工况
- 掘进工作面局部通风机必须具备风电闭锁功能,风机停转必须切断工作面的非本质安全型电源
- 瓦斯浓度参与风机连锁控制,当瓦斯浓度超限时能向变电所发出断电指令
- 值班员需要实时看到风机状态、风量、瓦斯浓度、电压电流等参数,并能远程切换运行模式
光看这几条就能感觉到,这已经超出了简单启停控制的范畴,属于典型的逻辑控制加模拟量处理的混合系统。当时我们核算了一下I/O点数,数字量输入约24点,数字量输出约16点,模拟量输入8通道,用S7-200 CPU226加EM231模拟量扩展模块的组合正好覆盖需求。
1.3 控制策略的总体思路
整体策略分三层:底层是设备执行层,包括风机、风门、蝶阀等;中间是PLC逻辑控制层,负责采集传感器信号、执行联锁逻辑、输出控制指令;上层是组态王监控层,负责人机交互、数据记录和远程操作授权。
控制模式上设计了手动和自动两档。手动模式用于检修和应急,值班员在上位机直接操作;自动模式才是项目核心,由PLC按照预设的智能策略自主判断风机的启停和调速。考虑到矿井环境的复杂性,控制策略必须足够保守,宁可误动作也不能漏报。
2. 硬件选型与电气系统设计
2.1 PLC及扩展模块的选型考量
S7-200系列虽然属于西门子的老产品线,但在中小规模工控项目中依然是皮实耐用的选择。CPU226有两个通信口,一个连组态王做以太网通信,另一个通过PPI协议连接触摸屏作为就地操作界面,正好满足远程和本地双向监控的需求。
模拟量处理方面配置了一块EM231四通道模拟量输入模块。我特意选了两块,一块接瓦斯传感器的4-20mA信号,另一块接风速、负压、温度传感器。很多同行喜欢用485总线把传感器串起来,这样确实省电缆,但现场电磁干扰大、总线冲突排查麻烦,单个模拟量点位的接线方式反而是更稳妥的选择。
2.2 传感器和执行机构的配置情况
瓦斯检测传感器用的是进口催化燃烧式探头,量程0-4%CH4,输出4-20mA标准电流信号。这里有个细节必须注意:催化燃烧式传感器在缺氧环境下测量值会偏低,所以井下高瓦斯区域要选择带有氧气补偿功能的型号,否则数据失真会导致控制误判。
风机调速执行机构用的是变频器加工频旁路双重方式。正常生产时变频器供电,实现软启动和速度调节;一旦变频器故障,通过旁路接触器切到工频运行,保证通风不中断。变频器的频率给定信号由PLC模拟量输出模块提供0-10V电压信号,正转反转通过两个接触器的切换来实现。
2.3 电气原理图的几个关键设计细节
- 所有控制回路供电统一走UPS,PLC电源和传感器供电也必须经过隔离变压器,避免变频器谐波污染信号电源
- PLC数字量输入全部采用24V直流漏型接法,公共端子接正极,传感器无源触点闭合时导通,这样即使线缆破损搭地,也不会形成危险电压
- 主风机轴承温度和电机绕组温度通过PT100热电阻接入模拟量模块,做超温预警和连锁停机
- 变频器和PLC之间做好通信隔离,模拟量信号线使用双端屏蔽,屏蔽层在PLC侧单端接地
电气柜安装时还特意做了风道设计,散热风机朝柜顶排风,PLC放在柜内中下部避开热源。变频器虽然也在柜里,但用隔板做了物理分区,防止热量集中和电磁干扰。
2.4 供电与接地的项目经验
矿井井下供电属于中性点不接地系统,这和地面建筑的接地方式有很大区别。PLC系统必须采用浮地方式工作,所有信号源不要和大地形成回路,否则多点接地会在信号回路中产生环流,轻则测量不准,重则烧毁模拟量模块。
我在调试过程中遇到过瓦斯浓度模拟量信号周期性波动的现象,用示波器一看,是变频器载波通过接地环路耦合进来的。后来把所有模拟量信号线屏蔽层统一改为控制器侧单点接地,输出通道加装了信号隔离器,波动幅度从原来的0.3%降到了0.05%以内,效果立竿见影。
3. 通风智能控制策略的核心实现
3.1 主通风机的风量智能调节算法
传统的矿井主通风机大多恒速运行,设计选型时按最大需风量放大20%左右,实际运行中大部分时间是浪费的。我们这个项目做的是经济风量调节,利用负压传感器实时监测井下通风网络的阻力变化,然后通过PID调节风机转速,维持风量在设定值附近。
控制逻辑并不复杂:PLC每200毫秒采集一次巷道负压信号,与设定的目标负压值比较,偏差输入PID算法,输出4-20mA信号控制变频器频率。关键是PID参数整定,我采用的是临界比例度法,先去掉积分和微分作用,增大比例增益让系统发生等幅振荡,记录临界比例度和振荡周期,再用经验公式算出合理的P、I、D参数。
实际运行中我发现单纯PID调节在巷道光面变化剧烈时响应会比较迟钝,所以又叠加了前馈控制:上位机收到掘进工作面的设备启动信号时,提前把目标风量提高15%,防止后续风量跟不上。这种前馈加反馈的组合策略,既保证了动态响应速度,又保证了稳态精度。
3.2 瓦斯浓度的多级联动控制策略
瓦斯浓度联动是整个通风控制系统里最敏感的部分。我把控制逻辑分成三个等级:预警值0.8%、断电值1.0%、复电值0.7%。当瓦斯浓度超过预警值但还没到断电值时,PLC自动把对应工作面的局部通风机转速提到最高档,同时向上位机发送黄色预警信息。
当瓦斯浓度超过1.0%断电值时,PLC立即动作,切断该工作面所有非本质安全型电气设备的电源,同时触发声光报警信号。这里必须强调的是断电逻辑用独立硬接线回路确保可靠性,不能完全依赖PLC软件判断——瓦斯监控分站和PLC之间通过继电器常闭触点串联,分站报警时不光自己断电,还硬线切断控制回路,形成冗余保护。
复电逻辑我设计了自锁延时,必须操作人员确认瓦斯浓度确实降到0.7%以下,并且手动复位,才允许重新送电。这主要是防止自动复电带来的安全隐患——瓦斯浓度刚过阈值就恢复供电,风险还是挺大的。
3.3 局部通风机的风电闭锁逻辑实现
风电闭锁是掘进工作面最基本的安全逻辑,风机停转时工作面的电必须断电。用PLC实现这个功能很简单:主电路接触器的辅助触点接到PLC数字量输入,PLC输出回路串联接触器线圈。只要PLC检测到风机接触器释放,立即断开动力电源接触器的控制线圈。
这里有个容易忽略的细节:风机本身有两台,一台主用一台备用,自动切换逻辑是主风机运行信号丢失3秒后自动启动备用风机,同时声光报警提示值班员风机组故障。切换过程中控制回路不能断电,所以PLC程序里检测到主风机故障信号首先封锁动力电源接触器,等备用风机启动正常后才恢复供电,避免在无风状态下送电。
3.4 PLC程序结构设计的几个要点
程序模块我划分成主程序和六个子程序:模拟量处理子程序、报警处理子程序、风机控制子程序、瓦斯联锁子程序、通信处理子程序和自诊断子程序。主程序每个扫描周期调用这些子程序,顺序固定,避免竞争条件。
模拟量处理是重点,PLC内部用0-32000的整数值表示4-20mA信号,必须转换成对应的工程值。以甲烷传感器0-4%CH4量程为例,换算公式是:瓦斯浓度 = AIW0 / 32000 × 4.0。浮点运算在S7-200中是用双字表示,存放区域和数据格式在编程时就得规划好,否则很容易溢出或者精度丢失。
定时器使用上我全部选择1秒分辨率的TONR保持型定时器,这样不但能累计运行时间,而且断电后数据不会清零,方便维护人员了解风机实际运行时长。脉冲输出方面用PLS指令驱动变频器的多段速控制端子,实现不太复杂的转速切换,简单可靠,比通信方式写频率指令更不容易出问题。
4. 组态王上位机监控系统开发
4.1 通信连接的配置方式
S7-200和组态王的通信通过OPC方式实现。我在工控机上装了S7-200 PC Access作为OPC服务器,组态王作为OPC客户端访问PLC变量。通信链路是工控机的网口连接工业交换机,再接到CPU226的以太网模块CP243-1上。
配置PC Access时要特别注意变量名的规划,我统一采用“风机模块_风机1_运行状态”这种层级命名,而不是简单的“变量1”。组态王里建立变量时选择OPC服务器对应的数据项,数据类型和PLC内部数据类型必须严格对应,比如VW0对应无符号整数,VD100对应浮点数,这些错一个字节通讯数据就全乱了。
通信故障处理我设置了看门狗计数器:上位机每秒钟刷新一次通信状态位,如果3秒没有刷新,组态王画面自动弹出网络故障提示,并将控制权限强制切换为就地控制,防止远程指令发不出去还显示正常状态。
4.2 监控画面的整体布局
组态王画面我分成了三个区域:主接线图区、参数集中显示区和操作控制区。
主接线图区用图形元件绘制了通风系统的模拟图,风机叶片动画旋转、风门开闭状态颜色变化、管路中风流方向用流动箭头效果体现。这样值班员在控制室扫一眼大屏,就能直观了解当前通风状态。
参数集中显示区把所有传感器的实时值用大号数字显示,绿色表示正常、黄色表示预警、红色表示报警闪动。历史趋势曲线在这个区域选点展示,方便观察瓦斯浓度的变化趋势和风机的负载波动。
操作控制区放在画面右下角,设有手动自动切换旋钮、风机启停按钮、参数设定输入框。所有控制操作都需要点击确认弹窗,防止误操作。权限方面组态王做了分级管理:值班员只能启停和切换运行模式,PID参数和报警限值的修改必须工程师权限登录,这样日常使用过程中不容易把关键参数改乱。
4.3 数据报表与历史记录功能
组态王自带的报表功能可以定时生成班报、日报和月报,内容包括风机运行时间、累计耗电量、瓦斯浓度最大值和平均值、风机电压电流等。我配置了两组定时报表:一组整点生成,记录时刻值;一组每天零点生成,统计一天的数据汇总。
报表输出的格式是Excel兼容的表格,矿方机电科可以直接用Excel做二次统计分析。我还在组态王里设置了操作记录功能,所有操作动作和报警事件都按时间顺序记录,包括操作人、操作内容和结果,审计追责就有据可查了。
历史报警窗口做了分类筛选,按报警级别和报警类型查看,常规运营时查看历史记录的效率比翻纸质记录本高得多。
4.4 组态王与PLC的数据交互细节
联网通信时最怕变量刷新频率过高造成通信阻塞。组态王每个变量刷新周期默认100毫秒,如果画面挂了几百个变量,每秒就会有几千个数据请求,通信链路很容易拥堵。我把不关键的指示灯刷新周期拉长到1秒,关键的报警变量挂在高速采集组,刷新周期50毫秒。通过这种方式,总的通信负载控制在合理区间,通信稳定性大幅提升。
还有一个细节是组态王的日期时间显示格式要和PLC的实时时钟统一,PLC每年要校时一次,上位机作为时间主站每天校时PLC一次。这样报警记录和报表的时间轴才准确,不会出现差几分钟的偏差。
5. 现场调试过程与常见问题排查
5.1 上电调试前的准备清单
第一次上电之前,我列了一份检查表:
- 所有接线端子紧固力矩复检,防止运输振动导致接线松动
- 模拟量信号回路逐一测量电流值,确认传感器输出正常且极性正确
- 绝缘电阻测试,用500V兆欧表测量动力电缆和控制电缆对地绝缘
- PLC程序下载后先在线监视I/O状态,核对每一个输入点与实际信号对应
- 变频器参数初始化,设定加减速时间、载波频率、保护参数
这份检查表帮了大忙,上电后发现有三个点位的传感器信号接反,还有一路变频器启动信号在柜内端子排上松动,如果没先做静态检查就直接通电调试,这些问题排查起来会很被动。
5.2 模拟量信号干扰问题的完整排查过程
调试第3天出现了顽固的信号干扰。局部通风机变频器一转起来,瓦斯浓度模拟量信号就在0.9%到1.1%之间剧烈跳动,跳得人心惊胆战。刚开始我以为传感器坏了,换了一个新传感器还是同样的问题,才判断是干扰耦合。
排查思路是先分清干扰路径。我用万用表在PLC模拟量模块端子处测量电流,变频器运行时信号电流波动接近0.5mA。然后我依次试验三种抗干扰措施:先把信号线屏蔽层单端接地,波动幅度略有减少但依然明显严重超差;后在信号回路串入磁环,效果不太理想;最后在传感器信号线和变频器输出动力线之间拉开物理距离,同时把两者布线路径完全分开,干扰才基本消失。
这个项目最终的综合抗干扰方案是:动力线和信号线分桥架敷设,间距保持40厘米以上;信号隔离器全部安装到位;PLC控制器内部程序又加了数字滤波功能,采样值连续变化超过10%时视为干扰信号,采用前三次采样的平均值。三种手段叠加后,现场测量值稳定在了±0.05%以内。
5.3 PID参数整定过程中遇到的振荡现象
经济风量调节的PID参数我按临界比例度法整定后,仿真和空载试运行都没问题,但一接上真实风道就出现了低频振荡,风机转速在目标值附近来回变动,声音忽高忽低。
后来分析原因,主要是纯滞后时间比我估计的长:变频器响应、风道惯性、传感器响应时间三个环节串联起来,总的纯滞后达到了1.5秒左右。这导致普通PID调节器的相位滞后在临界频率附近已经接近甚至超过极限值,产生持续振荡。
解决办法是把PID积分时间加大一倍,同时将目标负压设定值做了斜率限制,让PLC每次调整目标值的变化幅度不超过5%,系统就平稳下来了。所以搞通风控制的PID,一定要把风道这个大惯性环节拉开距离看,不能只看风机本身,否则很容易出现整定不合理的情况。
5.4 通信中断的故障分析和处理
系统投运约两周后,值班室反映组态王画面数据偶尔卡住不动,过一会儿又自动恢复。我去现场检查时发现,通信中断期间PLC报警灯正常闪烁,但上位机网络状态标识变化,初步判断是通信链路层问题。
通过抓包分析发现,工控机的以太网网卡在待机状态下会进入节能模式,降低了数据包接收能力,导致PC Access偶发性丢包。解决办法很简单:在网卡驱动设置中关闭节能以太网模式,把网线也换成了工业级屏蔽双绞线,同时给工控机的网卡配置固定IP而不是自动获取。这之后通信中断问题再没复现过。
还有一个细节是CP243-1以太网模块有一个通信超时参数,我原来设的是默认值5000毫秒,实际环境响应慢时容易超时断开,后来改成20000毫秒,通信稳定性提高了好多。
6. 项目投运后的运维经验总结
6.1 PLC程序的定期备份与版本管理
项目交付后最容易忽视的工作就是程序备份。很多矿井的PLC程序在投运后经过若干次修改,版本早就和交付时不一致了,但很少有人做版本管理。我这次特别注意,每次程序修改前先上传当前版本,加注释说明修改日期和修改内容,上传到项目资料库里保存。
组态王工程文件也做了同样处理,包括画面文件、数据库文件和配置文件,打包后定期存档。这样就算某个工程师离职、工控机硬盘损坏,或者PLC程序丢失,都能快速恢复到最新可用的版本状态。备份目录建议放在独立的移动硬盘或者服务器,不要和工控机放在同一台机器里。
6.2 传感器定期校准的重要性
瓦斯传感器和风速传感器是控制系统的“眼睛”,精度直接影响控制逻辑正确性。矿井的瓦斯传感器按规定每7天要用标准气样校准一次,风速传感器每季度标定一次。这个环节在项目投运初期容易被忽略,等到出现假报警或者控制误动作时才会引起重视。
我在项目技术文档里专门写了传感器校准操作规程,规定了校准前要通知上位机值班员,校准期间闭锁相应联锁功能,校准完成后恢复并确认数据正常。同时PLC程序里做了传感器健康度监测,如果模拟量信号持续48小时保持满量程或者零值,上位机自动弹出传感器疑似故障的提示。
6.3 控制和报警功能的定期联动测试
通风控制系统的联锁功能必须定期测试,不能等真出事了才知道失灵。我建议每季度做一次全面的联动测试:模拟瓦斯浓度超限,验证断电执行机构的动作是否迅速;模拟主风机故障,验证备用风机的自动切换是否可靠;模拟通信中断,验证控制权限是否自动切换为就地模式。
测试时要提前和矿方协调好生产安排,做好应急预案,因为联动测试本身会短暂影响井下通风和供电状态。测试完成后出具联动测试报告,作为安全管理的存档资料。项目投运半年内我们坚持做了两次联动测试,发现备用风机启动时间偏慢约1.3秒,超过了设计指标,后来调整了启动逻辑的参数才达到0.8秒以内。
6.4 关于系统扩展的一点建议
矿井通风智能化的趋势是不会停止的,上位机系统将来很可能会接入矿井综合自动化平台,PLC控制器也可能需要和更多的子系统联动。所以在做这类项目时,控制器的通信余量和I/O扩展余量都要预留至少20%以上,上位机系统设计时就要考虑数据转发接口的标准性问题。
我当时在组态王里预留了OPC UA服务器接口,后续如果要接其他平台,改配置就能实现,不用重新开发。PLC方面,CPU226的程序存储空间当时用了约60%,还有一定的扩展余地,但模拟量模块的点位已经全部用完,后续要增加传感器的话,需要再扩展模块,这个在柜体设计时预留了安装位置。
这套系统从设计、安装、编程、调试到投运运行,整个过程让我对矿井通风自动化的理解比单纯看资料要深刻得多。控制策略的稳妥设计、传感器的精度保障、通信的稳定性、程序的可维护性,这几个维度缺一不可。尤其是现场调试阶段积累的那些细节经验,往往是文档里看不到的实战内容,希望这篇梳理对正在做或准备做类似项目的同行有帮助。