工作任务1:机械手的PLC控制

官方工学老师·19 页·深入(追求细节与边界)·0 次浏览·2 天前
PLC编程步进指令梯形图调试机械手控制

机械手的PLC控制

从I/O分配到步进指令调试,独立完成搬运机械手控制项目

按 空格/→ 演示下一步

1 / 19 页

全部页面点击任意一页,跳回舞台从这页播放

PLC编程步进指令梯形图调试机械手控制

机械手的PLC控制

从I/O分配到步进指令调试,独立完成搬运机械手控制项目

1第 1 页 · 机械手的PLC控制

跳转指令(JMP/JME)

机械手控制程序写好后,换工件就得改动作顺序,切手动模式又得屏蔽自动逻辑——程序怎么'按需取舍'?跳转指令就是给程序流装一个'跳过'开关。

JMP 跳转触发
执行条件为ON时,PLC跳过下方区间,直接飞到配对的JME
JME 跳转终点
跳转结束的落点标记,程序从这里继续向下执行
编号配对
JMP和JME用相同编号配对,类似goto的标签,编号0~99
条件OFF时
条件不满足时,跳转区间内的程序照常执行,等同于无跳转
典型场景
工艺分支跳过、调试屏蔽故障段、手自动模式切换
导航避开拥堵对应 →JMP/JME 跳转

路况堵(条件ON)→绕开中间路(跳过区间)→出口(JME)并回主路

2第 2 页 · 跳转指令(JMP/JME)

结束指令(END/ENDT)

上一页用 JMP/JME 让程序跳着走。但程序不能永远往下走,总得有个'到此为止'的标记。一种是无条件结束,一种要满足条件才结束——END 和 ENDT 就负责这件事。

END 指令
程序结束的标志,执行后刷新 I/O 并从起点重新扫描
ENDT 指令
条件结束指令,输入条件为 ON 时才结束当前任务
核心差别
END 无需条件,扫到即生效;ENDT 必须条件成立才结束
使用边界
ENDT 仅在中断任务里可用,写在主程序中会报错
演出散场对应 →END 与 ENDT

END 是按节目单演完谢幕(自然结束);ENDT 是遇突发情况提前拉幕(条件满足才结束)

3第 3 页 · 结束指令(END/ENDT)

跳转指令vs结束指令

JMP/JME 和 END/ENDT 都涉及"程序跳走",但一个绕路、一个收工。

跳转指令 JMP/JME
  • 跳过中间程序段到指定标号
  • 本扫描周期内继续往下执行
  • 本质是分支选择,不是终止
  • 常用于条件分支、工序选择
结束指令 END/ENDT
  • 终止当前扫描周期,返回第0步
  • 后续指令在本周期不再执行
  • 本质是程序终止,不是分支
  • 常用于主程序结束标志
跳转是绕路还能回来,结束是收工不再跑。逻辑未完用JMP,逻辑走完用END。
4第 4 页 · 跳转指令vs结束指令

子程序调用(CALL)与定义(SBS)

模块化编程:主程序调用子程序,子程序独立执行

子程序调用(CALL)与定义
模块化编程:主程序调用子程序,子程序独立执行
5第 5 页 · 子程序调用(CALL)与定义(SBS)

子程序编程实例

text

电梯上/下行两个子程序,看 CALL/SBR/RET 如何把重复逻辑拆出去。

代码高亮加载中…

主程序只负责请求与调度,子程序封装具体启停;CALL 进入、RET 返回,子程序可被任意主程序复用。

6第 6 页 · 子程序编程实例

步进指令概述

前面学了跳转和子程序,它们适合程序结构上的组织。但机械手是按顺序一步步动作的——伸出、下降、抓取、上升……这种流程用普通梯形图写会很绕。步进指令就是为这种顺序控制量身定做的。

步进指令
把程序按工序拆成若干状态,每状态里写该状态要执行的动作
状态继电器S
代表工序中的一个阶段,S被激活就执行该阶段的动作
转移条件
驱动流程从当前S切换到下一S的信号,如限位、延时、计数
STL与RET
STL开启步进区,RET结束步进区;只在步进区内才用S状态
S与条件的关系
S回答「在哪个工位」,条件回答「何时离开」;条件满足才转移,否则保持
工厂装配流水线对应 →步进状态与转移条件

每个工位就是一个状态S;零件在该工位加工(执行动作),完成检测通过(条件满足)后才流向下一工位

Sn条件Sn+1S_n \xrightarrow{\text{条件}} S_{n+1}
7第 7 页 · 步进指令概述

步进控制的工作原理

状态转移图:方框是一步,箭头是转移条件;上电进入初始步,条件满足跳下一步,最后一步完成后回到初始步循环。

图解渲染中…
a1初始状态继电器S0,上电或复位时进入a2-a7工作状态S20-S25,每一步驱动一个动作X0-X6输入信号作为状态间的转移条件箭头转移方向:条件满足则跳到下一步
8第 8 页 · 步进控制的工作原理

