可编程控制器应用技术第八章FX2N系列可编程控制器程序控制指令及应用目录条件跳转指令及应用子程序调用指令及应用中断指令及应用循环指令程序结构1内容提要2条件跳转指令、子程序指令、中断指令及程序循环指令,统称为程序控制类指令。程序控制指令用于程序执行流程的控制。对一个扫描周期而言,跳转指令可以使程序出现跨越或跳跃以实现程序段的选择。子程序指令可调用某段子程序。循环指令可多次重复执行特定的程序段。中断指令则用于中断信号引起的子程序调用。程序控制类指令可以影响程序执行的流向及内容。对合理安排程序的结构,有效提高程序的功能,对实现某些技巧性运算,都有重要的意义。第一节条件跳转指令及应用一、条件跳转指令的要素和含义指令名称助记符指令代码位数操作数程序步[D·]条件跳转CJCJ(P)FNC00(16)P0~P63P63即ENDCJ和CJ(P)~3步标号P~1步表8-1条件跳转指令要素含义在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针PΔ间的程序,即跳到以指针PΔ为入口的程序段中执行。直到跳转的条件不再满足,跳转停止进行。3第一节条件跳转指令及应用图8-1条件跳转指令使用说明4第一节条件跳转指令及应用二、跳转程序段中元器件在跳转执行中的工作状态①处于被跳过程序段中的输出继电器、辅助继电器、状态器的工作状态将保持跳转发生前的状态不变。②被跳过程序段中的时间继电器及计数器,跳转发生后其计数、计时值保持不变,在跳转中止,程序接续执行时,计时计数将继续进行。5元件跳转前触点状态跳转后触点状态跳转后线圈状态Y、M、SX001,X002,X003断开X001,X002,X003接通Y001,M1,S1断开X001,X002,X003接通X001,X002,X003断开Y001,M1,S1接通10ms,100ms定时器X004断开X004接通定时器不动作X004接通X004断开计时中断,X000断开后接续计时1ms定时器X005断开,X006断开X006接通定时器不动作X005断开,X006接通X006断开计时中断,X000断开后接续计时计数器X007断开,X010断开X010接通计数器不动作X007断开,X010接通X010断开计数中断,X000断开后接续计数功能指令X011断开X011接通除FNC52~FNC59之外的其他功能指令不执行X011接通X011断开表8-2条件跳转对元器件状态的影响6第一节条件跳转指令及应用三、条件跳转指令的使用说明1.使用条件跳转指令的几点注意①由于跳转指令具有选择程序段的功能。在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。②可以有多条跳转指令使用同一标号。图8-2二条跳转指令使用同一标号7第一节条件跳转指令及应用③标号可以设在相关的跳转指令之后或之前。④使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅助继电器M8000作为跳转指令的工作条件,跳转就成为无条件跳转。⑤跳转可用来执行程序初始化工作。⑥在编写跳转程序的指令表时,标号需占一行。条件跳转指令用于程序初始化8第一节条件跳转指令及应用2.条件跳转与主控区的关系①对跳过整个主控区的跳转不受限制。②从主控区外跳到主控区内时,跳转独立于主控操作。③在主控区内跳转时④从主控区内跳到主控区外⑤从一个主控区跳到另一个主控区内时9第一节条件跳转指令及应用四、条件跳转指令的应用实例FNC00CJP8X010手动程序FNC00CJP9自动程序ENDX010P8P9LDX010P8CJP8自动程序手动程序P9LDIX010ENDCJP9图8-5手动/自动转换程序10第二节子程序调用指令及应用一、子程序调用指令的使用要素及梯形图表示指令名称助记符指令代码位数操作数程序步[D·]子程序调用CALLCALL(P)FNC01(16)指针P0~P62嵌套5级3步(指令标号)1步子程序返回SRETFNC02无1步表8-3子程序调用指令要素11第二节子程序调用指令及应用子程序是为一些特定的控制要求编制的相对独立的程序。子程序调用指令在梯形图中使用的情况如图8-6所示。图8-6子程序的使用12第二节子程序调用指令及应用二、子程序的执行过程及在程序编制中的意义FNC01CALLP1X001FNC01CALLP2子程序01X002P1P2初始化FNC01CALLP3X003FNC01CALLP4X004FNC06FENDFNC02SRET子程序02FNC02SRET子程序03子程序04ENDFNC02SRETFNC02SRETP4P3图8-7多子程序结构13第二节子程序调用指令及应用子程序可以实现多级嵌套。图8-8子程序的嵌套14第二节子程序调用指令及应用三、子程序应用实例某化工反应装置完成多液体物料的化合工作,连续生产。使用可编程序控制器完成物料的比例投入及送出,并完成反应装置温度的控制工作。反应物料的比例投入根据装置内酸碱度经运算控制有关阀门的开启程度实现,反应物的送出依进入物料的量经运算控制出料阀门的开启程度实现。15第二节子程序调用指令及应用温度控制使用加温及降温设备。温度需维持在一个区间内。在设计程序的总体结构时,将运算为主的程序内容做为主程序。将加温及降温等逻辑控制为主的程序作为子程序。16第二节子程序调用指令及应用图8-5手动/自动转换程序FNC01CALLP11X011FNC01CALLP12反应物比例送入控制程序降温控制程序X012P12P11FNC06FEND生成物均衡输出控制程序FNC02SRET降温控制程序FNC02SRET17第三节中断指令及应用一、中断指令说明及其梯形图表示指令名称助记符指令代码操作数程序步中断指令允许中断指令禁止中断指令IRETEIDIFNC03FNC04FNC05无无无1步1步1步表8-4中断指令要素18第三节中断指令及应用中断是计算机所特有的一种工作方式。中断子程序是为某些特定的控制功能而设定的。特定的控制功能的共同特点:要求响应时间小于机器的扫描周期。三类中断:输入中断定时器中断计数器中断19第三节中断指令及应用地址号·号称动作·功能M8050(输入中断)I00□禁止FNC04(EI)指令执行后,即使允许中断,可使用特殊辅助继电器M禁止个别中断动作。例如M8050为ON时,输入中断I00□中断禁止M8051(输入中断)I10□禁止M8052(输入中断)I20□禁止M8053(输入中断)I30□禁止M8054(输入中断)I40□禁止M8055(输入中断)I50□禁止M8056(定时中断)I6□□禁止M8057(定时中断)I7□□禁止M8058(定时中断)I8□□禁止M8059计数器中断禁止I010~I060的中断禁止表8-5特殊辅助继电器与中断对应关系20第三节中断指令及应用图8-10中断指令在梯形图中的表示FX2N型可编程控制器可实现不多于二级的中断嵌套。21第三节中断指令及应用二、中断指令的执行过程及应用实例1.外部中断子程序图8-11外部输入中断子程序示例外部中断常用来引入发生频率高于机器扫描频率的外控制信号,或用于处理那些需快速响应的信号。22第三节中断指令及应用2.时间中断子程序定时器中断子程序示例23第三节中断指令及应用图8-13斜坡信号发生电路中使用定时中断24第三节中断指令及应用时间中断在工业控制中还常用于快速采样处理,以定时快速地采集外界迅速变化的信号。小结25第四节循环指令一、循环指令的要素及梯形图表示指令名称助记符指令代码操作数程序步[S·]循环指令FORFNC09(16)K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z3步(嵌套5层)循环结束指令NEXTFNC09无1步表8-6程序循环指令要素26第四节循环指令循环指令由FOR及NEXT二条指令构成,它们成对出现。图8-14循环指令使用说明多层循环间的关系是循环次数相乘的关系。27第四节循环指令二、循环程序的意义及应用循环指令用于某种操作需反复进行的场合。循环程序可以使程序简明扼要,增加了编程的方便,提高了程序的功能。28第五节程序结构意义①方便于程序的编写。②有利于读者阅读程序。③好的程序结构有利于程序的运行。④好的程序结构有利于减少程序的实际运行时间,使PLC的运行更加有效。29第五节程序结构常见的程序结构类型:简单结构有跳越及循环的简单结构组织模块式结构结构化编程结构30