三菱PLC编程中,跳转指令CJ、子程序调用CALL和中断指令有什么区别?

三菱PLC编程中,跳转指令CJ、子程序调用CALL和中断指令,在执行中有什么区别?

第1个回答  2013-07-31
子程序帮助您对程序进行分块。主程序中使用的指令决定具体子程序的执行状况。当主程序调用子程序并执行时,子程序执行全部指令直至结束。然后,系统将控制返回至调用子程序网络中的主程序。
子程序用于为程序分段和分块,使其成为较小的、更易管理的块。在程序中调试和维护时,您可以利用这项优势。通过使用较小的程序块,对这些区域和整个程序简单地进行调试和排除故障。只在需要时才调用程序块,可以更有效地使用PLC,因为所有的程序块可能无须执行每次扫描。

最后,如果子程序仅引用参数和局部内存,则可移动子程序。为了移动子程序,应避免使用任何全局变量/符号(I、Q、M、SM、AI、AQ、V、T、C、S、AC内存中的绝对地址)。如果子程序无调用参数(IN、OUT或IN_OUT)或仅在L内存中使用局部变量,您就可以导出子程序并将其导入另一个项目。
欲在程序中使用子程序,必须执行下列三项任务:

?建立子程序

?在子程序局部变量表中定义参数(如果有)

?从适当的POU(从主程序或另一个子程序)调用子程序

当子程序被调用时,整个逻辑堆栈被保存,堆栈顶端被设为一,所有其他堆栈位置被设为零,控制被传送至调用子程序。当该子程序完成时,堆栈恢复为在调用点时保留的数值,控制返回调用例行程序。

子程序和调用例行程序共用累加器。由于子程序的使用,对累加器不执行保存或恢复操作。

用参数调用子程序

子程序可能包含交接的参数。参数在子程序的局部变量表中定义。参数必须有一个符号名(最多为23个字符)、一个变量类型和一个数据类型。可向子程序交接16个参数或从子程序交接16个参数。
局部变量表中的变量类型域定义参数是否交接至子程序(IN)、交接至或交接出子程序(IN_OUT)或交接出子程序(OUT)。下表说明子程序的参数类型。欲增加参数条目,将光标放在您希望增加的类型的变量类型域上(IN、
IN_OUT或OUT)。单极鼠标右键,获得选项菜单。选择"插入"选项,然后选择"下一行"选项。在当前条目的下方会显示所选类型的另一个参数条目。

跳转至标签(JMP)指令对程序中的指定标签(n)执行分支操作。跳转接受时,堆栈顶值始终为逻辑1。标签(LBL)指令标记跳转目的地(n)的位置。您可以在主程序、子程序或中断例行程序中使用"跳转"指令。"跳转"及其对应的"标签"指令必须始终位于相同的代码段中(主程序、子程序或中断例行程序)。您不能从主程序跳转至子程序或中断例行程序中的标签,与此相似,您也不能从子程序或中断例行程序跳转至该子程序或中断例行程序之外的标签。您可以在SCR段中使用"跳转"指令,但对应的"标签"指令必须位于相同的SCR段内。
中断允许(ENI)指令全局性启用所有附加中断事件进程。中断禁止(DISI)指令全局性禁止所有中断事件进程。转换至RUN(运行)模式时,中断开始时被禁止。一旦进入RUN(运行)模式,您可以通过执行全局中断允许指令,启用所有中断进程。执行中断禁止指令会禁止处理中断;但是现用中断事件将继续入队等候本回答被网友采纳

三菱PLC编程中,跳转指令CJ、子程序调用CALL和中断指令有什么区别?
您可以在主程序、子程序或中断例行程序中使用"跳转"指令。"跳转"及其对应的"标签"指令必须始终位于相同的代码段中(主程序、子程序或中断例行程序)。您不能从主程序跳转至子程序或中断例行程序中的标签,与此相似,您也不能从子程序或中断例行程序跳转至该子程序或中断例行程序之外的标签。您可以在SCR...

三菱plc中断指令和跳转指令和调用子程序的区别(重要的说一下动作流程...
跳转指令就是程序跳转到标记位置继续执行,被跳过的部分不执行 调用子程序就是从当前跳到子程序段,执行完后返回继续执行CALL的下一条程序 中断指令和执行子程序过程类似,都是跳转、执行、返回断点继续执行,但它可能在程序的任何地方执行(由外部条件触发),而子程序调用是程序运行到特定位置时才执行。

三菱plc梯形图中的CJ指令疑惑,高手请进,有图
P0、P1、P2处不需要加上各自启动的开关。但是CJ指令前X2,X3,X4之间需要加入互锁,避免3个CJ指令可能出现同时执行的误操作。三菱PLC梯形图辅助继电器M8040代表转移禁止,当M8040接通时,执行的步进程序从当前步开始转移禁止.

在三菱PLC中跳转指令和中断指令的区别
跳转指令,你要执行到了才会跳转。也就是要等扫描周期扫到了,才会去执行,犹如你妈让你不要玩游戏去买菜,你要等游戏完了后才去。而中断,当中断发生时,停止当前扫描进行中断处理,犹如你女朋友,让你现在过来就过来,哪怕你在游戏中。

在三菱PLC中跳转指令和中断指令的区别
基本是这样的。跳转指令,跳到指针位置执行,执行到返回指令再返回跳转指令的下一条继续执行。中断有很多种,有些并不是扫描到的。反正总是执行完后继续执行接下来的程序。

三菱plc的cj和call哪个好用
CJ是跳转指令,当执行CJ指令时会跳转到标志位置,然后继续运行程序。在同一个扫描周期里,如果是往后跳转,那么就相当于把这一段主程序去掉了一段。如果往前跳转,就相当于同一段主程序多次地执行了。相当于改变了主程序的内容。CALL调用子程序指令,当CALL执行,会调用一段子程序,在同一个扫描周期里,...

用CALL调用子程序和用中断调用子程序有什么区别?
用CALL调用子程序和用中断调用子程序区别为:发生时间不同、关系不同、系统不同。一、发生时间不同 1、用CALL调用子程序:在主程序的调用指令(CALL)执行时发生主程序调用子程序过程,调用指令所在位置是已知的和固定的。2、用中断调用子程序:中断过程发生的时间一般是随机的,CPU在执行某一主程序时...

三菱plc跳转指令cj和cjp有和区别
三菱PLC跳转指令CJ和CJP的主要区别就是CJ是连续执行指令,即在条件满足时,每个扫描周期执行一次该指令。CJP是脉冲执行指令,仅在条件满足时执行一次该指令。

中断调用和子程序的调用的异同
中断过程与调用子程序过程相似点是表面的,从本质上讲两者是完全不一样的。两者的根本区别主要表现在服务时间与服务对象不一样上。首先,调用子程序过程发生的时间是已知和固定的,即在主程序中的调用指令(CALL)执行时发生主程序调用子程序,调用指令所在位置是已知和固定的。而中断过程发生的时间一般的...

三菱plccj指令的用法
三菱PLC中的CJ指令是一个重要的条件跳转指令,它根据指定的条件判断结果来决定程序的执行流程。以下是CJ指令的详细用法:1. **条件判断**:CJ指令的“条件”部分可以是一个逻辑表达式,用于判断某些条件是否为真。这些条件可以基于PLC的输入、寄存器内容或其他逻辑运算结果。2. **结果指令**:当条件为真...

相似回答