3.2算式运算控制(课件)-《PLC应用技术》同步教学(航空工业出版社)
2024-10-20
|
49页
|
121人阅读
|
9人下载
普通
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | 电器及PLC控制技术 |
| 教材版本 | - |
| 年级 | - |
| 章节 | - |
| 类型 | 课件 |
| 知识点 | - |
| 使用场景 | 同步教学-新授课 |
| 学年 | 2024-2025 |
| 地区(省份) | 全国 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | PPTX |
| 文件大小 | 2.98 MB |
| 发布时间 | 2024-10-20 |
| 更新时间 | 2024-10-20 |
| 作者 | 匿名 |
| 品牌系列 | - |
| 审核时间 | 2024-10-20 |
| 下载链接 | https://m.zxxk.com/soft/48090711.html |
| 价格 | 0.00储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
授课教师:xxx
PLC应用技术
WENJINGKETANGG
算式运算控制
02
任务引入
在PLC的实际应用中,数据运算是非常重要的一部分,尤其在处理液位、风压、水温等工程量数据的过程中。这些数据通常需要经过传感器转换为数字信号,然后PLC会对这些数字信号进行处理,如四则运算(加、减、乘、除)。本任务要求能够实现38X/304 + 2的运算,X代表K2X0输入的8位二进制数,运算结果需要通过二极管显示出来。
本任务将先介绍跳转指令、四则运算指令、加1和减1指令、循环起点和结束指令、子程序调用返回指令、循环和移位指令等知识,再进行算式运算控制程序设计。
一、跳转指令
跳转指令主要用来跳过某些程序段,来选择执行指定的程序段,其编号、功能和操作数如表所示。
名称、助记符 编号 功能 操作数
跳转指令
CJ(P) FNC00 当执行条件满足时,使程序直接跳转到以指针为入口标号的程序段并执行,而跳转指令与指针之间的程序不再执行 P
它的操作数只有指针P,用来指示跳转指令的跳转目标和跳转程序的入口标号。
在梯形图中,指针放在左母线的左边,包括P0~P127,共128点,允许用变址寄存器修改指针地址。其中,P63表示跳转到END,不需要标记。
一、跳转指令
自动程序与手动程序切换的梯形图中常使用跳转指令,如图所示。
当执行自动程序与手动程序时,都需要执行的程序为公用程序。
当常开触点X010断开时,将执行手动程序并跳过自动程序;
当常开触点X010闭合时,将跳过手动程序,跳到以P0为入口标号的程序段,执行自动程序。
一、跳转指令
经验传承
使用跳转指令的注意事项如下。
(1)在同一程序中位于不同程序段的程序不会被同时执行,所以同一线圈可应用于不同程序段中。
(2)不同跳转指令可使用同一指针。如图所示,无论是常开触点X020还是常开触点X021闭合,都可以跳转到P9。
一、跳转指令
经验传承
(3)指针一般设在跳转指令之后,但也可以设在跳转指令之前。若指针在前造成程序的执行时间超过了设定值,则程序就会出错。
(4)跳转指令只执行一个扫描周期,若将辅助继电器M8000作为跳转指令的执行条件,则程序无条件跳转。
一、跳转指令
应用举例
【应用举例1】某设备具有手动和自动两种操作方式,其控制要求如下。
(1)当操作方式选择开关SB3断开时,该设备采用手动操作方式;当SB3闭合时,该设备采用自动操作方式。
(2)在手动操作方式下,按下启动按钮SB2,电动机启动;按下停止按钮SB1,电动机停止运转。
(3)在自动操作方式下,按下SB2,电动机连续运转,1 min后,自动停止运转;按下SB1,电动机停止运转。
请按以上控制要求编写梯形图。
一、跳转指令
应用举例
解:设备采用手动和自动操作方式控制的梯形图如图所示。常闭触点X001表示SB1,常开触点X002表示SB2,常开触点X003表示SB3。
一、跳转指令
应用举例
(1)当常开触点X003断开时,按顺序执行程序,即常开触点X002闭合,线圈Y000得电,常开触点X002断开,线圈Y000失电。程序执行到第8步所在行时,跳转到P1,但P1处无程序,进而程序执行结束。
(2)当常开触点X003闭合时,执行P0处的程序,即常开触点X002闭合,线圈Y000得电,同时T0开始计时,1 min后,线圈Y000失电。
(3)当常闭触点X001断开时,无论常开触点X003是断开还是闭合,线圈Y000都失电。
二、四则运算指令
四则运算指令
加法指令
(D)ADD
减法指令
(D)SUB
乘法指令
(D)MUL(P)
除法指令
(D)DIV(P)
二、四则运算指令
(一)加法指令
加法指令可进行16位和32位二进制数的加法运算,其编号、功能和操作数如表所示。
名称、助记符 编号 功能 操作数
[S.] [D.]
加法指令
(D)ADD FNC20 将两个源操作数中的数据相加,并将结果存放在目标操作数中 K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z KnY、KnM、KnS、T、C、D、V、Z
二、四则运算指令
(一)加法指令
下面以345与678相加的梯形图(见图)为例,介绍加法指令的梯形图。
当PLC运行时,加法指令先将十进制数345与678换算为二进制数,再进行加法运算,并将运算结果存放在数据寄存器D20中。
加法指令的梯形图案例
二、四则运算指令
(一)加法指令
当加法指令进行32位二进制数的加法运算时,其操作数的存放结构与16位二进制数不同。以[DADD D0 D10 D20]为例介绍操作数为32位二进制数时的存放结构,如图所示。
被加数的低16位存放在D0中,高16位存放在D1中;
加数的低16位存放在D10中,高16位存放在D11中;
和的低16位存放在D20中,高16位存放在D21中。
二、四则运算指令
经验传承
四则运算指令操作数中的数据均为有符号的二进制数,其最高位为符号位。若符号位为0,则表示数值为一个正数;若符号位为1,则表示数值为一个负数。
二、四则运算指令
(二)减法指令
减法指令可进行16位和32位二进制数的减法运算,其编号、功能和操作数如表所示。
名称、助记符 编号 功能 操作数
[S.] [D.]
减法指令
(D)SUB FNC21 将两个源操作数中的数据相减,并将结果存放在目标操作数中 K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z KnY、KnM、KnS、T、C、D、V、Z
课堂讨论
请说一说[DSUB D0 D10 D20]中被减数、减数、差为32位二进制数时的存放结构。
二、四则运算指令
(三)乘法指令
乘法指令可进行乘法运算,其编号、功能和操作数如表所示。
它的源操作数大多为16位二进制数,两个16位二进制数相乘后为32位,需要存放在目标操作数及其下一位中。
名称、助记符 编号 功能 操作数
[S.] [D.]
乘法指令
(D)MUL(P) FNC22 将两个源操作数中的数据相乘,并将结果存放在[D.] 1和[D.]中 K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z KnY、KnM、KnS、T、C、D、V、Z
二、四则运算指令
(三)乘法指令
下面以D1与D2中数据相乘的梯形图(见图)为例,介绍乘法指令的梯形图。当常开触点X010闭合时,D1与D2中的数据相乘,乘积存放在D4、D3中。
由于D1和D2中的数据都为16位二进制数,因此其乘积为32位二进制数,乘积的高16位存放在D4中,低16位存放在D3中。
乘法指令的梯形图案例
二、四则运算指令
(四)除法指令
除法指令可进行除法运算,其编号、功能和操作数如表所示。
除法运算通常会有余数产生,除法指令将商存放在目标操作数中,余数存放在目标操作数的下一位中。
名称、助记符 编号 功能 操作数
[S.] [D.]
除法指令
(D)DIV(P) FNC23 将两个源操作数中的数据相除,并将商和余数的分别存放在[D.]和[D.] +1中 K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z KnY、KnM、KnS、T、C、D、V、Z
二、四则运算指令
(四)除法指令
下面以D10和D11中数据相除的梯形图(见图)为例,介绍除法指令的梯形图。
当常开触点X011闭合时,D10中的数据除以D11中的数据,并将商存放在D12中,余数存放在D13中。
除法指令的梯形图案例
二、四则运算指令
经验传承
若四则运算指令的运算结果为0,则零标志位M8020为1,可用加法指令来判断两个数是否为相反数,用减法指令来判断两个数是否相等。
除法指令的[S2.]不能为0,否则程序不能执行,并导致运算错误标志位M8067为1。
三、加1和减1指令
加1和减1指令的编号、功能、目标操作数和梯形图如表所示。
在实际控制中,一般不允许在每个扫描周期都存在目标操作数加1或减1的连续执行方式,因此,加1和减1指令经常使用脉冲执行方式。
名称、助记符 编号 功能 目标操作数 梯形图
加1指令
INC(P) FNC24 将目标操作数中的数据加1 KnY、KnM、KnS、T、C、D、V、Z
减1指令
DEC(P) FNC25 将目标操作数中的数据减1
三、加1和减1指令
应用举例
【应用举例2】使用加1指令编写跑马灯控制的梯形图,要求16盏灯每隔1 s循环点亮。
解:跑马灯控制的梯形图如图所示。当常开触点M10闭合时,线圈Y000Z0得电。由于M8013为1 s的时钟脉冲,因此每隔1 s,将变址寄存器Z0中的数据加1,即线圈Y000Z0每隔1 s循环得电,且每过一个扫描周期将Y000~Y017区域性复位一次。当Z0中的数据大于等于16时,Z0清零。
课堂讨论
七段数码管9 s倒计时控制也可采用加1指令进行程序设计,即将要显示的数值放入某一数据寄存器中,并采用加1指令改变数值。
请以小组为单位进行此程序的设计。
四、循环起点和结束指令
循环起点和结束指令即循环起点指令和循环结束指令,它们必须成对使用,其编号、功能和目标操作数如表所示。
循环起点和结束指令不需要执行条件,只有目标操作数,而没有源操作数。循环起点和结束指令只有连续执行方式,可以嵌套,但最多嵌套5层。
名称、助记符 编号 功能 目标操作数
循环起点指令
FOR FNC08 使一段程序反复执行n次,n由目标操作数决定 K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z,其中K最常用
循环结束指令
NEXT FNC09 无
四、循环起点和结束指令
循环起点和结束指令的应用如图所示,在一个扫描周期内,从循环开始,到循环体反复被执行10次,再到循环结束,然后执行NEXT的下一条指令。其中,循环体是指FOR与NEXT之间的程序。
四、循环起点和结束指令
应用举例
【应用举例3】使用PLC编程:求0~100的和,并将和存放在D0中。用普通的循环起点和结束指令、嵌套的循环起点和结束指令分别编写梯形图。
解:(1)用普通的循环起点和结束指令编写的梯形图如图所示,循环执行加1 指令和加法指令100次,即可求出0~100的和。
四、循环起点和结束指令
应用举例
(2)用嵌套的循环起点和结束指令编写的梯形图如图所示,嵌套了一个循环起点和结束指令,需要循环执行两遍50次的加1和加法指令。
五、子程序调用返回指令
子程序调用返回指令包括子程序调用指令和子程序返回指令,它们必须成对使用。子程序调用返回指令的编号、功能和操作数如表所示。
子程序调用指令的指针编号与跳转指令相同,但同一编号的指针不能同时被跳转指令和子程序调用指令共用。
名称、助记符 编号 功能 操作数
子程序调用指令
CALL(P) FNC01 当执行条件满足时,使程序跳转到指针处,执行子程序 P
子程序返回指令
SRET(P) FNC02 返回主程序 无
五、子程序调用返回指令
子程序调用返回指令的梯形图如图所示。
为了区别于主程序,在编写程序时,将主程序写在前面,以主程序结束指令FEND结束主程序,将子程序写在FEND后面。当主程序带有多个子程序时,子程序可依次排列。
……
……
……
主程序
子程序1
子程序2
当常开触点X001闭合时,先跳转到P1处执行子程序1。在执行子程序1时,会跳转到P2处,执行子程序2。执行完子程序2,再返回子程序1;执行完子程序1,再返回主程序,继续执行主程序直到结束。
五、子程序调用返回指令
应用举例
【应用举例4】有一算式运算的控制要求:设数据寄存器D0、D1、D2、D3存储的数据分别为2、3、-1、7,求它们的代数和;将运算结果存放在D10中,并用此结果控制K1Y000。常开触点X000用于计算控制,常开触点X001用于清零控制。请按以上控制要求编写梯形图。
解:算式运算控制的梯形图如图(见下页)所示。当常开触点X000闭合时,将2、3、-1、7分别传送到D0、D1、D2、D3中,然后跳转到P10处执行子程序,即进行求和运算。求和运算结束后,回到主程序,继续执行CALL的下一步指令,将运算结果存放在D10和K1Y000中,以控制K1Y000。当常开触点X001闭合时,将0存放在K1Y000中,以将K1Y000清零。
五、子程序调用返回指令
应用举例
六、循环和移位指令
(一)循环右移和循环左移指令
循环右移和循环左移指令用来使一个数循环移位,它们的编号、功能和目标操作数如表所示。
循环右移和循环左移指令只对目标操作数进行操作,因此其只有目标操作数,没有源操作数。此外,在目标操作数后还需要加数字n,表示循环的单位,n≤16(32),通常用K、D表示。
名称、助记符 编号 功能 目标操作数
循环右移指令(D)ROR(P) FNC30 使目标操作数中的二进制数以n为单位循环向右移位,移出的最后一位存放在进位标志位M8022中 KnY、KnM、KnS、T、C、D、V、Z(位组合元件中n=4或8)
循环左移指令(D)ROL(P) FNC31 使目标操作数中的二进制数以n为单位循环向左移位,移出的最后一位存放在进位标志位M8022中
六、循环和移位指令
(一)循环右移和循环左移指令
以4为单位循环右移的梯形图、原理图如图所示。
若D0中的数据为0001001100000010,则第一次以4为单位循环右移后,该数据变为0010000100110000。
(a)梯形图
(b)原理图
课堂讨论
以4为单位循环左移的梯形图、原理图与循环右移类似,请自行绘制以4为单位循环右移的梯形图、原理图,并进行说明。
六、循环和移位指令
(二)位右移和位左移指令
位右移和位左移指令可将一个数向右或向左移动指定的位数。
它们的编号、功能和操作数如表所示。
位右移和位左移指令只有一个源操作数和一个目标操作数,在目标操作数后还需要指明目标操作数的位数n1和移动的位数n2, n1可用K、H表示,n2可用K、H、D表示。
名称、助记符 编号 功能 操作数
[S.] [D.]
位右移指令
(D)SFTR(P) FNC34 目标操作数各位向右移 n2位,其低 n2位溢出,而源操作数中的数移入目标操作数的高 n2位,且源操作数各位状态不变 X、Y、M、S Y、M、S
位左移指令
(D)SFTL(P) FNC35 目标操作数各位向左移 n2位,其高 n2位溢出,而源操作数中的数移入目标操作数的低 n2位,且源操作数各位状态不变
六、循环和移位指令
(二)位右移和位左移指令
目标操作数右移4位的梯形图、原理图如图所示。
若源操作数X3~X0为0010,目标操作数Y17~Y0为0001001100000011,且右移4位,则Y3~Y0溢出。此时,X3~ X0移入Y17~Y0的高4位,目标操作数变为0010000100110000。
(a)梯形图
(b)原理图
六、循环和移位指令
(二)位右移和位左移指令
目标操作数左移4位的梯形图、原理图如图所示。
若Y17~ Y0左移4位,则Y17~ Y14溢出。此时,X3~X0移入Y17~ Y0的低4位,则目标操作数变为0011000000110010。
(a)梯形图
(b)原理图
任务分析
在掌握了跳转指令、四则运算指令、加1和减1指令、循环起点和结束指令、子程序调用返回指令、循环和移位指令等知识后,开始进行算式运算控制程序设计。
根据控制要求,可知38X/304+2的运算过程:
闭合启停开关SB9,首先,将K2X0中的数据X存放在数据寄存器中,K2X0代表8位二进制数,可以通过常开按钮SB1~SB8的状态来设置;
其次,将38与X相乘;
再次,将相乘结果与304相除;
最后,将相除结果与2相加,并将运算结果存放在K2Y0中,通过二极管L1~L8显示出来。
任务分析
完成该任务的主要步骤如下。
(1)根据算式的运算过程,进行程序编写。
(2)对编写好的程序进行仿真调试。
(3)将程序下载到PLC中,按照I/O接线图进行接线,改变SB9的状态,观察算式运算结果是否正确。
任务实施——算式运算控制程序设计
1.程序编写
(1)按照算式运算控制的工作过程分配I/O端子,由于X表示K2X0中的数据,并配有一个启停开关,将运算结果存放在K2Y0中,因此需要9个输入端子和8个输出端子,如表所示。
输入 输出
元件代号 作用 输入端子 元件代号 作用 输出端子
SB9 控制算式运算的启停 X20 L1~L8 输出二进制数 Y0~Y7
SB1~SB8 输入二进制数 X0~X7
任务实施——算式运算控制程序设计
1.程序编写
(2)绘制算式运算控制的I/O接线图,如图所示。
任务实施——算式运算控制程序设计
1.程序编写
(3)根据控制要求,在编程软件中设计算式运算控制的梯形图,如图所示。
任务实施——算式运算控制程序设计
2.程序仿真调试
编写好程序后,需要对其进行仿真调试。
(1)将程序从编程软件下载到仿真软件中。
(2)改变常开触点X020的状态,程序开始执行时K2X000中的数据为0,观察K2Y000中的数据与运算结果是否相符;然后手动为K2X000赋值,这里赋值为8,即将K2X000改为K8,改变常开触点X020的状态,观察运算结果是否正确。
(3)若运算结果正确,则表明程序正确,保存程序即可;若运算结果不正确,则应仔细分析,找出原因,重新修改程序,直到运算结果正确。
任务实施——算式运算控制程序设计
2.程序仿真调试
赋值为8时的程序仿真结果应如图所示。
任务实施——算式运算控制程序设计
3.程序运行
(1)根据下图左进行I/O接线(见下图右),并检查有无短路及断路现象。
课堂小结
算式运算控制
跳转指令
四则运算指令
加法指令
减法指令
乘法指令
除法指令
加1和减1指令
循环起点和结束指令
子程序调用返回指令
循环和移位指令
循环右移和循环左移指令
位右移和位左移指令
谢 谢
WENJINGKETANGG
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。