步进编程三要素

步进编程围绕三个要素展开——状态、动作、条件缺一不可。

1
步(状态)
用S状态继电器代表一个工作阶段,S0常作初始步,每步独占一个编号
2
驱动动作
在该步内用S常开触点驱动输出线圈,描述此步要执行的动作
3
转移条件
条件触点接在SET步指令之后,满足即切换到下一状态继电器
9第 9 页 · 步进编程三要素

步进编程基本格式

text

机械手五动作循环的步进梯形图骨架:STEP 开状态、OUT 在状态内驱动输出、SNXT 关状态并跳到下一步。

代码高亮加载中…

STEP 标记一段状态的开始,块内只写本步要执行的 OUT;转移条件成立时 SNXT 同时关旧步、开新步,编号 0 常被当作收尾首步以实现自动循环。

10第 10 页 · 步进编程基本格式

机械手的动作分析

从左到右读:一个完整搬运周期 = 8 步动作,走到末端再绕回起点,自动循环。

图解渲染中…
a1机械手停在左上方,夹爪松开,等启动信号a3夹爪闭合,把工件牢牢抓住a7夹爪松开,工件落入目标位置
11第 11 页 · 机械手的动作分析

系统I/O分配

把动作分析的结果,按规则翻译成 PLC 能识别的地址。

1
统计输入设备
从动作分析中列出所有按钮和限位开关
2
统计输出设备
从动作分析中列出所有电磁阀
3
分配输入地址
按类型分组编X号,按钮占低位、限位占高位
4
分配输出地址
按工艺顺序编Y号,便于和流程图对应
5
形成分配表
汇总成正式表格,作为编程和接线的共同依据
12第 12 页 · 系统I/O分配

机械手步进控制程序

text

用 STL/SET 指令写出机械手八步搬运的完整程序骨架。

代码高亮加载中…

STL 标步起点,步内 OUT 驱动电磁阀,SET/OUT S 实现步间切换;末尾用 OUT S0 把流程送回原点循环。

13第 13 页 · 机械手步进控制程序

单步与连续运行模式

text

用JMP/JME把程序切成三段, 哪段对应模式ON就执行哪段, 互不干扰.

代码高亮加载中…

JMP/JME是程序段'门闸'; 单步模式靠DIFU边沿检测保证'按一次只走一步'.

14第 14 页 · 单步与连续运行模式

PLC程序下载与调试

GX Works2 把程序送进 PLC 并实时监控,分五步走完整个流程。

1
物理连接
USB 线连电脑和 PLC 编程口,通电确认 POWER 灯亮
2
通信设置
在 GX Works2 里选对 COM 口和波特率,先点「连接测试」
3
写入程序
编译无错后点「PLC 写入」,把程序和参数下载到 PLC 内存
4
切换监控
把 PLC 拨到 RUN,开启在线监控看输入输出和软元件状态
5
调试排错
用强制 ON/OFF 验证逻辑,发现问题停机修改重新下载
15第 15 页 · PLC程序下载与调试

常见故障与排查

三大故障三条排查线,按现象选支线,从底层硬件查起。

图解渲染中…
a2入口决策,按故障现象走对应支线a4底层:传感器失灵或线路松动b4步进指令本身复位/激活异常c3信号抖动、电磁干扰、滤波参数
16第 16 页 · 常见故障与排查

核心知识自测

点击作答

S20步要驱动Y0,且在X1接通时转移到S21。下列梯形图结构正确的是?

17第 17 页 · 核心知识自测

知识要点回顾

  • 跳转让程序跳过不用的段,结束让程序提前停下
  • 子程序把重复动作封装成模块,主程序只留调用骨架
  • 步进指令按状态转移顺序推进,省去互锁与标志位
  • 机械手 = 输入检测 + 步进流程 + 输出驱动
延伸主题:步进顺控图的画法中断与高速计数器组态软件监控调试
18第 18 页 · 知识要点回顾

课后思考

先盖住答案自己答一遍。这三问没有标准结论,比的是思路清晰度。

1实际工程中,如何判断一个场景该用跳转指令还是子程序调用?关键依据是什么?

参考答案核心两条:是否反复调用、是否需要返回。跳转是一次性跳过且不返回,适合条件分支;子程序调用完会自动返回,适合被反复复用的逻辑模块。

2如果机械手需要升降和旋转两个动作同时进行(比如边升边转),步进指令还能胜任吗?为什么?

参考答案不能直接胜任。步进每一时刻只有当前活动步在执行,本质是单流程串行。并行动作需拆成多路独立步进流,或改用辅助继电器加定时器在梯形图层调度。

3若把单机械手扩展为两条产线协同搬运,程序结构要如何重构?会遇到哪些新问题?

参考答案从单机状态机升级为多机协同:需引入同步信号(握手位、就绪位)和互锁防冲突。结构上常采用主-从——主程序协调调度,各机械手各自步进并受主控节制。

19第 19 页 · 课后思考
工作任务1:机械手的PLC控制 · 知识图解