- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章程序流程指令
第八章 程序流程指令
程序流程应用于指令是用来改变程序的执行顺序的,包括跳转、中断、调用子程序、循环等指令。
8.1条件跳转指令CJ
1、使用范例
使用范例如图8-1。
图8-1 使用范例
图8-1中,X0为跳转条件,即X0闭合时程序跳转到指针所在位置;X0断开时,跳转不执行,仍按原顺序执行。指针P用于批示跳转的目的地,它的位置批示应放在心上左母线的左边,如图8-2所示。
图8-2跳转指令应用举例
图8-2所示程序的功能是:X0闭合时,执行跳转指令所指位置行的程序,即X1闭合时,Y1有输出。如果X0断开,则X1得电时,Y1有输出,而且过2s后,Y2也有输出。此处允许输出出现同一个线圈,图中为4~9步程序与11步不可能同时执行。
2、使用注意事项
(1)FX2N系列PLC有P0~P127共128个跳步指针,其中P63是END所在的步序,在程序中不要设置P63。
(2)一个指针只能出现一次,如果出现两次以上,则会出错。
(3)如果用M8000的动合触点驱动CJ指令,则相当于无条件跳转,图中为运行时M8000总是闭合的。
8.2、子程序调用与返回指令(CALL SRET)
子程序是为了一些特定的控制任务而编制的相对独立的程序。子程序调用与返回指令用于子程序的调用。
1、使用范例
子程序应用指令由CALL、FEND、SRET3个应用指令组合而成。CALL为主程序调用指令,SRET为子程序返回指令,FEND为主程序结束指令。在使用时,所有子程序都须放在FEND之后。子程序从指针P所在位置开始,到SRET结束。其程序结构如图8-3所示。如果X0=ON,则子程序执行,执行完成后,回到主程序,执行原来CALL指令的下一个地址的内容。如果原来X0=OFF,则子程序不执行,即使子程序内的某个触点闭合,也不会执行子程序。
如图8-4所示为一个带子程序的PLC程序图。X0=ON时,调用子程序,当X2=ON时,Y3输出,过2s,Y4输出。后回到主程序,执行第四个指令内容,当X1=ON时,因为此时Y3的软元件已经闭合,Y1输出,过2s,T0得电,因为此时T4的常开触点已经闭合,Y2有输出。而如果X0=OFF,则子程序不执行,从而导致Y1、Y2也无法得电输出。
2、使用注意事项
(1)子程序的位置指针用P0~962及P64~P127表示。因为P63是END所在步序,不能作为子程序的指针.同一指针只能出现一次,CJ指令中用过的指针在子程序中不能再用。
(2)不同位置的CALL指令可以调用同一指针的子程序。
(3) 在子程序中调用子程序称为嵌套调用,最多可以嵌套5级。
图8-4 子程序应用举例
8.3、程序循环指令(FOR NEXT)
程序循环指令由FOR 及NEXT两条指令构成。FOR指令用来表示循环区的起点,NEXT表示循环区终点。FOR 与NEXT之间的程序被反复执行,执行次数N(N=1~32767)由FOR指令的源操作数设定,执行完后,执行NEXT后面的指令。
1、使用范例
程序循环指令的使用范例如图8-5所示。FOR指令后面的K4表示循环执行4次。
2、使用注意事项
1)FOR 与NEXT指令一定要成对使用,FOR指令应放在NEXT指令的前面。
2)循环程序中可再次使用循环,嵌套最多为5层。如图8-6所示,外层循环程序A嵌套了内循环B,循环A4次。每次执行一次A,就要执行4次循环B,因此,循环B一共要执行16次。
如图8-7是一个FOR 与NEXT指令嵌套使用的一个例子。
图8-7 FOR 与NEXT指令嵌套使用
当X0接通后运行该程序,则条件跳转指令(CJ P0)起作用。跳过加1指令(INC D0 ),因此D0=0。当X10断开后再运行该程序,条件跳转指令(CJ P0)不起作用,所以要执行加1指令(INC D0 ),因此D0=100。
8.4、中断指令(EI、DI、IRET)
中断:是指在主程序的执行过程中,中断主程序去执行中断子程序,执行完中断子程序后再回到刚才中断的主程序处继续执行,中断不受PLC扫描工作方式的影响,以使PLC能迅速响应中断事件。中断指令由EI(允许中断)、DI(禁止中断)及IRET(中断返回)三条指令构成。
中断源:能引起中断的信号,FX2N系列可编程序控制器有三类中断源,即外部中断、时间中断和高速计数器中断。本书主要分析外部中断。
编程元件—中断指针I :中断指针I用来指明某一中断源的中断程序入口指针,当执行到IRET(中断返回)指令时返回主程序。中断指针I应在FEND指令之后使用。
外部输入中断从输入端子送入,用于
文档评论(0)