三菱PLC和组态王4层电梯四层电梯控制系统 我们主要的后发送的产品有,带解释的梯形图接线图原理...
三菱PLC和组态王4层电梯四层电梯控制系统 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面
实验室四层电梯模型卡成狗的时候,真的恨自己当初梯形图只会写互锁单按钮那种幼儿园题。后来拆前辈的旧板子加自己写组态王救回来的过程,攒了一堆带注释、能直接转成工厂/模型文件的干货:全解析的FX3U梯形图、实物/仿真接线图IO对应表、还有连监控、选层、故障报警(比如有人扒门电梯停住喊停人)都有的组态王画面,放文末了慢慢看。
先唠唠最基础但搭不好会炸(炸是夸张,但模型蜂鸣器会叫一整天物业要骂你的实验老师亲戚家模型要还那种炸)的IO分配。四层电梯嘛,核心是“请求层在哪”“我现在在哪”“要不要上去要不要下来要不要停”。用FX3U的话,继电器输出够了,不用晶体管太浪费钱。
直接上表吧,别整虚的文字绕口:
| 输入(X开头,梯形图里写X000这种别漏0,我漏过一次负一楼按了没反应调了2小时) | 功能说明 |
|---|---|
| X000 | 1楼内呼/外呼上行请求(因为是1楼只能上) |
| X001/X002 | 2楼内呼;2楼外呼上行 |
| X003/X004 | 2楼外呼下行;3楼内呼 |
| X005/X006 | 3楼外呼上行;3楼外呼下行 |
| X007/X010 | 4楼内呼;4楼外呼下行 |
| X011~X014 | 1~4楼平层传感器(干簧管就行,靠近模型轿厢磁铁吸合) |
| X015 | 电梯门安全触板(扒门就断) |
| X016 | 急停按钮(这个必须有!炸模型最后一道防线) |
| 输出(Y开头,Y000~Y007继电器常开常闭随便接,看蜂鸣器LED电机驱动器的要求) | 功能说明 |
|---|---|
| Y000 | 1楼内呼指示灯亮;2~4楼同X001-X010对应Y001-Y007(外呼指示灯加Y010-Y015,刚才漏打IO表的X外呼后面补输出) |
| Y001-Y007(外呼补Y010-Y015)→ 哦重新理理:Y000=1平层指示;Y001=2;Y002=3;Y003=4 | 轿厢内当前楼层数码管段选太麻烦先做LED灯条,一层亮一个对应Y000-Y003 |
| Y004 | 电梯上行继电器(接电机正转) |
| Y005 | 电梯下行继电器(接电机反转) |
| Y006 | 开门继电器(接电磁铁或者小舵机开模型门) |
| Y007 | 关门继电器 |
| Y010 | 1~4楼外呼上行指示灯(Y010=1上;Y011=2上;Y012=3上) |
| Y013 | 2~4楼外呼下行指示灯(Y013=2下;Y014=3下;Y015=4下) |
| Y016 | 蜂鸣器(扒门、选层成功、开门超时响) |
数码管段选真的劝退新手,LED灯条贴模型轿厢侧面就行,肉眼可见不用数。

三菱PLC和组态王4层电梯四层电梯控制系统 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面
接下来是核心的FX3U梯形图,截一段最爽的“有多个请求时先响应同向的近层,反向的远层留着最后转方向”吧,新手容易写成哪个先按哪个走,电梯在3楼1楼和4楼同时喊,直接上下乱窜像坐过山车。
// 先声明几个软元件,FX3U的M辅助继电器随便用,别超就行
// M0=电梯待机状态(没开门、没运行);M1=电梯正在上行;M2=电梯正在下行
// D0=记录当前楼层(平层X011=1时MOV K1 D0,X012=1时MOV K2 D0,以此类推)
// D1=记录所有请求楼层的最大值;D2=记录最小值,用来判断方向
// 第一个:记录当前楼层(这个是基础,很多逻辑都靠D0)
LD X011 // 1楼平层干簧管吸合
MOV K1 D0
LD X012
MOV K2 D0
LD X013
MOV K3 D0
LD X014
MOV K4 D0
// 第二个:先把所有请求楼层的软元件转成“有请求时置位对应的M辅助层”
// M10=1楼有请求;M11=2楼有;M12=3楼有;M13=4楼有
// 不管内呼外呼,只要有一个对应楼层的请求,就置位M10-M13,同时亮指示灯
LD X000
OR M10
OUT M10
OUT Y010 // 1楼外呼上行指示灯(其实1楼内呼外呼是同一个,这里统一M10)
LD X001 // 2楼内呼
OR X002 // 2楼外呼上行
OR X003 // 2楼外呼下行
OR M11
OUT M11
// 2楼内呼指示灯刚才IO表里暂时用Y004旁边的?哦刚才IO表外呼上行补的Y010-012,下行013-015,内呼Y017-020吧,新手调整IO表别忘梯形图同步,我之前经常忘内呼LED不亮
OUT Y017 // 2楼内呼LED
// 外呼的分开置位:
LD X002
OR Y011 // 自己做个自锁
OUT Y011
LD X003
OR Y013
OUT Y013
// 3楼4楼同理,M12-M13,内呼Y018-Y019?哦刚才内呼数错了1楼2楼3楼4楼应该4个,Y017-020,外呼上行1-3是Y010-012,外呼下行2-4是Y013-015,平层指示LED轿厢侧面Y000-003,电机Y004-005,开门Y006,关门Y007,急停扒门蜂鸣Y016,完美
// 爽点来了!多请求同向近层判断,反向远层留最后
// 先写求最大值D1和最小值D2,用MOV比较就行,不用高级指令SMAX/SMIN也行,新手看得懂
LD M8000 // 常通触点
MOV K0 D1 // 初始化最大值
MOV K5 D2 // 初始化最小值(因为只有1-4楼,5比最大的大,求出来最小值才会被1-4覆盖)
// 检查M10-M13,有请求的话就和D1/D2比
LD M10
CMP K1 D1 // K1>D1?M8000通的时候K0<D1=K0?哦CMP指令结果在M0-M2?不对FX3U的CMP是CMP S1 S2,结果存M8000-M8002?哦对!我刚才软元件M0-M2已经用了待机上行下行,别冲突!
// 修改一下:CMP K1 D1 → M8000=S1>S2;M8001=S1=S2;M8002=S1<S2
LD M10
AND M8002 // 如果1楼请求 > 当前最大值(初始K0)
MOV K1 D1
LD M10
AND M8000 // 如果1楼请求 < 当前最小值(初始K5)
MOV K1 D2
// M11-M13同理复制粘贴就行,把K1改成K2 K3 K4
// 接下来判断方向:
// 待机状态下(M0通),如果D1>D0 → 上行置位M1;如果D2<D0 → 下行置位M2;如果D1=D2=D0 → 关门待机(M0继续通)
LD M0
CMP D1 D0
AND M8000 // D1>D0
OUT M1
RST M2
LD M0
CMP D2 D0
AND M8002 // D2<D0
OUT M2
RST M1
// 运行中如果当前D0≥D1且有同向远层→不对运行中如果当前楼层到达所有同向的最大值/最小值,再判断反向有没有请求
// 比如正在上行M1通,到达D1(所有请求最高层)→ 检查D2(所有请求最低层)有没有比当前低的,有就转M2下行
LD M1
CMP D0 D1
AND M8001 // 当前=所有上行请求最高
CMP D2 D0
AND M8002 // 有比当前低的请求
OUT M2
RST M1
// 同理正在下行到达D2转上行
// 最后平层开门:
// 正在上行/下行时,当前楼层D0=某个有请求的M10-M13→ 先减速(新手模型不用减速,直接停)→ 开门→ 关门→ 继续走
// 停电机:正在上行且D0=请求→ RST Y004;正在下行且D0=请求→ RST Y005
LD M1
CMP D0 K1
AND M10
RST Y004
// K2 K3 K4同理复制粘贴
LD M2
CMP D0 K4
AND M13
RST Y005
// K3 K2 K1同理
// 电机停了之后(Y004 Y005都断,M0辅助触点M0可以用M8000-LD-Y004-OR-Y005-OUT-M0的反逻辑?哦对更简单:
LD M8000
ANI Y004
ANI Y005
OUT M0
// 电机停M0通→ 置位开门Y006→ 延时3秒(新手用TON T0 K30,K是毫秒?不对FX3U的TON普通定时器T0-T199是100ms一个单位,K30就是3秒)→ 延时到RST Y006→ 置位关门Y007→ 延时2秒→ RST Y007→ RST对应的M10-M13请求和外呼内呼LED
LD M0
ANI T0 // 开门没到3秒
OUT Y006
LD Y006
OUT T0 K30
LD T0
ANI T1
OUT Y007
LD Y007
OUT T1 K20
LD T1
// RST对应的请求和LED,这个可以批量RST,比如M10-M13用FMOV K0 M10 K4?新手不会FMOV就一个一个RST也行
RST M10
RST M11
RST M12
RST M13
RST Y010
RST Y011
RST Y012
RST Y013
RST Y014
RST Y015
RST Y017
RST Y018
RST Y019
RST Y020
// 批量RST的话FMOV确实爽,FX3U版本够就行(一般仿真软件都够)
// FMOV K0 M10 K4 → 把M10-M13这4个都置0
// FMOV K0 Y010 K6 → 外呼6个LED置0
// FMOV K0 Y017 K4 → 内呼4个LED置0
这个梯形图是截的核心逻辑,完整的(包括扒门急停触发蜂鸣器开门不闭、开门超时强制关门报警)带注释的,我用GX Works3保存好了,仿真能用,实物FX3U/FX2N稍微改改软元件地址也能用。
然后是组态王画面,新手用组态王6.55就行,兼容性好。画面主要分三块:
- 主监控画面:画个四层楼模型,轿厢用矩形,靠“当前楼层D0”做垂直移动(组态王里的“移动”动画,垂直方向,移动范围对应1-4楼的像素,比如1楼y坐标800,4楼y坐标200,移动变量D0,每变1楼y坐标减200);轿厢侧面画LED灯条,每个灯对应Y000-Y003;楼体外画内呼外呼按钮(按钮属性“按下置位”,对应IO表里的X虚拟变量,因为组态王和PLC连接是软连接,不用实物按钮的话可以用虚拟X练手);
- IO状态监控画面:把所有X输入Y输出软元件做成绿色红色小方块,X吸合变绿Y输出变绿;
- 故障记录画面:扒门急停触发时用“数据改变”动画在文本框里加一行记录,比如“202X-XX-XX XX:XX:XX 3楼发生扒门故障”。
虚拟变量练手的时候太爽了,不用碰实物按钮电机,直接在主监控画面点来点去就行,看电梯会不会像过山车,不会的话再调梯形图。
所有东西(完整带注释的GX Works3梯形图、实物接线图FX3U/FX2N各一份、仿真接线图、组态王6.55工程文件、IO分配Word版)都打包成压缩包了,放在评论区置顶链接,自取就行。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)