PLC中跳转指令和中断指令的区别
能结合实际例子的回答、原创最多、阐述最全的将得大奖。
下周初结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
PLC的跳转指和PLC的中断指令都是导致程序运行流程改变的指令。其区别包括:
1、其各自产生运行流程改变的原因不同:跳转指令是因为程序扫描执行中遇到了一条跳转指令,仅仅是该条指令就可以直接指定程序流程转移到指定的程序地址(这是无条件跳转指令),或者当扫描到该跳转指令的时候跳转的条件正好满足,这时候会发生流程转移,不满足条件,则即使扫描到此跳转指令也不跳转(这是有条件跳转指令);而对于中断指令,发生程序执行流程转移的机制是中断源引发中断事件,三菱FX系列就包括外部中断、定时中断、高速计数器中断三类;
2、流程转移时处理方式不同:跳转指令发生后程序流程转移到程序目的地址是在指令中实现指定的,通常仍旧是主程序中的某一地址上,跳转时只是跳过程序中某一段即可,接下来还是顺序扫描执行下去而已。而中断指令则需要记忆中断发生处地址(也就是中断点),以便转移向中断响应子程序处,中断响应子程序执行完毕后能够可靠返回断点处,而且中断程序还可能涉及中断参数的传递,而跳转则远没有那么多的麻烦事;
3、实现的限制条件不同:中断除了要求有中断源引发相应的中断事件外,还要受到主程序中是否设置了开中断和关中断指令(三菱、西门子plc中就是EI、DI指令),跳转指令只需要跳转的条件满足即可(条件跳转),甚至不需要跳转条件(指无条件跳转的情况);
4、使用的指针不同:以三菱的FX、Q系列为例,跳转指令执行后不必都执行程序返回,使用的是指针P。而中断程序由于发生中断的时间是随机的,原先的程序被随机中断,所以当响应过中断程序后要返回断点继续执行,所使用的是指针I ;
5、程序流程转移发生时机的可控制性不同:在跳转指令,流程转移的发生一切都是事先设定的,可以说是可控的;在中断引发流程转移时,基本都是随机发生的,无法事先预知
1:跳转指令:当条件满足时,自动跳转所在标号的程序行,开始执行,意味着,跳过中间的程序,一下子,跳到另外的一个地方执行了。
西门子S7-200中跳转至标签(JMP)指令对程序中的指定标签(n)执行分支操作。跳转接受时,堆栈顶值始终为逻辑1。标签(LBL)指令标记跳转目的地(n)的位置。可以在主程序、子程序或中断例行程序中使用"跳转"指令。
2:中断指令是指:当条件满足后,程序中断运行,并保持原有数据、状态不变。当然,你需要设置中断允许区域,以及中断处理子程序。
西门子S7-200中使用中断服务程序来响应这些内部、外部的中断事件。中断服务程序需要通过用户编程与特定的中断事件联系起来,才能工作。中断程序与子程序最大的不同是,中断服务程序不能由用户程序调用,而只能由特定的事件触发执行。 中断服务程序只有由用户程序把中断服务程序标号(名称)与中断事件联系起来,并且开放系统中断后才能进入等待中断并随时执行的状态,多个中断事件可以连接同一个中断服务程序;一个中断服务程序只能连接一个中断事件,中断服务程序也可由用户程序取消与中断事件的连接;队列中的特定中断事件可以被指令取消;也可用指令禁止全部中断 。
上面的说的很好 我再给大家补一个指令集
三菱FX2N应用指令集
程序流程应用指令
1、FNC(CJ) 跳转指令
2、FNC01 FNC02 FNC06(CALL SRET FEND) 调用子程序
3、FNC03 FNC04 FNC05(IRET EI DI)中断处理
4、FNC07(WDT)看门狗定时器
5、FNC08 FNC09(FOR NEXT)程序循环
数据传送、区域比较应用指令
1、FNC10(CMP) 比较
2、FNC11(ZCP)区域比较
3、FNC12(MOV) 传送应用指令
4、FNC13 (SMOV)数据移位应用指令
5、FNC14(CML)数据反相传送应用指令
6、FNC15 (BMOV) 成批传送
7、FNC16 (FMOV) 多点传送应用指令
8、FNC17 (XCHP) 数据交换
9、FNC18(BCD) 将BIN转换为BCD
10、FNC19(BIN) 将BCK转换为BIN
四则运算逻辑应用指令
1、FNC20(ADD) 加法应用指令
2、FNC21(SUB) 减法
3、FNC22(MUL) 二进制乘法
4、FNC23(DIV) 二进制除法
5、FNC24(INC) 增加
6、FNC25(DEC) 减少
7、FNC26(WAND) 逻辑与
8、FNC27(WOR) 逻辑或
9、FNC28(WXOR) 二进制互斥逻辑异或
10、FNC29(NEG) 求补码
旋转、位移应用指令
1、FNC30、FNC31(RORP、ROLP)左、右旋转
2、FNC32 FNC33(RCRP、RCLP)包含进位标识的左、右旋转
3、FNC34、FNC35(SFTRP、SFTLP)位数据左、右移
4、FNC36、FNC37(WSFRP、WSFLP)字符数据左、右移
5、FNC38、FNC39(SFWRP、WFRDP)字符数据位移写入与读出
数据处理应用指令
1、FNC40(ZRST)区域数据复位
2、FNC41(DECO)译码
3、FNC42(ENCO)编码
4、FNC43(SUM)ON位总数计算
5、FNC44(BON)ON位判断
6、FNC45(MEAN)平均值
7、FNC46、FNC47(ANS、ANR)警报线圈的输出与复位
8、FNC48(SQR)开平方
高速处理应用指令
1、FNC50(RER)输入/输出信号立即处理
2、FNC51(REFF)改变输入端响应时间
3、FNC52(MTP)矩阵输入
4、FNC53(DHSCS)高速计数器比较设置
5、FNC54(DHSCR)高速计数器比较复位
6、FNC55(DHSZ)高速计数器区域比较
7、FNC56(SPD)脉冲密度
8、FNC57(PLSY)脉冲输出
9、FNC58(PWM)脉冲宽度调制
10、FNC59(PLSR)加减速脉冲输出
宏应用指令
1、FNC60(IST)步进运转状态设定
2、FNC61(SER)多笔数据比较
3、FNC62(ABSD)绝对式控制
4、FNC63(INCD)相对式控制
5、FNC64(TIMR)调整式定时器
6、FNC65(STMR) 特殊定时器
7、FNC66(ALTP)交替信号
8、FNC67(RAMP)求斜率
9、FNC69(SORT)数据排序
外部设定显示应用指令
1、FNC70(TKY)10个按钮输入
2、FNC71(HKY)16个按钮键输入
3、FNC72(DSW)指拨开关
4、FNC73(SEGD)7段数码管译码
5、FNC74(SEGL)7段数码扫描
6、FNC75(ARWS)箭头开关外部设定调整
PLC中的跳转是指在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针P*间的程序,即跳到以指针P*为入口的程序段中执行。直到跳处于被跳过程序段中的输出继电器、辅助继电器、状态器由于该段程序不再执行,即使梯形图中涉及的工作条件,它们的工作状态将保持跳转发生前的状态不变。被跳过程序段中的时间继电器及计数器,无论其是否具有掉电保持功能,由于相关程序停止执行,它们的现实值寄存器被锁定,跳转发生后及计数、计时值保持不变,在跳转终止,程序接续执行时,计时计数将继续进行。计时、计数器的复位指令具有优先权,即使复位指令位于被跳过的程序段中,执行条件满足时,复位工作也将执行。转的条件不再满足,跳转停止进行。
使用跳转指令的几点注意:
由于跳转指令具有选择程序段的功能。在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。
可以有多条指令使用同一标号。但在同一程序中不允许存在二个相同的标号。
标号一般设在相关的跳转指令之后,也可设在跳转指令之前。
使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅助继电器M8000作为跳转指令的工作条件,跳转就成为无条件跳转。
跳转可用来执行程序初始化工作。
在编写跳转程序的指令表时,标 号需占一行。
PLC中的中断工作方法:
是指主程序的执行过程中,中断主程序的执行去执行中断子程序。为某些特定的控制功能而设定的。
特点:要求响应时间小于机器的扫描周期。因而,中断子程序都不能由程序内安排的条件引出。
中断源:能引起中断的信号叫做中断源。FX2n系列PLC有三种中断源(也叫三类中断),即外部中断、计数器中断和定时器中断。
中断编号与中断相关的辅 助继电器 :
1)外部中断信号从输入端送入,可用于机外突发随机事件引起的中断。
2)定时中断是机内中断,使用定时器引出,多用于周期性工作场合。
3)多个突发事件出现时处理的先后顺序即是中断优先权。FX2系列PLC一共可安排9个中断,其优先权依中断编号的大小决定。
4)号数小的中断优先权高;外部中断的优先权较高。
对可以响应中断的程序段用允许中断指令EI及不允许中断指令DI指令标示出来。
全程中断——在程序的任何地方都可以响应中断。
如果机器安排的中断比较多,而这些中断又不一定需同时响应时,还可以通过特殊辅助继电器M8050~M8058实现中断的选择。并且规定:当这些特殊辅助继电器通过控制信号被置1时,其对应的中断被封锁。
中断指令的应用:1)中断指令作为一种子程序安排 在主程序结束指令FEND之后。
2)主程序中允许中断指令EI及不 允许中断指令DI间的区间表示可 以开放中断的程序段。
3)主程序中有多个中断子程序时, 中断标号和距其最近的一处中断返回指令构成一个中断程序。
4)FX2系列PLC可实现不多于二级的中断嵌套。
5)一次中断请求,中断程序一般仅能执行一次。
中断指令的执行过程及应用实例
1.外部中断子程序
外部中断指令常用来引入发生频率高于机器扫描频率的外控信号,或用于处理那些需快速响应的信号。
2.时间中断子程序