任务3 自动售货机 - 图文

2019-08-17 11:54

任务3 自动售货机

1.掌握字元件、位组合元件的使用; 2.理解自动售货机控制系统设计;

3.掌握数据运算指令等功能指令的编程方法及使用。 自动售货机在我们的日常生活中,已经非常的普遍,它经常被设置在一些大商场门口、繁华街道两旁、公园入口处以及其它热闹的场所。因为其在节省人力资源、节约运营成本及全天候营业、智能化操作等特点,深受广大人民特别是年轻人的喜爱。

本文通过介绍自动售货机的基本原理以及工作流程,结合交易过程实例,把交易过程分为几个动作,然后分别对它们进行模块化编程。利用PLC的相关功能指令实现对自动售货机的控制。

任务目标 任务描述

图6-24 自动售货机

一、算术运算指令学习

可编程控制器中有两种四则运算,即整数四则运算和实数四则运算。前者指令比较简单,参加运算的数据只能是整数。非整数参加运算需先取整,除法运算的结果为商和余数。当整数进行较高准确度要求的四则计算时,需将小数点前后的数值分别计算再将数据组合起来,出发运算时,则要对余数做多次运算才能形成最后的上,这就使程序的设计比较繁琐。而实数运算是准确度高的浮点运算。 1.算数运算指令

任务过程 学一学 (1)指令类型:

算数运算指令包括二进制数的加法、减法、乘法、除法运算等,根据所操作的方式和数的长度不同,可分为扫描型、脉冲型(P)、16位和32位(D)。 (2)功能和助记符,如下表所示:

①加法指令ADD是将两个源操作数[S1]和[S2]中的二进制数相加,结果送到指定的目标操作数[D]中去。每个数据的最高位作为符号位(0为正,1为负),运算是二进制代数运算。该指令有三个操作数:两个源操作数[S1]和[S2],一个目标操作数[D]。

②减法指令SUB是将制定两个算操作数[S1]和[S2]中的二进制数相减,结果送到指定的目标操作数[D]中去。减法指令的各种标志的动作、32位运算中软元件的指定方法等与ADD指令相同。

③乘法指令MUL 是将两个源操作数 [S1]和[S2]中的二进制数相乘,乘积送到指定的目标操作数[D]中去。如果为16位数乘法,则乘积为32位,如果为32位数乘法,则乘积为64位,并且数据的最高位是符号位(0为正,1为负)。

④除法指令DIV是将两个源操作数 [S1]和[S2]中的二进制数相除,[S1]为被除数,[S2]为除数,商送到指定的目标操作数[D]中去,余数送到[D]的下一个目标元件[D+1]中。除法指令使用也分16位和32位两种情况,和乘法指令类似。

表6-11 二进制数算数运算指令的助记符和功能

操 作 数 助记符 功 能 [S1] [S2] [D] 程 序 步 ADD、 ADD(P): ADD 把[S1]和[S2]进行KnX、KnY、KnM、KnY、KnM、7步 加法指令 相加,结果送到KnS、T、C、D、V、KnS、T、C、(D)ADD、(FNC20) [D] Z、K、H D、V、Z (D)ADD(P): 13 步 SUB、 SUB(P): SUB 把[S1]和[S2]进行KnX、KnY、KnM、KnY、KnM、7步 减法指令 相减,结果送到KnS、T、C、D、V、KnS、T、C、(D)SUB、(FNC21) [D] Z、K、H D、V、Z (D)SUB(P): 13 步 MUL、 MUL(P): MUL 把[S1]和[S2]进行KnX、KnY、KnM、KnY、KnM、7步 乘法指令 相乘,结果送到KnS、T、C、D、V、KnS、T、C、(D)MUL、(FNC22) [D] Z、K、H D、V、Z (D)MUL(P): 13 步 DIV、 DIV(P): DIV 把[S1]和[S2]进行KnX、KnY、KnM、KnY、KnM、7步 除法指令相除,商送到[D],KnS、T、C、D、V、KnS、T、C、(D)DIV、(FNC23) 余数送到[D+1] Z、K、H D、V、Z (D)DIV(P): 13 步 (3)使用说明:

①指令是二进制数代数加减乘除运算,数据的最高位为符号位且0为正,1为负。 ②进行16位加减运算时,数据范围为-32768~+32767;32位运算时,数据范围为-2147483648~+2147483647。

③运算结果为0时,零标志置位(M8020=1);运算结果大于+32767(或+2147483647)时,进位标志置位(M8022=1);运算结果小于-32768(或-2147483648)时,借位标志置位(M8021=1)。

④乘法指令中如将位组合元件用于目标操作数时,限于n的取值,只能得到低位32位的结果,不能得到高位32位的结果。这时应将数据移入字元件再进行计算。

温馨提示:①若源元件和目标元件号相同且采用连续执行的ADD、(D)ADD指令时,加法的结果在每个扫描周期都会改变,此时ADD指令一般采用脉冲执行方式。

②四则运算都是代数运算。

③除法运算中,除数为0时,有运算错误,不执行指令。如[D]为指定元件,

则得不到余数。

2.二进制数加1、减1运算指令 (1)指令类型:

二进制数加1、减1运算指令根据所操作的方式和数的长度不同,可分为扫描型、脉冲型(P)、16位和32位(D)。

(2)功能和助记符,如下表所示:

①二进制数加1指令是将目标元件[D]中的二进制数自动加1,若用连续指令时,则每

个周期加1。

②二进制数减1指令是将目标元件[D]中的二进制数自动减1,若用连续指令时,则每个周期加1。

表6-12 二进制数加1、减1运算指令的助记符和功能

助记符 功 能 操 作 数 [S] [D] 程 序 步 INC 加1指令 目标元件加1 (FNC24) DEC 减1指令 目标元件减1 (FNC25) (3)使用说明:

INC、INC(P): KnY、KnM、KnS、T、C、D、V、3步 Z(V、Z不能做32位操作) (D)INC、(D)INC(P):5 步 DEC、DEC(P): KnY、KnM、KnS、T、C、D、V、3步 (D)DEC(P): Z(V、Z不能做32位操作) (D)DEC、5步 ①二进制数加1指令的意义是目标元件的当前值[D]+1→[D]中,二进制数减1指令的意义是目标元件的当前值[D]-1→[D]中。

②在16位运算中,+32767加1则成为—32768。在32位运算中,+2147483647加1则结果为—2147483648。 二、算数运算指令使用举例

1.二进制数的加法、减法、乘法、除法运算

分析下图中的各个指令,并计算经过指令执行后的D3、D4、D5、D10数值分别是多少?

(a) 梯形图

(b) 指令语句表

图6-25 代数运算指令的梯形图和语句指令表

上图中,当按下X0时,数据传送指令MOV把十进制数K20送到目标元件D0中,同时把K30送到目标元件D1中,当X1有OFF→ON时,执行加法指令ADD,即[D0]+ [D1] →[D3], 计算结果为20+30=50。当X2有OFF→ON时,执行减法指令SUB,即[D1] ﹣ [D0] →[D4] ,计算结果为30﹣20=10。当X3有OFF→ON时,执行乘法指令MUL,即[D0]* [D1] →[D5],计算结果为20×30=600。注意:此时若[D0]、[D1]为16位,则运算结果为32位,目标元[D5存放低16位地址,D6存放高16位地址(64位同理)。当X4有OFF→ON时,执行除法指令DIV,即[D1]* [D0] →[D10],计算结果为30÷20=1,余数为10若[D1]、[D0]为16位,则商存放在D10中,余数存放在D11中。通过上述分析,我们可知执行运算后的结果为[D3]=50,[D4]=10,[D5]=600,[D10]=1,[D1]=10。 2.加1、减1指令使用举例

分析下图的工作过程,加深对加1指令及减1指令的理解。

(a) 梯形图

(b) 指令语句表

图6-26 加1、减1指令的用法

上图中,每当X0闭合,D1的当前值就加1,每当X1闭合,D2的当前值就减1.


任务3 自动售货机 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:法制副校长工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: