基于S7-200 PLC和组态王自动扶梯控制系统 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面
上周帮小区物业改了台服役快10年的老自动扶梯,原本的继电器控制箱触点都烧得发黑了,动不动就卡壳,最后敲定用S7-200 PLC加组态王来升级,折腾了小一周终于跑顺了,今天跟大伙唠唠这个项目的细节。
首先得把IO分配整明白,不然接线的时候能把自己绕晕,我这边整理的基础版分配表大伙直接抄作业都行:
输入侧:
I0.0:上行召唤按钮
I0.1:下行召唤按钮
I0.2:急停按钮(记得用常闭型,按下去断开)
I0.3:梯级入口的光电开关,检测有没有人
I0.4:手动自动切换开关
输出侧:
Q0.0:上行接触器+上行运行指示灯
基于S7-200 PLC和组态王自动扶梯控制系统 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面
Q0.1:下行接触器+下行运行指示灯
Q0.2:故障报警蜂鸣器+红灯
Q0.3:扶梯正常运行的绿灯
接线其实没什么花活,就是把按钮、急停、光电开关的线接到PLC的输入端子,接触器、指示灯接到输出端子,记得急停要硬线连锁,别全靠软件兜底,安全第一。当时物业的师傅还吐槽原来的继电器箱线缠成一团,找故障找了半天,这次用PLC之后线都捋顺了不少。
接下来是核心的梯形图程序,我把程序拆成了几个Network,每个都加了注释,方便物业后期改参数,直接贴几段给大伙看:
首先是最基础的急停连锁,这个必须放在最前面,毕竟安全优先:
// Network 1: 急停信号处理 LD I0.2 NOT = M0.0 // 急停触发时M0.0为0,否则为1这里我用了中间继电器M0.0作为全局使能,后面所有输出都要和M0.0做与运算,相当于只要急停按下去,所有输出直接断电,比每个线圈都串急停触点省事多了,后期改逻辑也不用挨个改。
然后是上行启动的逻辑,按下I0.0的时候,如果当前没有下行运行,而且急停正常,就启动上行接触器:
// Network 2: 上行启动逻辑 LD I0.0 AN Q0.1 // 防止同时按上下行烧接触器 A M0.0 // 急停正常才能启动 = Q0.0当时物业师傅还问为啥要加AN Q0.1,我直接给他举了个例子:要是有人同时按上下行,原来的继电器箱直接就炸线圈了,现在加这个就能直接锁死,老扶梯的接触器都快停产了,换一个挺麻烦的,能省则省。
原本我没加无人延时的逻辑,导致有人刚踩上去扶梯就停了,后来补了个TON定时器,给乘客留足进出时间:
// Network 3: 无人检测计时 LD Q0.0 OR Q0.1 // 只要扶梯在运行就开始计时 AN I0.3 // 光电开关没检测到人,说明没人 TON T37, 50 // 100ms精度,50就是5秒延时 // Network 4: 无人停机 LD T37 A M0.0 R Q0.0, 1 R Q0.1, 1这里用的是S7-200自带的100ms定时器T37,计时到了之后触点闭合,就把上下行的输出都复位,扶梯就停了。要是中途有人上来,光电开关闭合,TON就会被复位,不会触发停机,物业后期想改延时时间直接在线改定时器参数就行,不用重新下载程序。
这边组态王用的是和S7-200通讯最方便的PPI协议,买个几十块的USB-PPI适配器就能连,不用额外加通讯模块。组态画面我做了个极简版的主界面:
- 顶部放个扶梯的模拟图,旁边加三个指示灯:上行运行(绿)、下行运行(黄)、故障报警(红)
- 左边加手动启停按钮,能直接在电脑上控制扶梯测试,不用跑到现场按按钮
- 右边加个运行时长的统计,用组态王的历史数据插件就能自动统计,物业月底报维修记录都方便
比如绑定Q0.0到组态王的“上行运行”变量,把指示灯的填充颜色设成当变量为1时变绿,就能实时看到扶梯的状态了,物业师傅不用蹲在PLC旁边看指示灯,在办公室就能瞅见扶梯是不是在正常运行。
最后给物业交付的东西也都整理好了:带注释的梯形图每个Network都标了功能,接线图标了每个端子对应的设备,IO表做成了可编辑的Excel,还有组态王的工程文件备份,物业自己想改延时时间或者加个召唤按钮都能直接改,不用再找我。
其实这个项目真的不算难,就是一开始绕了点急停和无人延时的坑,要是大伙也有老设备改造的需求,这个方案挺适合的,成本低还好用。要是需要我整理好的IO表或者梯形图模板,评论区留个言就行,我看到就发。