第6章 FX3U系列PLC的功能指令.pptx
第六章FX3U系列PLC的功能指令;第六章本章教学要点;第六章本章教学要点;6.1功能指令的表示与执行方式;6.1功能指令的表示与执行方式;指令的执行方式---[D][P];6.1功能指令的表示与执行方式;6.1功能指令的表示与执行方式;6.1.2功能指令的变址操作;6.2.1条件跳转指令CJ;6.2.2子程序调用指令CALL和返回指令SRET;图6-7为CALLP和SRET指令应用。在X001由OFF到ON变化时执行一次P11,在执行P11子程序时,若X003接通,CALLPP12指令被执行,又调用子程序P12,在子程序2的SRET指令执行后,程序返回到P11中的CALLPP12指令的下一步,在子程序1的SRET指令执行后,再返回主程序,形成子程序嵌套。
使用说明:
当主程序带有多个子程序时,子程序要依次放在主程序结束指令FEND之后,并用不同的标号相区别。子程序标号与条件转移中所用的标号相同,在条件转移中已经使用了的标号,子程序不能再用。同一标号只能使用一次,而不同的CALL指令可以多次调用同一标号的子程序。
;6.2.3中断返回指令IRET、允许指令EI、禁止指令DI;1.外部中断与内部中断
根据中断信号来自PLC外部还是内部,把中断类型分为外部中断和内部中断两类,内部中断包括定时器中断和内部计数器中断。外部中断是指PLC输入端子输入的外部信号产生的中断,可用于外部突发随机事件引起的中断。内部定时器中断是指对应的定时器当前值达到设定值而引起的中断。内部计数器中断是指对应的计数器当前值达到设定值而引起的中断。FX3U系列PLC设置有9个中断源,15个中断指针。9个中断源可以同时向CPU发出中断请求信号,多个中断依次发生时,以先发生为优先,同时发生时,中断指针号小的优先。
2.中断指针
外部中断与内部中断共有15个中断指针。为了区别内、外中断以及在程序中标明中断子程序的入口,规定了中断标号。;如图6-8所示,中断标号以I开头,称为I指针,I指针根据用途又分为外部中断用I指针、内部定时器中断用I指针、内部计数器中断用I指针
外部中断用I指针的格式如图6-8(a)所示,有I0~I5共6点。对应的外部信号的输入口为X000~X005。例如,I001的含义是,当输入X000从OFF→ON变化时,执行由该指针作为标号后面的中断服务程序,并在执行IRET指令后返回。
内部定时器中断用I指针格式如图6-8(b)所示,有I6~I8共3点,内部定时器设定值到,中断主程序去执行中断子程序,定时时间由指定编号为6~8的专用定时器控制,设定时间值在10~99ms间选取,每隔设定时间就会中断一次。例如,I630的含义是每隔30ms就执行标号为I6后面的中断服务程序一次,在IRET指令执行后返回。
内部计数器中断用I指针格式如图6-8(c)所示。;3.使用说明
在主程序的执行过程中,PLC根据中断服务子程序的优先级决定能否响应中断。程序中允许中断响应的区间应该由EI指令开始,DI指令结束,中断指令应用如图6-9所示,当中断子程序的处理遇到中断返回指令IRET时,中断子程序返回原断点,继续执行主程序。在中断执行区间之外时,即使有中断请求,CPU也不会立即响应。通常情况下,在执行某个中断服务程序时,应禁止其他中断。;4.应用示例
外部输入中断的基本程序示例如图6-10所示,当外部输入X000上升沿时,输出Y000,即时刷新Y000~Y007的状态。
定时器中断的基本程序示例如图6-11所示。当外部输入X001闭合时,置位M3使INC指令有效,每隔10ms中断一次,D0加1,当D0的值等于1000时,M3复位。;计数器中断的基本程序示例如图6-12所示,在使用功能指令过程中调用中断子程序。;6.2.4主程序结束指令FEND;使用说明:
(1)子程序调用CALL指令必须在FEND指令后编程,且必须有子程序返回指令SRET。中断程序同样也在FEND指令后编程,也必须要有中断返回IRET指令。
(2)使用多个FEND指令的情况下,应在最后的FEND指令与END指令之间编写子程序或中断子程序。
(3)当程序中没有子程序或中断服务程序时,也可以没有FEND指令。但是程序的最后必须用END指令结尾。所以,子程序及中断服务程序必须写在FEND指令与END指令之间。
;6.2.5看门狗定时器指令WDT;在D8000为默认设定值情况下,当程序扫描周期大于200ms时,系统将会出现错误,可以将一个运行时间大于200ms的程序用WDT指令分成几部分,使每部分的执行时间都小于200ms。例如,若要执行一个扫描时间为240ms的程序,可以将其分为两个120ms的程序,为