三菱可编程控制器原理与应用课件第五章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PLC仰恩大学计算机与信息学院第五章可编程控制器高级程序指令PLC仰恩大学计算机与信息学院2主要指令•高级程序指令的基本知识•程序流程控制指令•比较指令与传送指令•算术运算指令与逻辑运算指令•循环移位指令•数据处理指令•高速处理指令•方便指令PLC仰恩大学计算机与信息学院3•外部设备I/O指令•外部设备SER指令•浮点数处理指令和字节交换指令•时钟处理指令•格雷码指令•触点比较指令PLC仰恩大学计算机与信息学院45.1高级程序指令的基本知识•高级程序指令一般由名称和操作数构成•指令名称:指令编号和助记符组成,指明指令实现的功能。•每条高级程序指令都有一个编号,编号不同,功能也不同•编号形式:FNCn机型不同,n的取值也不同FX2Nn=0~246FX0Nn=0~67指令名称操作数源操作数S辅助操作数m目的操作数D辅助操作数nPLC仰恩大学计算机与信息学院5•每条高级指令都有一个助记符,以指令实现的功能的英文单词缩写形式表示。•操作数是指令执行时涉及到的或产生的数据•操作数的存在形式•存储在存储单元•数值的形式直接出现•操作数分类:•源操作数•目的操作数•辅助操作数PLC仰恩大学计算机与信息学院6•源操作数:指令执行时使用的数据。指令执行后,只要不被覆盖,源操作数不变。•目的操作数:指令执行时产生的数据•辅助操作数:对指令的源操作数或目的操作数做某种说明或限定的数FNC20ADDD10D11D12X001M100FNC45MEAND10D14Z0K4辅助操作数——做说明和限定X001M100PLC仰恩大学计算机与信息学院7•把几个元素组合起来,构成高级程序指令的结构FNCnAMSS1·S2·m1m2D1·D2·n1n2指令编号助记符源操作数目的操作数辅助操作数PLC仰恩大学计算机与信息学院8•每条指令对操作数的类型、数目、存储形式都有严格的规定:•如果指令有操作数,在使用指令时,需要指明操作数的数据长度。指令操作数的数据长度有16位和32位两种。同一条指令对16位数据和对32位数据操作时,要使用不同的助记符,区别的方法是在16位数据的助记符前加上前缀“D”即为32位数据的助记符。•注意:C200~C255是32位计数器,不能作为16位指令的操作数•大部分高级程序指令可看成特定功能的电器,该电器受由各种触点组成的电路控制,当电路为ON时,电器工作即指令被执行,当为OFF时,电器不工作即指令不被执行。PLC仰恩大学计算机与信息学院9•有些指令有脉冲执行型和连续执行型。•脉冲执行型:仅在执行条件满足后的第一个扫描周期内执行,只执行一次;•连续执行型:执行条件满足过程中的每个扫描周期都要执行;•区别方法:在连续执行型指令的助记符后加上后缀“P”•高级程序指令都是对存储区进行操作,如利用BMOV指令对EEPROM进行写入操作时,要使用脉冲执行型指令。FNC20ADDPD10D11Z0D12X001M100PLC仰恩大学计算机与信息学院105.2程序流程控制指令•跳转指令CJ用来选择某段程序执行或不执行。FNC00CJS1·S1·P0~P127P指令,条件满足后条件跳转M100X000X001M100M100FNC00CJP1X002FNC20ADDD1D2D3X003Y000X004M101X005S20X006T60X007RSTT248K100X010T248K500X011RSTC10C10X012﹛①②③M100④FNC00CJP2P1X013PLSM120Y000M120X014Y000Y001Y000⑤M130X015Y002M130﹛⑥P2PLC仰恩大学计算机与信息学院12•使用跳转指令时,要注意跳转指令对各软电器状态的影响。•跳转程序中有T192~T199和高速计数器C235~C255时,若这些定时器和计数器开始工作后程序跳转,则这些定时器和计数器继续计时和计数,达到设定值时其相应的触点动作不受程序跳转的影响。•积算型定时器和计数器的复位指令在跳转程序外,跳转过程中对它们的复位有效。•同一个软电器线圈可以出现在不会被同时执行的选择性程序段中。PLC仰恩大学计算机与信息学院13•多条跳转指令可以使用同一个指针PFNC00CJP10X010X011Y000FNC00CJP10X012X013Y002X014Y003P10PLC仰恩大学计算机与信息学院14X000为ON的时间超过200ms时,会产生看门狗定时器出错。•选择性执行程序的结束标志(指针P)一般应放在开始标志(CJ指令)后,但也可以放在前面。X010Y000X011Y001P10X012Y002FNC00CJP10X000X001Y003PLC仰恩大学计算机与信息学院15•CJ指令的跳转目的地是END指令时,指针用P63,但END指令处不标记P63,否则会出错。FNC00CJP63X000X001Y000ENDP63FNC00CJP63X000X001Y000END不要标记出P63PLC仰恩大学计算机与信息学院16•主控指令与跳转指令经常会混合应用,处理情况如下:•主控指令控制区可称为主控区,跳转指令控制区称为跳转区;•当主控区内嵌于跳转区时,跳转区被执行后,则主控区才被执行;•当跳转区内嵌于主控区时,主控区被执行后,则跳转区才被执行;•从主控区外跳到主控区内时,跳转优先,不论主控触点状态如何,都做ON处理;•当主控触点为ON,跳转条件也成立时,可以从主控区内跳到主控区外,主控结束指令MCR不影响跳转;PLC仰恩大学计算机与信息学院17•跳转指令可以从一个主控区跳到另一个主控区,条件是跳转指令所在主控区被执行切跳转条件成立时,跳转优先,跳转指令所在主控区的MCR指令被忽略,跳入区的主控指令MC也被忽略;•每个跳转程序段都应该使用转移的P指针。PLC仰恩大学计算机与信息学院18•子程序指令如果某段程序在整个程序中的不同位置多次出现,可以把这段程序作为子程序来处理。如果有子程序存在时,主程序排在最前面,主程序的最后一条语句用主程序结束指令FNC06(FEND);•子程序按顺序排在FNC06(FEND)指令后,每一段子程序用子程序返回指令SRET作为结束句,每段子程序必须有SRET语句;•调用子程序,使用子程序调用指令FNC01(CALL)或FNC01(CALLP)指令;•子程序可以嵌套,最多可有5层嵌套。Y000X000X001FNC01CALLPP20Y001M100Y002M101X002FNC01CALLPP20Y003M100Y004M101FNC06FENDM100X003M100X004P20SETM101X005RSTM101X006FNC02SRET主程序子程序Y000X000X001FNC01CALLP20Y001M100Y002M101FNC06FENDP20FNC02SRET主程序子程序Y003X002P21FNC01CALLM100X003M100X004FNC02SRETY004M100M101P21子程序PLC仰恩大学计算机与信息学院20•子程序调用完,执行完SRET指令后,程序返回CALL指令处顺序向下执行,直到FEND指令处,结束一次扫描过程中的程序执行。•每段子程序使用的指针P是专用指针,不能再供其他子程序段或跳转程序段使用。•子程序中可采用T192~T199或T246~T249作为定时器。PLC仰恩大学计算机与信息学院21•中断指令•计算机在预先安排好的工作过程中,暂停当前的工作,转去处理随机或周期性出现的事件,就是中断。•使计算机中断的随机或周期性事件称为中断事件或称为中断源。•计算机中处理中断事件的程序称为中断程序。•计算机中断当前程序的执行,转去执行中断程序称为中断响应:中断事件出现,计算机暂停执行当前程序,转去执行中断程序,中断程序执行完后,从当前程序的中断位置继续执行当前程序。PLC仰恩大学计算机与信息学院22•若同时出现多个中断事件,计算机只能按某种顺序逐个处理中断事件。•处理顺序:根据中断优先级别;•顺序中断:同时出现的几个中断按优先级别逐个顺序处理;•中断嵌套:若计算机已在处理中断,但新中断到来时立即优先处理新中断。•如果已经有一个中断事件在处理的同时又出现一个新的中断事件,计算机只能处理完一个中断事件后,才能处理另一个中断。但是如果新中断事件的优先级别更高,则将暂停原中断处理而进行新的中断处理(中断嵌套)。PLC仰恩大学计算机与信息学院23•FX2N系列PLC有三类中断源:•输入中断:外部随机事件引起的,输入中断信号通过输入端子进入机内,X000~X005六个端子可以接收输入中断信号。−上升沿中断:I001、I101、I201、I301、I401、I501−下降沿中断:I000、I100、I200、I300、I400、I500•定时器中断:由内部定时器产生的周期性事件引起的−最多可有3个定时器中断:I6□□、I7□□、I8□□•计数器中断:高速计数器的当前值和设定值相等时引起的−最多有6个计数器中断:I010、I020、I030、I040、I050、I060PLC仰恩大学计算机与信息学院24•中断事件处理原则:多个中断依次发生,先来先处理;多个中断同时发生,中断编号越小,优先级别越高,FX2N系列允许中断嵌套。•中断事件是否有效,由特殊辅助继电器控制。为OFF,中断事件有效,为ON,中断事件无效。•指令结构:以中断事件号作为开始标记,以中断返回指令IRET作为结束标记。•中断程序放在主程序结束指令FEND之后,主程序中,允许中断的程序段以允许中断指令EI作为开始标志,以禁止中断指令DI作为结束标志。•若程序开始处设置一条EI指令,而整个程序中没有DI指令或者DI指令时整个程序的最后一条指令,则中断可能发生在程序的任何地方,称为全程中断。PLC仰恩大学计算机与信息学院25Y000X010Y001X011FNC04EIM100X012Y002M100Y003FNC05DIY004X013Y005X014FNC06FENDM101M100Y006X015FNC03IRETM102M101Y007M102FNC03IRETEND禁止中断区允许中断区禁止中断区中断程序①中断程序②I000I100FNC04EIM100X016X017M100M100M8055X010Y000X011Y001X012SETY002X013RSTY002FNC05DIFNC06FENDX014Y004X015Y005FNC03IRET允许中断中断程序全程中断I500PLC仰恩大学计算机与信息学院27一般情况下,一次中断请求执行一次中断程序,中断程序的执行不受扫描周期的影响。注意:•输入中断和计数器中断使用的输入端子号不能相同•使用输入中断时,对同一输入,不能同时使用上升沿中断和下降沿中断。•采用X000~X005的输入信号,中断通常的顺控程序优先执行中断例行程序。•PLC可以处理二级中断,即中断程序中可以嵌套一级中断,也就是说最多可以有两重中断。PLC仰恩大学计算机与信息学院28•主程序结束指令和监视定时器指令•主程序结束指令(FEND)标志一段主程序的结束,与执行END指令一样,执行FEND指令之后,PLC开始输出刷新,开始下个扫描周期。注意:•FEND不能出现在子程序和中断程序中•在只有一个FEND指令程序中,子程序和中断程序要放在FEND指令之后•在有多个FEND指令程序中,中断程序和子程序要放在最后一个FEND指令之后。PLC仰恩大学计算机与信息学院29•监视定时器指令(WDT)强行刷新监视定时器•监视定时器默认的定时时间设定值:200ms•当扫描周期不超过200ms,每次执行到END或FEND指令时,监视定时器自动刷新,自动进入下一个扫描周期;当大于200ms时,监视定时器不再被复位,CPU自动停机,出错。•当扫描周期超过200ms时,可以把程序分段,中间插入WDT指令来避免。PLC仰恩大学计算机与信息学院30•常见WDT使用的情况:•跳转程序的结束标志Pn在相应的CJ指令之前•在循环程序(FOR-NEXT)中•系统中使用模

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功