2.7 MPS等指令(课件)《PLC技术及应用》(高教版·第2版)同步精品课堂
|
27页
|
175人阅读
|
0人下载
精品
内容正文:
任务2.7 MPS等指令
《PLC技术及应用》(高教版·第2版)
同步精品课堂—中职专业课
学习目标
01
03
02
能准确说出栈操作指令(如MPS、MRD、MPP)、NOP指令、INV指令的功能,明确各指令在PLC程序中的编写格式。
能独立运用栈操作指令完成多条件暂存的简单控制程序编写,会用NOP指令优化程序、用INV指令处理逻辑反转需求,并通过PLC设备完成程序的上传与调试。
通过分析工业设备控制案例,理解指令的实际应用价值,培养规范编程的习惯,提升解决自动化控制问题的初步能力,为后续岗位实践奠定基础。
学习目标
课前导入
同学们,平时网购付款时,是不是一点确认就秒完成?其实背后有个“小管家”在帮电脑快速处理数据!比如付款要先核对账户余额、扣钱、生成订单,这些步骤得按顺序来,就像我们叠书本,得一本本往上叠、要拿也得从最上面开始,这就是咱们今天要学的“栈操作指令”的作用。有时候付款页面卡一下没反应,可能是电脑在执行“NOP指令”暂时“歇口气”;要是输错密码,系统提示“密码错误”,其实是用“INV指令”把正确密码的判断结果反过来了。想知道这些指令具体怎么帮电脑干活吗?今天咱们就一起揭开它们的面纱!
如图 2-74 所示,如何将专题 2.6所编写的梯形图程序转换为指令表程序?
问题引入
1.栈操作指令
(1)助记符与功能(见表 2-8)
知识链接
(2)使用说明
如图 2-75 所示,在PLC中,有11个被称为堆栈的内存,用于记忆运算的中间结果(ON或OFF)。堆栈采用先进后出的数据存储方式。
MPS:进栈指令,将运算结果存储至栈顶。
*MRD:读栈指令,读取存储在栈顶的运算结果,将下一个触点强制连接到该点。
MPP:出栈指令,弹出存储在栈顶的运算结果,将下一触点连接到该点。
知识链接
说明:
使用一次 MPS指令,即将此刻的运算结果送入栈的第一层存储。再使用MPS指令又将该时刻的运算结果送入栈的第一层存储,而将先前送入存储的数据依次移到栈的下一层。如图 2-75 所示,堆栈存储器中的 ① 是第一次入栈的数据,② 是第二次入栈的数据。
MRD 读栈后堆栈内的数据不会上移或下移
使用 MPP 指令时,堆栈中各层的数据向上移动一层,最上层的数据在弹出后从栈内消失。
知识链接
2.NOP 指令
(1)助记符与功能(见表 2-9)
(2)使用说明
NOP:空操作指令,该指令是一条无动作、不带软元件编号的独立指令。执行程序全清除操作后,所有指令都变成 NOP。
知识链接
3.INV 指令
(1)助记符与功能(见表 2-10)
知识链接
(2)使用说明
INV:取反指令,将使用 INV 指令之前的运算结果取反,不能直接与左母线相连,也不能单独占用一条电路分支。
1.栈操作指令的应用
注意:为便于“栈操作”指令在梯形图一指令表转换中的理解在下述示例中我们假定其操作的是“光标位置信息”,而实际上其操作的是“中间运算结果”
(1)一层堆栈,如图 2-76 所示。
探知应用
说明:
Step1:标记需存储光标位置。
如图 2-76 所示,程序中有一处需存储光标位置,以粗实线表示。在粗实线首尾分支处分别标注 MPS、MPP指令,中间其他分支均标注 MRD 指令。
Step2:转换。
转换流程如图 2-77 所示。
探知应用
(2)二层堆栈,如图 2-78 所示。
说明:
Step1:标记需存储光标位置。
如图 2-78所示,程序中有三处需存储光标位置,以粗实线表示。在粗实线首尾分支处分别标注 MPS、MPP指令,中间无其他分支,所以无须使用 MRD 指令。
探知应用
Step2:转换。
转换流程如图 2-79 所示。
(3)堆栈与ANB、ORB 指令的综合应用(如图 2-80所示),“梯形图-指令表”转换的一般步骤与方法。
探知应用
说明:
如图 2-80所示,依据前述方法,在程序转换的过程中会发现该程序有三处需看成“电路块”方能完成转换。为此,接下来我们以本程序为例明确梯形图-指令表转换的一般步骤与方法。
Step1:判断是否有电路块,画圈定块。
Step2:判断是否需存储光标位置。
标记需存储光标位置,以粗实线表示。若有电路块,应将其看成一个整体作为1个分支处理,为此粗实线右侧有3个分支,首尾分支处分别标注 MPS、MPP 指令,中间分支标注 MRD 指令。
探知应用
Step3:转换。
转换流程如图 2-81 所示。
探知应用
注释:
①电路块转换后,需使用ANB指令,描述该电路块与触点X0(X7)的串联逻辑关系。
②OUT Y2指令后,光标位于线圈Y2前,可直接录入下一条分支,无须使用MPS 指令。
2.NOP 指令的应用
(1)在程序中加人NOP指令,在改变或追加程序时,可以减少步序号的改变。
(2)在一般的指令和指令之间加人NOP时,PLC会无视其存在而继续运行;若将已经写人的指令换成 NOP指令,等同于执行除指令的操作,则问路会发生变化,如图2-82所示。请务必注意!
探知应用
3.INV 指令的应用
如图2-83所示,当X0为OFF时,Y0为ON;当X0为ON时则 Y0 为 OFF。
探知应用
课堂练习
1.执行MPS→MRD→MPP指令序列后,栈中的数据状态是( )
A. 数据保留
B. 数据被清除
C. 数据反转
D. 数据重复
答案:B
解析:MPS存数据到栈,MRD读数据(不清除),MPP取数据并清除,该序列执行后,栈中暂存的数据被MPP清除,故选B。
课堂练习
2.NOP指令在程序中的主要用途是( )
A. 暂存数据
B. 优化程序结构、调试占位
C. 反转逻辑
D. 读取栈数据
答案:B
解析:NOP无实际操作,主要用于优化程序(如填充程序步使结构整齐)、调试时临时替换无用指令,避免程序报错或误动作,故选B。
课堂练习
3.若PLC程序中某段逻辑需要“传感器未检测到信号时,输出线圈得电”,应使用的指令是( )
A. MPS
B. NOP
C. INV
D. MPP
答案:C
解析:“传感器未检测到信号”是“检测到信号”的逻辑反转,需用INV指令将传感器的检测结果取反,再控制输出线圈,故选C。
课堂练习
4.下列指令中,不属于栈操作指令的是( )
A. MPS
B. MRD
C. INV
D. MPP
答案:C
解析:栈操作指令包括MPS(进栈)、MRD(读栈)、MPP(出栈),INV是逻辑取反指令,不属于栈操作指令,故选C。
课堂练习
5.执行MPS→MPS→MPP→MPP指令序列,相当于对数据进行的操作是( )
A. 存1个数据,读2次
B. 存2个数据,依次取出
C. 存2个数据,同时取出
D. 空操作2次
答案:B
解析:第一次MPS存数据1,第二次MPS存数据2(栈中数据为“数据1在下、数据2在上”);第一次MPP取出数据2并清除,第二次MPP取出数据1并清除,即“存2个、依次取”,故选B。
课堂练习
6.若需避免PLC程序中“多余指令导致线圈误动作”,可将多余指令替换为( )
A. MPS
B. NOP
C. INV
D. MRD
答案:B
解析:NOP是空操作指令,替换多余指令后,不影响程序其他部分的运行,也不会因多余指令导致线圈误得电或失电,故选B。
课堂练习
7.下列关于INV指令的应用场景,错误的是( )
A. 传感器检测逻辑反转
B. 按钮控制“按下不动作,松开动作”
C. 暂存多条件中间结果
D. 输出状态的反向控制
答案:C
解析:INV用于逻辑取反,A、B、D均是取反逻辑的应用;C是栈操作指令(如MPS)的功能,与INV无关,故选C。
课堂练习
8.栈操作指令的核心逻辑是( )
A. 先进先出
B. 先进后出
C. 无顺序
D. 随机存取
答案:B
解析:栈操作遵循“先进后出”逻辑,即先存入栈的数据(底层),需等后存入的数据(顶层)被取出后,才能被取用,类似“叠杯子”,先叠的杯子在下面,需先拿上面的,故选B。
课后作业
(1)简述INV指令的作用,举例说明其应用场景。
(2)为什么说栈操作指令适合处理多条件判断的控制逻辑?
课堂小结
$