
矿井通风系统的自动化我在矿井自动化一线摸爬滚打十几年组态王6.53和S7-300 PLC这对组合真是老搭档了。经常有同行问我某个矿井通风自动化项目到底是怎么一步步做出来的背后的控制逻辑怎么搭上位机画面怎么弄通信怎么设。今天咱就把这个“组态王6.53工程解密”式的拆解做一次把一个典型的矿用智能通风方案从硬件配置到软件实现再到现场排障完整过一遍。这期内容适合刚接触煤矿通风自动化的技术人员也适合准备做系统改造、需要评估方案的老手看完你会清楚这套东西能解决什么问题、怎么落地、坑在哪里。1. 先讲清楚矿井通风自动化到底要解决什么问题1.1 通风系统为什么是矿山安全生产的命脉矿井通风不是简单装个大风扇吹风就完事。井下工作面、掘进巷道、采空区每个地方都需要新鲜风流持续供给把瓦斯、粉尘、有害气体稀释并带出地面。通风一旦中断轻则瓦斯积聚报警重则酿成重大事故。所以行业里常说“一通三防”一通指的就是通风位置排在所有安全工作的第一位。人工值守的传统模式下风机房一般24小时有人盯着仪表和指示灯负责定时巡检、记录数据、手动倒机、切换反风。问题很明显人的反应速度有限井下工况一变化靠人去判断和操作总归有滞后。尤其是主扇风机倒机这个操作规程要求在规定时间内完成人工操作步骤一多紧张状态下容错率很低。自动化控制解决的恰恰就是这三件事连续监测关键参数、及时预警和联锁保护、在规定时间内完成倒机和反风等复杂操作。而且自动化系统能把所有运行数据记录在案后期分析风机效率、能耗、故障规律都有依据。这套系统本质上是把“人盯设备”变成“系统盯设备、人管系统”。1.2 组态王6.53加S7-300 PLC的组合为什么这么常见先说为什么选PLC做下位机而不是单片机或者工控机直控。风机控制涉及大量开关量、模拟量信号以及起停、联锁、延时、故障记忆这些逻辑PLC就是为这类工业顺序控制而生的。S7-300系列在煤矿、化工、电力这些环境苛刻的场合可靠性有口皆碑模块化设计可以让备件通用性很强现场电工基本都会处理维护门槛低。组态王6.53这款上位机组态软件在国内工控圈混过的人都熟悉。它不支持那种花哨的三维渲染胜在稳定、轻量、上手快图库里的矿用元件直接拖出来就能用驱动支持S7-300以太网通信非常成熟。更关键的是6.53这个版本在大量存量矿山上运行了很多年很多老工程师手里都有一套成熟的开发套路遇到问题查资料、问同行都方便。用这套方案还有一个很实际的考虑性价比。S7-300加上组态王整套软硬件成本相对于大型DCS系统低很多却完全能满足矿井通风的控制要求。对于预算有限、又需要可靠自动化系统的矿井来说这是一个非常务实的选择。2. 系统总体架构与关键硬件配置2.1 两层架构设备层与控制层整个系统的控制架构分为两层。底层是S7-300 PLC为核心的控制柜负责采集现场传感器信号、控制风机启停、执行联锁逻辑和倒机流程。上层是以组态王6.53为平台的监控工作站放在风机房控制室或调度中心通过工业以太网和PLC通信实现人机交互、数据存储、报警显示和历史趋势查询。两层的分工很明确PLC单独运行时也能完成全部自动控制不依赖上位机组态王一旦通信中断现场的自动控制逻辑不会受任何影响只是上位机看不到数据、不能远程操作了。这个设计理念是“上位机可以死下位机不能瘫”实际项目中一定要强调这一点。我见过一些项目把联锁逻辑放在上位机组态王脚本里通信一断保护就失效了这是非常危险的错误做法。2.2 传感器和执行机构的选型要点传感器是整个系统感知井下工况的“眼睛”选型上不能含糊。以我常用的配置为例监测项常用传感器类型典型量程输出信号风机负压差压变送器0~8000Pa4~20mA风速超声波/机械风速传感器0~30m/s4~20mA电机电流电流互感器变送器按电机额定值选4~20mA轴承温度PT100热电阻0~200℃4~20mA选型时核心要注意三点。第一矿用环境有防爆要求传感器必须有矿用产品安全标志证书也就是MA标志别贪便宜用普通工业传感器下井验收这关就过不去。第二信号制式优先选4~20mA两线制抗干扰能力强断线时电流变成0mA程序里能够识别出故障比0~20mA或电压信号安全得多。第三负压传感器的量程要留余量比如正常负压在3000Pa左右选0~8000Pa就比较合适量程选太小容易超量程损坏传感器选太大又损失精度。执行机构主要是高压真空接触器或变频器还有一些电动风门。风机启动用高压接触器直启比较常见如果是变频调速的要重点关注变频器的故障输出信号和运行状态信号反馈到PLC的时间有些变频器停机后反馈信号释放慢会影响连锁判断。2.3 I/O点清单和硬接线安全联锁动手编程之前先要把需要采集和控制的点位理清楚否则程序写到一半发现少了一路信号返工很痛苦。一套典型的双风机通风系统I/O点大致如下信号类型点位内容数量DI 数字量输入主扇运行/停止/故障、备扇运行/停止/故障、风门开到位/关到位、复位按钮、手自动转换12DO 数字量输出主扇启动、主扇停止、备扇启动、备扇停止、风门开、风门关、声光报警、故障复位8AI 模拟量输入负压、风速、电机电流、轴承温度、定子温度、变频器频率反馈8硬接线安全联锁这里重点提一句。PLC程序里做联锁可以灵活调整但硬接线的安全回路必须存在。比如风门没有开到位时风机绝对不能启动这个条件除了在程序里判断还应该在一次回路或控制回路里用风门行程开关的硬接点串到启动允许回路。万一PLC的AI模块坏了或者程序跑飞了硬回路还能力保安全这是双保险思维。3. S7-300 PLC控制逻辑的设计与实现3.1 双风机主备倒切的核心逻辑矿井主扇一般是两台一用一备备扇必须随时能顶上。倒切时间要求很严倒切越快停机时间越短越好。但快不等于没有顺序盲目直接停旧机、开新机万一新机没起来井下就彻底断风了。我常用的倒切逻辑是“先启备用风机、再停原运行风机”也就是“并联过渡法”。在组态王界面上按下一键倒机PLC先执行备用风机启动命令等待备用风机运行状态反馈到位再执行原风机停机命令。这样在倒机过程中两台风机有短暂的重叠运行井下风流不会中断。程序实现上核心段可以用一个顺序控制字来实现。定义状态位初始待机为0收到倒机指令为1启动备用风机为2等待运行反馈为3停止原风机为4倒机完成为5。每个状态满足条件后切换不满足条件就保持等待并输出超时报警。这样逻辑清晰排查问题也方便。3.2 反风控制在程序里的顺序实现矿井反风是处理井下火灾等紧急情况时的关键操作目的是把风流方向反过来阻止有害烟气蔓延。反风操作不是简单反转风机必须配合风门动作顺序非常重要。以轴流式主扇为例反风逻辑一般分几步第一步停止风机运行确认风机完全停稳这一般要加延时比如等风机转速降到安全范围具体时间要根据风机的惰转时间现场整定第二步切换反风门、调节风门位置每个风门都要收到到位反馈信号第三步重新启动风机实现风流反向。这段顺序在PLC里用步进逻辑写每步都有延时保护和超时报警。在组态王上做一个“一键反风”按钮按下后PLC自动完成整个流程。操作人员培训成本低紧急情况下也不容易出错。反风操作结束后还要恢复到正常通风状态恢复逻辑和反风逻辑可以做成镜像但要注意风门的动作方向判断。3.3 变频调速与PID闭环控制的思路有些项目主扇电机配了变频器风量调节不用靠风门节流了直接调风机转速节能效果非常可观。这时PLC程序里就要做PID闭环控制。常用的控制模式有几种定负压控制、定风速控制、或者根据瓦斯浓度联动调节。以定负压控制为例给定值SP由操作员在组态王画面上输入比如设定负压3000Pa过程值PV是现场负压变送器读回来的实时值PID运算后输出值MV送给变频器频率给定。PID参数整定上通风系统是大惯性、纯滞后明显的对象比例带不能太小积分时间要放长微分项我一般直接不启用否则现场波动大时输出会来回震荡。经验参考值比例增益0.5~1.0积分时间200~400秒采样周期2~5秒具体要根据现场调。调试时先纯手动给频率观察负压稳定值再逐步投入自动千万不要第一次就直接打到自动容易振荡甚至引起风机喘振。写PID程序时S7-300可以用FB41功能块也可以简单使用PID算法自行编写建议直接用FB41块参数调整方便组态王里直接读写PID参数变量做远程整定。4. 组态王6.53工程搭建从驱动配置到动态画面4.1 驱动配置让组态王和S7-300建立通信组态王6.53和S7-300通信最稳定的是通过以太网方式。前提是PLC侧有CP343-1通信模块或者CPU自带PN口上位机通过网线接到同一个工业交换机上。在组态王里添加设备路径是“工程浏览器—设备—新建”选择驱动类型时S7-300系列要选对应的TCP驱动。关键设置有两个地方一个是IP地址必须是PLC以太网模块的实际IP比如192.168.0.10另一个是设备地址一般是“机架号.槽号”比如CP343-1插在0号机架4号槽地址就写“0.4”。这一步是新手最容易卡壳的地方。我遇到过很多次IP地址填了但设备地址默认是“0.0”没改通信怎么都不通。组态王帮助文档里写得很清楚设备地址要和PLC的硬件组态一一对应一个字节也不能差。建议搭建工程前先把STEP 7的硬件组态截图放在手边对照填。4.2 数据词典变量定义的核心技巧组态王的数据词典是整个上位机工程的数据中枢我有几个用血泪教训换来的建议。变量名用拼音或英文都行但一定要有规律方便后期维护。比如主扇运行状态定义成“ZS_RUN”负压定义成“ZS_FY”手动自动状态定义成“ZS_MODE”一眼就能看出含义。千万别起a1、b2这种名字项目做大了自己都认不出来。I/O变量定义时寄存器类型和地址要严格按照PLC的地址表来填。S7-300的M区和DB块在组态王的驱动里表示方式不同。比如PLC的MW100对应组态王的I/O整数变量M100DB1.DBW20对应I/O整数变量为“DB1.DBW20”之类具体格式以所用的驱动说明为准。定义完采集频率一般模拟量设置250毫秒到1秒开关量可以快一点但没必要太快太快反而增加通信负载。组态王里还有一种变量特别有用就是内存变量。PLC设备参数设定值、操作员指令等可以先在内存变量里做处理再赋值给I/O变量统一写入PLC。这样方便做范围检查、写权限控制防止误操作。数据词典里设变量时要设好模拟量的最小值和最大值。比如负压变送器量程0~8000Pa最小值就写0最大值写8000这样组态王能把原始信号自动线性转换为工程量显示省去自己写转换公式。4.3 画面组态让操作人员看得清、点得准组态王6.53的画面组态思路要围绕“运行、监控、操作”三个层次来设计。主画面放系统工艺流程图风机、风门、风道、传感器位置都要画出来运行时设备颜色随状态变化。组态王图库里虽然自带一些泵、风机图元但矿用轴流风机这类特殊设备往往没有现成图我的做法是用基本图元自己拼再用“变量替代”功能绑定状态量效果反而更贴合现场工艺。画面上的状态反馈用颜色区分我习惯用绿色表示运行红色表示停止或故障黄色表示中间状态或等待灰色表示信号无效。操作按钮要有确认机制尤其是一键倒机、反风这类关键操作组态王提供了一个函数PopMenu可以弹出自定义的确认窗口或者用“按住按钮”模式防止鼠标误点。动态显示参数时模拟量数值直接用“模拟值输出”连接变量计量单位要标清楚负压显示“Pa”风速显示“m/s”。另外可以在画面下方做一个状态栏显示当前登录用户、PLC通信状态、系统时间通信状态这个很实用一旦通信断开状态栏立刻变红调度中心的人能第一时间发现。4.4 组态王脚本与PLC的联动逻辑组态王6.53的命令语言功能支持在画面命令语言、应用命令语言、事件命令语言里写类C脚本。这里我要特别强调一个原则控制逻辑尽量放PLC上位机只做显示和简单的人机交互指令传递。比如“启动风机”按钮的脚本不要写一大堆if else控制逻辑只需要给PLC特定的内存标志量置一个数比如“ZS_START_CMD 1”PLC程序检测到这个值为1后自己去执行完整的启动顺序。这样的好处是即使组态王卡死、重启、脚本报错PLC侧始终有自己独立、完整的控制逻辑不会出现上位机改了一个变量引发连锁误动作的情况。不过组态王脚本在处理“数据显示和报警逻辑”时还是非常有用的。比如实时数据越限时在画面上闪烁报警文字比如倒机流程过程中画面上显示当前执行到哪一步这些联动可以让值班员很快了解系统状态。事件命令语言可以监控变量变化比如检测到风机运行状态从1变成0就自动弹窗提示“注意风机停止运行”这个对无人值守场景很好用。5. 操作功能、报警与历史记录实现细节5.1 用户权限与关键操作管控矿井通风控制属于安全关键操作上位机必须有严格的权限管理。组态王6.53的用户管理功能可以配置不同用户级别我至少要分三级操作员、值班长、工程师。操作员只能查看画面和启动风机、在允许范围内修改负压设定值值班长可以执行倒机、反风这样的关键操作工程师才能修改PID参数、风机切换模式配置、报警上下限。组态王里可以给画面按钮设置访问权限级别不是对应级别或以上的用户登录按钮是灰色不可操作的。配合用户操作日志每次谁、什么时候、做了什么操作都记录在案出了事故追责也有据可查。这里提醒一点权限不能只设在组态王侧PLC侧同样要有软保护。比如PLC内部用M区字存储远程指令使能标志只有组态王发送了正确的使能命令所有远程控制指令才有效。防止有人直接在组态王的“开发系统”里改了变量值绕过画面逻辑直接操作设备。5.2 报警组与实时报警处理组态王6.53的报警功能配置起来比较简单在“数据词典”的变量里有一个“报警”选项卡定义报警上下限和优先级即可。比报警本身更要的是报警分组。建议把报警分成“设备状态报警”“模拟量越限报警”“系统通信报警”“流程超时报警”几组每组用不同声音和颜色区分值班人员一听声音就知道哪类问题。报警上下限的设置要结合实际运行工况负压下限可以设置成正常值的70%左右低于这个值意味着巷道里可能发生了短路漏风负压上限设置成正常值的115%高于这个值可能风机叶片积灰或巷道堵塞。每个报警变量都要勾选“报警死区”也就是回差值否则现场数值在临界值附近抖动时报警会反复触发值班人员会被烦死。调试现场我个人特别喜欢用的一个功能是“报警确认”。组态王运行系统里报警窗口支持条件确认功能通过写“ACK”命令只确认当前选中的报警。配合报警打印可以自动把报警内容输出到针式打印机留存纸质记录有些矿上的监理验收就吃这一套。5.3 历史数据、趋势曲线与报表历史数据分析对风机运行管理和节能评估太重要了。组态王6.53历史趋势曲线功能支持定义画笔颜色、线型运行时可以拖拽缩放查看。但前提是数据词典变量定义时必须勾选“记录”选项并设置记录方式不勾选的话运行后是查不到历史数据的。历史数据是保存到组态王的数据库里的默认路径在工程目录下慢慢会增长。注意定期做数据转存和备份管理可以设置“磁盘溢出时覆盖最早文件”。对于矿级调度来说更重要的是日报表、月报表我一般会让组态王通过SQL或ODBC把关键数据写入SQL Server数据库然后利用报表工具按班次、按天自动生成风机累计运行时间、耗电量、平均负压值、报警次数、倒机次数。这些报表是矿上设备管理考核的重要依据也能侧面反映风机的健康状态。6. 现场调试与常见问题排查6.1 组态王与PLC通信掉线的排查流程现场最常见的故障就是组态王运行画面上变量全部显示“###”或“通信失败”。这种现象背后原因五花八门我习惯按顺序排查。先ping一下上位机到PLC的IP通不通如果不通则检查网线、交换机端口、IP设置通则继续在组态王里看设备连接状态。组态王6.53的设备通信超时时间、通信恢复周期等参数在“设备配置”里可以调注意不要把“恢复周期”设得太短一旦现场有电磁干扰导致瞬时通信中断组态王会反复重连反而加重通信负担我一般设恢复周期30~60秒。另外要重点关注PLC侧S7通信资源是否被占用。如果同时有多台上位机访问同一台PLCS7-300的通信连接资源是有限的连接数超了就会出现“时通时断”的奇怪故障。解决办法是给组态王单独分配一个通信槽位或者换用支持更多连接数的CPU、CP模块。6.2 模拟量信号跳变和漂移问题模拟量跳变多源于信号干扰和接地问题。排查时先用万用表在PLC模拟量模块端子处测电流是否稳定如果现场电流稳定而组态王显示跳变问题就在模拟量模块或上位机参数设置上。PLC模拟量模块通道值在程序中要加数字滤波比如用FC105量程转换时配合多次采样取平均值。组态王侧也可以在变量属性里设置“采集死区”比如变化量小于0.5%就不刷新显示这样画面上数值就不会抖得人眼晕。必须提醒的是不能为了显示稳定把死区设得太大否则真实值变化好几千帕画面都不动那就失去监控意义了。信号漂移一般是传感器温漂造成的4~20mA信号在长距离传输时压降和干扰也很明显。建议模拟量信号线用屏蔽双绞线、单端接地千万不要和动力电缆走同一个线槽。如果现场实在没法避开至少要保证PLC侧有信号隔离器这个钱不能省。6.3 自动倒机时出现超时报警的处理一键倒机是组态王上操作界面最“好看”、最容易演示的功能但现场调试倒机逻辑时也最容易出问题。超时报警往往是因为顺序逻辑里某一步的到位条件没满足而程序一直傻等。比如备用风机启动命令已经输出但备用风机运行反馈一直没到几十秒钟后程序报“备用风机启动超时”。处理这个问题的思路先看反馈信号本身是不是接触器辅助触点没接对、反馈信号线断、中间继电器不动作。再看程序里的延时时间是否合理风机从启动命令到运行反馈正常需要多久现场实测一下把延时时间整定在实测值基础上加10~20秒的余量。如果反馈信号和延时时间都正常就要检查是不是组态王下发的启动指令根本没被PLC收到这种问题多半出在远程指令标志位的读写映射上操作时用变量监视表同时盯PLC内部变量和组态王I/O变量的值很快就能定位。6.4 组态王工程备份与上位机冗余建议工程做到最后一定要养成备份习惯。组态王6.53的工程文件从“工程管理器”里可以整体复制备份存在其他磁盘或服务器上。我见过有同行辛辛苦苦做了几个星期的画面突然系统崩溃工程文件损坏又从头开始搭那感觉真的痛不欲生。对于重要的控制功能可以配上双上位机热备。组态王6.53本身有冗余配置两块工作站通过冗余通道同时连接PLC一台故障后另一台自动接管。虽然实现起来要额外准备一台机器和一套加密狗但安全保障提升了不少。很多矿井的调度中心和风机房异地放置双上位机可以让两边同时监视操作权限分开设置风机房主要负责现场操作调度中心只做监视和远程应急处置这样管理上更清晰。再说一个日常维护的点组态王工程的运行日志和PLC的诊断缓冲区要定期查看。PLC诊断缓冲区会记录所有停机、故障的详细原因哪怕只是瞬时掉电都会留下记录。调问题时先翻这个缓冲区往往比盲目猜要快得多。7. 写在最后这套方案未来的演进空间这套“组态王6.53 S7-300 PLC”的矿井通风自动化方案用了这么多年还能打核心原因就是架构稳、逻辑清晰、运维门槛低。如果你想在这个基础上做升级我个人经验里有几条路可以走。第一把数据往上送。现在很多矿井建了综合自动化平台通风系统的PLC数据可以通过OPC方式转发给上层平台实现全矿统一调度。S7-300做OPC服务器或者通过网关转发方案非常成熟。第二接入智能诊断。风机振动、轴承温度这些数据积累多了以后可以做简单的趋势预测比如温度持续爬升就提前报警提前安排检修比到故障停机再处理省太多事。第三和瓦斯监控系统联动。瓦斯浓度超限时自动加大通风量这类智能通风系统已经有不少矿山在试点效果很明显。说实话这套系统做起来不难难的是每一个环节都做到扎实可靠。传感器选型认真点接线规范点PLC逻辑多考虑几种异常情况组态王画面做得人性化一点。这些细节堆出来的才是一个矿上真正敢把安全和生产托付给它的自动化系统。希望今天拆解的这些内容能帮你少走几步弯路。