您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 食品饮料 > FX2N系列PLC课件-自动售货机的程序控制
可编程控制器应用技术三菱FX2N系列PLC教学课件模块四:功能指令的使用项目项目44--33自动售货机的程序控制自动售货机的程序控制南京技师学院PLC精品课程课题组1、区间复位指令又叫什么指令?它的作用是什么?答:区间复位指令也称为成批复位指令经常用在主程序开始处,起到对所有数据寄存器、计数器或定时器进行初始清零的作用。2、编码指令和解码指令有什么关系?一、复习提问:答:编码指令是解码指令的反过程。二、情景模拟:本课题自动售货机是通过四则运算及逻辑运算指令来实现。系统示意图如下。控制功能要求如下:1)按下投币口按钮5角、1元、5元,数码显示投币金额为0.5、1.0、5.0。2)显示金额减去所买货物金额后,数码显示余额,可以一次多买,直到金额不足,灯L1亮提示余额不足。3)当投币余额不足时,如果继续投币则可连续购买。4)投币金额超过十元,L1灯闪烁,数码管显示低两位,但可以继续正确购物。5)购物4秒后,如果没有再操作,则取物口灯亮,有余额则退币口灯亮。6)如不买货物,按退币钮则退出全部金额、数码显示为零,退币口灯亮。(1)加法指令1、指令讲解三、知识准备:(2)减法指令(3)乘法指令(4)除法指令(5)加1指令(6)减1指令1)该指令的助记符、指令代码、操作数、程序步如表4-3-1所示。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·]D(·)加法ADDADD(P)FNC20(16/32)K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZKnY、KnM、KnS、T、C、D、V、ZADD、ADDP…7步DADD、DADDP…13步表4-3-1加法指令(1)加法指令2)指令梯形图ADD加法指令是将指定的源元件中的二进制数相加,结果送到目标元件中去。ADD加法指令的说明如下图。图4-3-2加法指令举例3)指令说明当执行条件X000由OFF→ON时,[DIO]+[D12]→[D14]。运算是代数运算,如5+(-8)=-3。ADD加法指令有3个常用标志。M8020为零标志,M8021为借位标志,M8022为进位标志。如果运算结果为0,则零标志M8020置1;如果运算结果超过32767(16位)或2147483647(32位),则进位标志M8022置1,如图4-3-3所示;如果运算结果小于-32768(16位)或-2147483648(32位) ,则借位标志M8021置1。在32位运算中,被指定的字元件是低16位元件,而下一个元件为高16位元件。源操作数和目标操作数可以用相同的元件号。若源和目标元件号相同而采用连续执行的ADD、(D)ADD指令时,加法的结果在每个扫描周期都会改变。图4-3-316位数据运算范围(2)减法指令1)该指令的助记符、指令代码、操作数、程序步如表4-3-4所示。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]减法SUBSUB(P)FNC21(16/32)K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZKnY、KnM、KnS、T、C、D、V、ZSUB、SUBP…7步DSUB、DSUBP…13步表4-3-4减法指令2)指令梯形图SUB减法指令是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去。SUB减法指令如下图。图4-3-5减法指令举例当执行条件X000由OFF→ON时,[D10]-[D12]→[D14]。运算是代数运算,如5-(-8)=13。各种标志的动作、32位运算中软元件的指定方法、连续执行型和脉冲执行型的差异等均与加法指令相同。3)指令说明(3)乘法指令1)该指令的助记符、指令代码、操作数、程序步如表4-3-3所示。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]乘法MULMUL(P)FNC22(16/32)K、H、KnX、KnY、KnM、KnS、T、C、D、ZKnY、KnM、KnS、T、C、DMUL、MULP…7步DMUL、DMULP…13步表4-3-3乘法指令2)指令梯形图MUL乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。MUL乘法指令如图4-3-6所示,它分16位和32位两种情况。图4-3-6乘法指令举例3)指令说明当为16位运算、执行条件X000由OFF→ON时,[DO]×[D2]→[D5,D4]。源操作数是16位,目标操作数是32位。当[DO]=8,[D2]=9时,[D5,D4]=72。最高位为符号位,O为正,1为负。当为32位运算、执行条件X000由OFF→ON时,[D1,DO]×[D3,D2]→[D7,D6,D5,D4]。源操作数是32位,目标操作数是64位。当[D1,DO]=238,[D3,D2]=189时,[D7、D6、D5、D4]=44982。最高位为符号位,O为正,1为负。如将位组合元件用于目标操作数时,限于K的取值,只能得到低位32位的结果,不能得到高位32位的结果。这时,应将数据移入字元件再进行计算。用字元件作目标操作数时,也不能对作为运算结果的64位数据进行成批监视。在这种场合下,建议用浮点运算,最高位是符号位,V、Z不能用于[D·]目标元件。(4)除法指令1)该指令的助记符、指令代码、操作数、程序步如表4-3-4所示。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]除法DIVDIV(P)FNC23(16/32)K、H、KnX、KnY、KnM、KnS、T、C、D、ZKnY、KnM、KnS、T、C、DDIV、DIVP…7步DDIV、DDIVP…13步表4-3-4除法指令2)指令梯形图DIV除法指令是将指定的源元件中的二进制数相除,[s1.]为被除数,[S2·]为除数,商送到指定的目标元件[D·]中去,余数送到[D·]的下一个目标元件。DIV除法指令使用说明如图4-3-7所示。它分16位和32位两种情况。图4-3-7除法指令举例3)指令说明当为16位运算、执行条件X000由OFF→ON时[DO]÷[D2]→[D4]。当[DO]=19、[D2]=3时,[D4]=6,[D5]=1。V、z不能用于[D·]中。当为32位运算、执行条件X000由OFF—ON时,[D1、DO]÷[D3、D2],商在[D5、D4],余数在[D7、D6]中。V和z不能用于[D·]中。除数为0时,运算错误,不执行指令。若[D·]指定位组合元件,得不到余数。商和余数的最高位是符号位。被除数或除数中有一个为负数时,商为负数;被除数为负数时,余数为负数。(5)加1指令1)该指令的助记符、指令代码、操作数、程序步如表4-3-5所示。指令名称助记符指令代码位数操作数范围程序步[D·]加1INCINC(P)FNC24(16/32)KnX、KnY、KnM、KnS、T、C、D、ZINC、INCP…3步DINC、DINCP…5步表4-3-5加1指令2)指令梯形图加1指令的说明如图4-3-8所示。当XOOO由OFF—ON变化时,由[D·]指定的元件DIO中的二进制数加1。图4-3-8加1指令举例3)指令说明若用连续指令时,每个扫描周期加1。16位运算时.-32767再加1就变为-32768,但标志不置位。同样,在32位运算时,+2147483647再加1就变为-2147483647,标志也不置位。(6)减1指令1)该指令的助记符、指令代码、操作数、程序步如表4-3-6所示。指令名称助记符指令代码位数操作数范围程序步[D·]减1DECDEC(P)FNC25(16/32)KnX、KnY、KnM、KnS、T、C、D、ZDEC、DECP…3步DMUL、DMULP…5步表4-3-6减1指令2)指令梯形图减1指令的举例如图4-3-9所示。当X001由OFF→ON变化时,由[D·]指定的元件DIO中的二进制数减1。图4-3-9减1指令举例3)指令说明若用连续扫描指令时,每个扫描周期减1。在16位运算时,-32768再减1就变为+32767,但标志不置位。同样,在32位运算时,-2147483648再减1就变为+2147483647,标志也不置位。四、任务实施1、控制系程序分析:1)由于自售机具有求和、求减等运算功能,因此首先要定好各数据寄存器的功能。D10:投入的,投入作加运算,物品作减运算。D20:投入的十位数字。D21:投入的个位数字。2)使用比指令,当投入数≧10元,L1灯;投入0,L1灯亮提示余不足。3)按下退X0,M50置1,若投(M61=1),且余0(M32=1),表示没有物,取口灯Y1亮;若有物行(M60=1),且投(M61=1),且余不小于0(M30),退物口灯Y2亮。1S后数额显示为零,再1S后退币口灯或退物口灯熄灭。4)如果购物4秒后,没有任何操作,则M50也置1,若这时投过币(M61=1),且余额0(M32=1),表示没有购物,则取币口灯Y1亮;若这时有购物行为(M60=1),且投过币(M61=1),且余额不小于0(M30),则退物口灯Y2亮。1S后数额显示为零,再1S后退币口灯或退物口灯熄灭。2、控制系统的程序设计(1)I/O的分配(见表4-3-7)输入功能说明输出功能说明X001投口(5角)Y010A1X002投口(1元)Y011B1X003投口(5元)Y012C1X004按(1.5元)Y013D1X005按(2.5元)Y014A0X006按(3元)Y015B0X007按(3.5元)Y016C0X000退Y017D0Y002取物口灯Y001退口灯Y000L1表4-3-7自动售货机I/0分配(2)编写程序,并下载到PLC(见图4-3-10)图4-3-10自动售货机梯形图【程序说明】1、使用D10作为投入钱币的数据寄存器。若按下X001表示投入5元,再按下X003则又投入50元,然后按下可乐选择按钮X005,则D10=5+50-25=30,见图4-3-11。图4-3-11程序说明12、使用两位数码管显示余额,使用除法指令将十位及个位数分开,再使用BCD转换指令驱动输出。若D10余额为30,D20=D10/10=3,D21=0,则两位数据显示为30,见图4-3-12。图4-3-12程序说明23、系统安装及调试(1)首先应弄清楚系统的输入和输出,可按照图4-3-13在触摸屏上放置程序所需观察的输入和输出器件,建立好PLC与触摸屏的连接,并定义好各输入输出器件,为程序的调试和监控作好准备。图4-3-13自动售货机监控界面(2)根据图4-3-14PLC系统I/O分配图完成PLC的输入输出接线,并检查有无断路及短路现象,运行程序,观察PLC输出信号是否能满足控制要求。调试程序直至系统正常工作。图4-3-14自动售货机PLC系统I/O分配图五、拓展练习例:用乘除法指令实现灯组的移位点亮循环。有一组灯15个,分别接到输出Y000-Y007及Y010-Y016上,要求:当X000为ON时,灯正序每隔1S单个移位,并循环;当X000为OFF时,灯反序每隔1S单个移位至Y000为ON,停止。1.I/O分配(见表4-3-9)入元件作用入器出元件作用出器启X000灯(15个)Y000-Y007Y010-Y016表4-3-9输入输出分配表2、梯形图(见图4-3-15)图4-3-15例梯形图思考与练习:FX2N系列PLC具有较强的数学指令集,除了整数四则运算指令外,在一些要求较高的场合下使用浮点数运算,可以有效提高控制精度,更好地提高产品合格率。浮点数是指带有有限位小数的有理数,如-10.8、0.00、25.01等。 整数运算时,得到的结果是一个整数,并且计算结果中的小数部分将被忽略。例如:用整数运算时,100÷3=33。浮点运算时,得到的结果是一个浮点数,计算结果中的小数部分将保留下来。例如:用浮点运算时,100.0÷3.0=33.33333333。
本文标题:FX2N系列PLC课件-自动售货机的程序控制
链接地址:https://www.777doc.com/doc-6858323 .html