做自动扶梯控制这种项目,最磨人的往往不是程序本身,而是安全回路的逻辑、接线时的细节,以及最后组态王连不上PLC那种怀疑人生的感觉。我最近整理了一套基于S7-200 PLC和组态王组态软件的自动扶梯控制系统方案,从I/O表、梯形图、接线图到上位机画面全部带解释说明。这篇文章就把整个项目的设计思路、程序逻辑、接线要点和调试经验完整捋一遍,适合正在做扶梯、提升机、输送线这类设备控制的工程师,也适合刚接触S7-200和组态王、想找一个完整项目练手的学习者。
这套系统说白了就是两件事:PLC这边管安全链、启停时序、变频器控制和故障锁存;组态王这边管状态监控、报警记录和运行数据展示。两者通过PPI或者以太网通讯。往下我会按设计思路、硬件接线、梯形图程序、组态王组态、联调排查这五个大块来拆解,全程带解释,尽量把“为什么这么做”也讲清楚。
1. 自动扶梯控制系统整体设计思路
1.1 系统要解决的核心问题
自动扶梯不像普通电机那样按个按钮就能跑,它牵扯到安全、时序、节能和检修几个层面的控制逻辑。先说安全,扶梯有急停按钮、梳齿板保护、梯级链断链检测、扶手带速度监控、超速保护、热继电器保护等一堆开关,这些开关要串成一条“安全链”。任何一路断开,扶梯必须立即停止,而且故障要锁存报警,不能自动复位。这是整个系统最核心的部分。
然后是运行时序。扶梯启动时,不能一上来就全速跑,一般先启动主电机,等梯级速度稳定后再带动扶手带;停止时反过来,先停扶手带,再停主电机。这种时序配合如果不做,客流量大的时候扶梯会明显顿挫,机械寿命也会缩短。
再就是节能和检修。现在不少扶梯要求无人时低速运行、有人时自动升速,这需要接光幕或红外传感器。检修模式下要有上下行点动功能,检修速度要限制,而且检修时安全回路的部分保护要单独处理,这个逻辑如果不严谨,很容易出安全事故。
最后还有监控。扶梯分布在各楼层,值班人员不可能每台都跑到跟前看,所以上位机要把每台扶梯的运行状态、故障代码、累计运行时间都采集上来。组态王在这条链路里就是值班人员的眼睛和耳朵。
1.2 方案选型:为什么是S7-200 + 组态王
很多朋友会问,现在S7-200都停产了,为什么不直接上S7-200 SMART或者S7-1200?这里面有几个现实原因。
第一,存量市场很大。大量在运行的扶梯、升降机设备用的还是S7-200系列,CPU224、CPU226都还在服役。维修改造项目没法把整台PLC换掉,只能在原基础上扩展或重写程序。做兼容方案,S7-200的经验依然吃香。
第二,S7-200的指令系统足够简单直观。它没有S7-300/1200那么多复杂的数据块和中断概念,一个主程序加几个子程序就能搞定全部逻辑。对维护电工来说,梯形图看下来不费劲,这很关键。扶梯项目的后期维护往往是物业电工,不是专业自动化工程师,程序越直白越好。
第三,组态王作为国产组态软件的代表,授权成本低、上手快,而且内置了大量PLC驱动。它对S7-200的支持非常成熟,通过PC/PPI电缆就能通讯,不需要额外买通讯模块,硬件成本可以压到很低。再加上组态王的报表、报警、趋势曲线都是现成功能,不用自己写代码,交付效率高。
这套组合的定位就是“低成本、皮实、好维护”,在商用扶梯、小型提升机领域非常够用。
1.3 系统总体架构与控制流程
整个系统分三层。
底层是驱动层,包括主电机、扶手带电机、变频器、接触器、热继电器这些执行和保护元件。中层是控制层,S7-200 PLC负责采集安全开关信号、按钮信号,根据程序逻辑控制接触器和变频器。上层是监控层,组态王运行在值班室电脑上,通过PPI协议和PLC通讯,实时显示状态并记录报警。
控制流程大致是:上电后PLC先检测安全链是否闭合,如果闭合,运行指示灯亮,等待启动信号。操作人员用钥匙开关加启动按钮启动扶梯,PLC先吸合主接触器,延时若干秒后吸合扶手带接触器。停止时先释放扶手带接触器,再释放主接触器。运行期间任何安全开关断开,PLC立即切断所有输出,锁存故障,同时把故障代码写到指定寄存器,供组态王读取。检修模式下切换开关打到检修位,安全链逻辑降级,只保留必要的急停保护,点动按钮直接控制上下行。
2. 硬件接线实操与关键配置
2.1 I/O点表设计与PLC型号选择
选PLC型号之前,先要把输入输出点数盘清楚。我按一个常规的双驱动自动扶梯来举例,主电机11kW、扶手带电机1.5kW,带变频调速,带检修点动。
输入信号大概有这么几类:安全链开关(急停1、急停2、梳齿板、梯级链断链、扶手带速度监控、超速保护)、操作信号(钥匙开关、启动按钮、停止按钮、检修/运行切换、上行点动、下行点动)、节能感应信号(光幕或红外传感器)。输出信号则包括主接触器、扶手带接触器、变频器启动、变频器方向、运行指示灯、故障指示灯、蜂鸣器。
我列了一个参考的I/O分配表,实际项目可以根据现场调整:
| 输入点 | 对应信号 | 说明 |
|---|---|---|
| I0.0 | 急停按钮1 | 常闭触点,断开即故障 |
| I0.1 | 急停按钮2 | 常闭触点,断开即故障 |
| I0.2 | 梳齿板保护开关 | 常闭触点,断开即故障 |
| I0.3 | 梯级链断链开关 | 常闭触点,断开即故障 |
| I0.4 | 扶手带速度监控 | 常闭触点,失速时断开 |
| I0.5 | 热继电器/超速保护 | 常闭触点 |
| I1.0 | 钥匙开关 | 运行允许信号 |
| I1.1 | 启动按钮 | 常开触点 |
| I1.2 | 停止按钮 | 常开触点,通常做成急停串联 |
| I1.3 | 检修/运行切换 | 检修时闭合 |
| I1.4 | 上行点动 | 检修模式使用 |
| I1.5 | 下行点动 | 检修模式使用 |
| I1.6 | 光幕/乘客感应 | 有乘客时闭合 |
| 输出点 | 对应信号 | 说明 |
|---|---|---|
| Q0.0 | 主接触器 | 控制主电机电源 |
| Q0.1 | 扶手带接触器 | 控制扶手带电机电源 |
| Q0.2 | 变频器启动 | 接变频器DI1 |
| Q0.3 | 变频器方向 | 接变频器DI2 |
| Q0.4 | 运行指示灯 | 绿色 |
| Q0.5 | 故障指示灯 | 红色 |
| Q0.6 | 蜂鸣器/报警输出 | 故障时鸣响 |
这样算下来约14个输入点、7个输出点,选择CPU224(14DI/10DO)就够,如果后续还要扩展,可以上CPU226(24DI/16DO)。S7-200的CPU本体自带数字量I/O,无需额外扩展模块,这一点对控制柜体积和成本都很友好。
I/O分配合并好之后,最好在标签上把每个点对应到图纸线号,这样后面写程序、查接线会快很多。实际项目里我吃过亏,没标线号,调试时一个一个对,效率太低了。
2.2 主回路与安全回路接线(重点:安全链)
主回路接线相对常规,断路器→接触器→热继电器→电机,加一个变频器做调速。主电机需要正反转时,可以在变频器输出侧用两个接触器切换相序,但要注意变频输出侧切换必须在变频器停止状态下进行,否则容易炸模块。扶梯本身是固定方向的,一般不需要输出侧切换,方向控制交给变频器内部的DI端子即可。
安全回路是自动扶梯接线里最重要的部分,一定要用常闭触点串联的结构。24V直流电源正极出来后,依次经过急停按钮1、急停按钮2、梳齿板开关、梯级链开关、扶手带速度开关、热继电器常闭触点,最后回到PLC的输入点I0.0。这个回路正常闭合时,I0.0得电为ON;任何一处保护动作断开该回路,I0.0立刻变OFF,程序就可以据此判断故障。
这个设计的巧妙之处在于:常闭触点串联天然就是“与”逻辑。回路里任意一个开关断线、跳掉、被人拍下急停,结果都是一样的——输入掉电,故障立即触发。也就是说,就算有人恶意短接了某个开关,其他开关依然能起作用;就算谁都看不出问题,只要回路松动接触不良,PLC也会当作故障处理。这比用常开触点并联再取反要安全得多,因为常闭结构天然覆盖了导线断裂这类隐性故障。
接线时还要注意S7-200输入端的漏型/源型问题。CPU224/226的输入公共端1M、2M通常接24V负端,信号端接24V正端,属于漏型输入。安全链一端接24V+,另一端接PLC输入点,回路闭合时输入点有电压,为ON。千万别把公共端接反了,否则所有输入信号全乱套,而且可能烧坏输入电路。我在现场见过因为公共端接错导致整块输入端子烧掉的情况,那种问题排查起来非常头痛。
控制柜内的安全继电器如果有条件,可以单独配置一个急停继电器,用硬接线先把安全链串进接触器控制回路,形成第二道保护,而不是完全依赖PLC。虽然多花几十块钱,但这是关键设备上值得做的冗余。
2.3 变频器与PLC之间的端子接线与参数设置
扶梯的变频控制主要有两个目标:软启动和节能低速。软启动是为了避免电机直接启动时的冲击电流,节能低速是为了无人时降低能耗和机械损耗。变频器选型按照主电机功率放大一档,11kW电机建议选15kW变频器,因为扶梯满载启动时扭矩需求大,余量留小容易过流报警。
PLC和变频器的接线走数字量端子,不推荐走通讯控制。原因是扶梯现场电磁干扰比较复杂,通讯控制一旦受干扰丢包,扶梯会出现启停异常,这种问题非常隐蔽。端子控制简单可靠,两个DI点就能搞定启停和方向,维护电工也容易理解。
具体接法:PLC的Q0.2接变频器DI1作为启动信号,Q0.3接变频器DI2作为方向信号。变频器用外部端子控制模式,频率给定有两种方案:一种是用PLC的模拟量输出模块(S7-200通过扩展EM232)输出0~10V电压给变频器AI1;另一种是用变频器内部的多段速端子,高速和低速两档即可,由PLC的两个DO点切换。对扶梯来说,多段速已经足够,没有必要用模拟量无级调速,还能省一块模拟量模块的钱。
变频器要设置的关键参数有:运行指令来源设为外部端子,频率给定来源设为多段速或模拟量,加速时间5~8秒,减速时间5~8秒,载波频率适当降低以减少干扰,电机额定参数按铭牌输入,V/F曲线选恒转矩特性。还有一个容易被忽略的参数是启动频率,扶梯惯性大,启动频率太低容易过流失速,一般设到2Hz左右比较合适。
2.4 接线过程中的坑与心得
这块的坑可以说是一抓一把,我挑几个影响最大的说一说。
电缆选型上,PLC的信号线、编码器线、通讯线要远离动力电缆,走独立的线槽,交叉时尽量垂直。强制要求屏蔽层单端接地,千万不要两端都接,否则会形成接地环路,电流在屏蔽层里跑,反而把干扰引入了。
端子压接一定要用冷压端子,不能把多股软线直接拧螺丝,时间长了铜丝氧化,接触电阻变大,就会出现那种“时好时坏”的幽灵故障。我在排查一个急停回路误动作时,最后发现就是端子压接不实,震动大了以后偶尔断开。
柜内接线要留足线号管。每个端子都套线号管,两端都套,这是基本功,但到了现场赶工期时经常有人偷懒。线号不清在后期排查故障时真是要命,尤其是在老项目改造时,图纸和实际接线对不上,只能一个一个点通断,浪费时间。
所有安全回路的开关触点,最好并联一个RC吸收回路或者压敏电阻。这个细节很多人不知道。安全开关如果是机械触点,在断开瞬间会产生电弧和感应电压,虽然PLC输入端有滤波,但过电压依然可能损坏输入模块,或者造成误触发。加RC吸收后,触点寿命和信号质量都会好很多。
3. 梯形图程序逐段设计与解释
3.1 程序整体结构
S7-200的程序用STEP 7-Micro/WIN编写,不需要分太多功能块,一个主程序(OB1)加两三个子程序就够用。自动扶梯的逻辑不太复杂,模块化切得太碎反而增加阅读难度。
我推荐按功能把程序分成四个子程序或程序段:安全回路检测段、启停控制段、运行输出段、数据准备段。每个段之间用M存储器位来衔接,比如M0.0表示安全链正常,M0.1表示允许运行,M0.2表示运行中。这样的好处是段与段之间解耦,调试时单独看某一段不会看花眼。
程序的扫描周期很短,对于扶梯这种毫秒级响应足够。但要注意S7-200的输入滤波时间,默认6.4ms,如果现场干扰比较强,可以适当调大,但急停信号不建议加太多滤波,否则响应延迟,安全逻辑上不合理。安全链信号建议单独用一路快速输入,或者使用立即指令(如立即触点)读取。
3.2 安全回路检测与故障锁存段
安全回路检测的梯形图逻辑用文字表示大概是这样:I0.0是安全链输入,它的常开触点串联M0.0的线圈,只有I0.0为ON时M0.0才得电。I0.0断开时M0.0断电,程序便知道安全保护动作。
但这里有个关键问题:安全链动作后,你如果只是让M0.0掉电,那么当故障恢复时M0.0会立即自动恢复,扶梯可能会在无人操作的情况下重新上电运行,这是绝对不允许的。所以必须做故障锁存。
故障锁存用S/R置位复位指令实现。我习惯的做法是:当M0.0掉电时,用它的常闭触点去置位一个故障继电器M10.0。M10.0一旦置位,就只能通过复位按钮或者把钥匙开关打到停止位再复位。在故障继电器置位期间,所有输出被封锁,运行指示灯熄灭,故障指示灯和蜂鸣器输出。同时把故障代码写入VW100,比如1代表急停,2代表梳齿板,3代表梯级链,这样组态王读取后可以直接显示具体故障原因。
这里有个细节:置位指令要放在循环扫描中,但M10.0置位后不能立即在上方被复位,所以要注意网络执行顺序。一般把故障锁存段放在安全检测段后面,复位逻辑放在最前面,保证扫描顺序是先复位判断,再故障判断。否则会出现复位按钮还没来得及生效,故障又立刻置位回来的现象。
故障代码写入VW100时,要把故障信息的每一位编码好。我通常的做法是:用M10.0~M10.7分别代表不同的故障原因,然后用字节传送指令把MB10的值传给VW100的低字节。这样组态王不用解析多位布尔量,直接读一个整数就行,画面显示非常方便。
3.3 启停控制、方向选择与运行时序段
启停控制的基本逻辑是:安全链正常(M0.0为ON)且无故障锁存(M10.0为OFF)时,钥匙开关I1.0和启动按钮I1.1组合起来,置位运行标志M0.2。停止时,按停止按钮I1.2或者故障锁存,复位M0.2。
梯形图的线圈置位复位逻辑比纯自锁电路更好用,因为自锁电路在断电恢复后状态不确定,而置位复位则完全由程序控制。运行标志M0.2置位后,主接触器Q0.0立即输出,变频器启动信号Q0.2也同时闭合。但是扶手带接触器Q0.1不能立即吸合,要延时3~5秒,等主电机带动梯级运转平稳后再吸合。这个延时用TON定时器实现,T37定时3秒,定时器常开触点控制Q0.1。
停止时序相反:停止信号到来时,先复位M0.2,Q0.1先断开,主接触器Q0.0再延时2秒断开。这里注意,不能用同一个TON定时器同时做启动和停止延时,需要用两个定时器分别处理。启动T37,停止T38,程序看起来稍微长了点,但逻辑清楚很多。
方向选择在扶梯控制里相对简单,一般通过现场工况决定,上行或下行,不会在运行中切换。方向输出Q0.3接到变频器DI2,如果方向反了,不需要改接线,只要把程序里Q0.3的逻辑取反即可。但在变频器参数里,建议设置反转禁止,防止误操作造成反转。
运行中还有一个细节:扶梯必须检测光幕信号,无人时切换低速,有人时切换高速。这个做法可以在主程序里面加一个判断,当运行标志M0.2为ON且光幕I1.6为OFF时,输出一个“低速运行”信号给变频器多段速端子,反之输出高速。注意切换速度时要先加速再切换还是先切换再加速,实际调试中我会在变频器参数里设两个加速时间,低速运行时加速时间稍长,减少顿挫感。
3.4 检修点动与节能低速段
检修模式的程序逻辑和安全运行模式是平行的,由切换开关I1.3选择。检修模式的目的是让维保人员在上部或下部机房控制扶梯低速点动,方便检查梯级、链条和扶手带。最关键的限制是:检修模式下不允许自动运行,任何自动启动信号都被屏蔽。
程序处理方法是:运行模式时,M0.2由钥匙和启动按钮控制;检修模式时,直接由I1.4下行点动按钮和I1.5上行点动按钮控制输出。但要注意,检修点动输出不能走M0.2这个运行标志,否则会打乱整个时序逻辑。我的做法是单独用一个M0.3作为检修运行标志,点动按钮按下M0.3得电,松开掉电。
检修模式下,主接触器和扶手带接触器同时吸合,不再需要启动延时,因为检修时操作人员需要直接看到各机构动作。变频器在检修模式下要切换到低频段,比如10Hz以内,速度慢才能保证安全。可以在变频器里做一个检修多段速,或者用隔离继电器把检修信号引出来,直接切换到更低速给定。
安全链在检修模式下不能全部旁路。急停按钮和梳齿板保护必须保留,但是梯级链断链、扶手带速度监控这类在低速时本来就无法正常检测的保护可以屏蔽,否则低速运行时这些检测会误报警,根本无法操作。具体保留哪几个,最好和现场维保人员沟通后确定,并且要把检修屏蔽逻辑在交付资料里写清楚,避免后期误解。
3.5 数据准备:给组态王留好变量
组态王读PLC数据,本质是读S7-200的寄存器区。所以程序里要把需要监控和记录的数据集中放到V区,方便组态王统一读取。
我一般会规划一段V区地址专门用于上位机通讯,大小不超过100个字节。例如:
- VW100:故障代码,整数型,0表示无故障
- VW102:运行模式,0表示停止,1表示运行,2表示检修
- VW104:运行速度,整数型,组态王里除以10显示
- VW106:累计运行时间,单位小时,由PLC内部累加
- VW108:启动次数,用于维保统计
- M0.0、M0.2等位变量:组态王可用M区直接读取
数据准备段的梯形图逻辑主要做数值处理:累计运行时间用秒脉冲或扫描周期累加,满3600秒加1到小时变量;启动次数在M0.2上升沿加1;运行速度值直接映射到VW104,比如低速状态写20,高速状态写50。
这样设计的好处很明显:组态王不需要去解析PLC内部复杂的位和字,只要按约定地址读取即可。后期如果换触摸屏或者换成别的上位机,也只需要重新配置变量,PLC程序基本不用改。
4. 组态王监控系统设计与通讯
4.1 组态王与S7-200的通讯配置
组态王和S7-200的通讯,最经济的方式就是用PC/PPI编程电缆。USB口的PC/PPI电缆加上驱动程序,插上电脑后会在设备管理器里生成一个虚拟COM口。组态王的设备配置里选择“S7-200(PPI)”驱动,然后设置对应的COM口号、波特率(默认9600)、数据位8、偶校验、停止位1,设备地址填PLC的站地址,默认是2,建议保持默认不要乱改。
有一个常见坑:PC/PPI电缆上的DIP开关要和通讯参数对应。老式RS-232接口的PC/PPI电缆,5个DIP开关分别控制波特率和通讯模式,必须拨到9600对应的位置。USB版一般不需要拨,但如果通讯不上,先检查驱动是否装好,再检查COM口号是否被其他程序占用。
如果距离远或者需要多台上位机访问,可以加CP243-1以太网模块,用组态王的“S7-200(TCP)”驱动通过以太网通讯。这种方案的优点是速度快、抗干扰强,但硬件成本会高一些。对扶梯项目来说,一台PLC就接一台上位机,PPI电缆足够,而且成本最低。
组态王设备地址千万别填错了。默认是0,但S7-200默认站地址是2,如果你在设备配置里不改成2,通讯会一直失败。这个错误我见过好几个人犯,明明驱动、COM口、波特率全对,就是连不上,最后发现就是地址没改。
4.2 数据词典变量定义与映射规则
组态王工程浏览器里要先建数据词典,把PLC的寄存器映射成组态王变量。变量类型有两种:I/O变量和内存变量。和PLC通讯相关的都用I/O变量。
变量定义的要点是寄存器类型和地址对应关系必须准确。S7-200的V区字变量,在组态王里寄存器类型选VW,地址填100,对应PLC里的VW100;位变量选VX或VM,地址按位寻址。这里要特别注意字节顺序。S7-200的高低位顺序是高位在前、低位在后,组态王默认也是这个顺序,但有时因为驱动版本问题,整数会读成颠倒,显示出来的数值明显不对。如果遇到,可以在组态王变量属性里勾选“字节顺序交换”来解决。
数据词典的规划我一般这样做:先用一个表格把PLC侧V区地址和组态王变量名一一列出来,变量名用能看懂的名字,比如“扶梯1_故障代码”“扶梯1_运行模式”“扶梯1_运行速度”,不然后期画面多了自己都分不清。采集频率按实际需要设置,状态量100ms就行,累计量可以500ms,不需要所有变量都5ms刷新,那样通讯负荷太高,可能拖垮PPI链路。
4.3 监控画面、报警与趋势组态
监控画面是组态王最出效果的部分。我的做法是先画扶梯的正视示意图,包含上下两个方向的梯级、扶手带、上下部机房位置,然后用动画连接把PLC变量关联到画面图元上。
运行状态用颜色变化表现:PLC的M0.2运行标志为ON时,扶梯梯级部分填充绿色;停止时灰色;故障时红色闪烁。方向变量控制箭头图标的旋转或偏移。当前速度用文本显示,直接把VW104连到文本的模拟量输出,再设一个表达式把值除以10显示成带一位小数的格式,比如“0.5m/s”。累计运行时间和启动次数用文本或仪表控件展示。
报警功能是组态王比较强的部分。在报警窗口里,把故障代码变量关联到报警事件,定义好报警优先级和报警文本。比如故障代码为1,报警文本显示“1号急停触发”;代码为3,显示“梯级链断链”。这样值班人员看到报警不用翻图纸,直接知道哪里出问题。报警信息可以记录到组态王自带的实时数据库,也可以写入外部数据库,比如MySQL,方便后面做报表统计分析。
趋势曲线可以用来观察扶梯运行速度、电流这些模拟量,但前提是PLC侧有对应的模拟量采集。如果没有接电流变送器或者模拟量输入模块,温度、电流类趋势就做不了。扶梯项目里趋势曲线算锦上添花,主要监控对象是状态和故障,不必强行上模拟量。
4.4 组态王数据与MySQL数据库的对接
组态王的SQL访问功能很多人没用过,其实它对接数据库很方便,特别适合做扶梯维保记录和故障统计。组态王通过ODBC数据源连接MySQL,在工程浏览器里配置“SQL访问管理器”,然后插入SQL函数到画面按钮或脚本中,就可以把报警记录、运行状态周期性地写入数据库。后期用Navicat for MySQL这类数据库工具查看,可以做故障频次分析、运行时长统计,对设备维保计划很有价值。
具体配置步骤不复杂:先在电脑上安装MySQL数据库,创建好一张表,比如“escalator_alarm”,字段包括时间、设备编号、故障代码、故障描述、恢复时间。然后在系统ODBC数据源里添加MySQL驱动,配置服务器地址、用户名、密码、数据库名。组态王工程浏览器里插入记录集,调用SQLInsert函数,把报警记录写入数据库。
这个功能有一点要注意:组态王SQL操作如果数据库连接失败,会导致组态王运行画面卡顿甚至崩溃,所以数据库连接要稳定,最好在组态王运行前手动确认数据库服务已启动。同时SQL函数的调用频率不能太高,一般一秒一次足够,否则数据库压力大,组态王脚本执行也会拖慢画面刷新。
5. 联调测试与常见问题排查
5.1 通讯连不上的常见原因
组态王连不上PLC,这是项目调试里最频繁遇到的问题,没有之一。排查顺序我总结如下:第一,看设备管理器里COM口是否存在,如果插上PC/PPI电缆没反应,多半是驱动没装好,或者线是仿制的、芯片不对。第二,确认组态王设备配置里的驱动选择、COM口号、波特率、校验位、停止位和PLC侧一致。第三,确认设备地址填的是PLC站地址,不是0,S7-200默认2。第四,用STEP 7-Micro/WIN尝试连接PLC,如果Micro/WIN能连上而组态王连不上,说明PLC通讯参数没问题,问题在组态王配置。
如果Micro/WIN也连不上,就要检查PC/PPI电缆DIP开关、PLC通讯端口是否被程序占用、PLC是否处于STOP状态。还有一点容易被忽略:S7-200的通讯口在程序运行时如果被某个通信指令占用,可能无法同时响应上位机请求,这时需要关闭程序里的自由口通讯功能。
5.2 安全回路频繁报警的处理
安全回路频繁报警是扶梯现场非常常见的问题,表现是运行一段时间后突然急停,故障代码指向急停或安全链,但重新上电后又能运行。这种“幽灵故障”最让人头疼。
排查思路:首先怀疑接线端子松动,把整个安全链上的每个端子都重新紧固一遍,尤其是随行电缆和活动部位的端子。其次怀疑安全开关本身的问题,比如梳齿板开关位置偏移,热胀冷缩后偶尔碰触,可以调整开关安装位置留出余量。再次怀疑外部干扰,安全链是长线布置,感应电压可能导致PLC输入抖动,这时可以在PLC输入点和24V负端之间并联一个电容,或者在程序里增加小时间的输入滤波,但不能加太长,否则急停响应变慢。
我曾经遇到过安全链电压正常但偶发断链报警的情况,最后是热继电器内部触点氧化导致的。这种问题光靠万用表量通断量不出来,必须用示波器观察触点动作瞬间的波形才能锁定。如果现场没有示波器,可以试试用PLC的输入状态灯长时间观察,看看报警时对应的输入点是否真的掉电,以此区分是外部触点问题还是PLC内部问题。
5.3 变频器不动作或方向反了怎么办
变频器不动作的排查要从两头看:一头是PLC有没有输出,另一头是变频器有没有收到信号。先在PLC程序监控里看Q0.2、Q0.3是否闭合,如果没闭合,说明PLC逻辑有问题,可能是运行标志没有置位,或者安全链没闭合。如果PLC输出了,但变频器不动,用万用表量一下PLC输出端子和变频器DI端子之间的电压,确认公共端接线是否正确。变频器DI端子一般是24V灌入型输入,需要和PLC的M端共地,否则信号无法形成回路。
方向反了很简单,调换变频器参数里的正反转指令选择,或者把Q0.3的逻辑取反。但切记不能在电机运行中去倒换方向,变频器在运行中突然反转会过流报警,严重时可能机械损坏。
还有一个容易出问题的点是变频器启动频率设太低。扶梯带载启动时惯性很大,如果启动频率设到0.5Hz,启动瞬间扭矩不够,电机会堵转,变频器过流跳闸。一般设到2Hz左右,加上合适的加速时间,启动过程就会平顺很多。加减速时间也不是越长越好,太长了会让乘客觉得扶梯反应迟钝,一般5~8秒比较合适,具体以现场实测为准。
5.4 组态王数据异常的计算与解决
组态王读上来的数据不对,常见现象有数值跳变、显示为0、显示为负值等。
如果数值跳变,首先要检查通讯质量。PPI通讯本身抗干扰能力一般,如果COM口波特率设太高,或者通讯线过长,数据就容易出错。可以降低波特率到9600,并保证通讯线使用屏蔽双绞线。
如果显示为0,先确认PLC侧变量是否真的有值,用Micro/WIN监控VW100、VW104等地址,如果PLC侧正常,再看组态王变量地址是否填对。还有可能是数据类型不匹配,比如PLC里是整数,组态王里定义成了实数,读出来的值自然不对。
组态王的运行画面和电脑画面显示不一样,这个也是高频问题。其实不是组态王出问题了,而是画面窗口大小和分辨率设置不一致。组态王6.55及以上的版本,画面属性里可以设置窗口大小,最好固定为一种分辨率,比如1280×720,然后运行系统的“画面自适应”选项打开。如果还不对,调整电脑显示器的缩放比例为100%,Windows默认的150%缩放在组态王里会导致画面错位、字体模糊。这一点要写进交付文档里,因为物业值班电脑往往设置了缩放,装好组态王后看起来没问题,重启后就成了另一副样子。
6. 项目交付时的资料构成
这个标题里特别提到“带解释的梯形图接线”,这是好多自动化项目交付时不够重视的部分。很多工程师程序写得飞起,但注释一个不写,接线图丢三落四,到了客户手里,维护人员根本看不懂,出了故障只能干瞪眼。
我现在的交付标准是:梯形图每一段必须有注释,说明这个网络的作用和关键逻辑,不只是给PLC程序加个网络标题,而是要在输出触点、中间继电器旁写清含义。接线图要提供两份,一份是竣工图,按实际接线修订过,一份是简化版的I/O接线示意图,方便维保电工快速对线。再配上操作说明和安全手册,包括正常开机、关机流程、故障复位流程、检修操作流程,全部用通俗语言写,避免堆术语。
还有一个容易漏的东西是备件清单和参数备份。变频器参数一定要备份到电脑里存好,PLC程序文件和组态王工程文件也要打包归档。等项目运行半年后再看,你会感谢当初归档的自己。自动化项目交付的不仅是设备,更是一整套能让客户自己上手使用的知识体系,资料做好做坏,直接决定了这个项目的口碑。
最后分享一点个人体会。扶梯这种安全等级高的设备,所有逻辑都按最坏情况设计,宁可程序多写几十行,也不要在安全上走捷径。所谓带解释的梯形图,它带的不只是注释,而是让在现场维护的人能快速理解你的设计意图。每一次把经验沉淀到文档里,都是在为下一个项目积攒底气。自动扶梯控制做到最后,拼的不是什么高深算法,而是规范、细致、把每一条回路都当成生死关口的认真劲。