第四节 控制指令

23
第第第 第第第第 一、 MC 主主主主主主主主 主 () MCE 主主主主主主主主 主主 () 主主主主主主主主主主 主主 MC 主 MCE 主主主主主

Upload: gunnar

Post on 19-Mar-2016

193 views

Category:

Documents


7 download

DESCRIPTION

第四节 控制指令. 一、 MC (主控继电器开始)和 MCE (主控继电器结束)指令. 当预置触发信号接通时,执行 MC 和 MCE 之间的指令。. ( 1 )两当预置触发信号为 OFF 时, MC 和 MCE 之间的指令操作如表 5.23 所示:. ( 2 )在一对主控指令之间可以有另一对主控指令,称为嵌套。. ( 3 )在主控指令对之间应用 DF 、 DF/ 指令时:主控指令对为 OFF 状态时,微分指令存储并保持 MC 指令断开前的状态( ON 或 OFF )。且在用微分指令编程时应注意:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第四节   控制指令

第四节 控制指令 一、 MC (主控继电器开始)和 MCE (主控继电器结束)指令当预置触发信号接通时,执行 MC 和 MCE 之间的指令。

Page 2: 第四节   控制指令

( 1 )两当预置触发信号为 OFF 时, MC 和 MCE 之间的指令操作如表 5.23 所示:

指令 I/O 状态OT 全 OFFKP 在触发信号 OFF 之前,保持状态SETRST

TM 和 F137(STMR) 复位CT 和 F118(UDC) 在触发信号 OFF 之前,经过值保持SR 和 F119(LRSR)

其他指令 不执行

Page 3: 第四节   控制指令

( 2 )在一对主控指令之间可以有另一对主控指令,称为嵌套。

Page 4: 第四节   控制指令

( 3 )在主控指令对之间应用 DF 、 DF/ 指令时:主控指令对为 OFF 状态时,微分指令存储并保持 MC 指令断开前的状态( ON 或 OFF )。且在用微分指令编程时应注意:

① 当 MC 指令执行条件为 OFF 时,则在 MC,MCE 指令之间的微分指令无效。

Page 5: 第四节   控制指令

② 如果 MC 和微分指令为同一触发信号,则输出不动作。若需要输出动作,应将微分指令放在 MC,MCE 指令对之外。

Page 6: 第四节   控制指令

③ 指令不能直接从左母线开始。程序中, MC 指令之前一定要有一接点输入。 ( 4 )在下列条件下,程序不能执行: ① MC 指令无触发信号 ② 有两个或多个同号的主控指令对 ③ MC 和 MCE 指令的顺序颠倒。

Page 7: 第四节   控制指令

二、 JP (跳转)和 LBL (跳转标记)指令 当预置触发信号接通时,跳转到与 JP 指令编号相同的LBL 指令。

Page 8: 第四节   控制指令

( 1 ) JP 指令跳过位于 JP 和编号相同的 LBL 指令间的所有指令。( 2 )编号相同的两个或多个 JP 指令可以用在同一程序里,但是,在同一程序中不可能使用相同编号的两个或多个 LBL 指令。( 3 ) LBL 指令专门用作 JP 和 LOOP 指令的目标指令。( 4 )在一对 JP 和 LBL 指令间,可以编入另一 JP 和 LBL 指令对称为嵌套,如图 5.28 所示。

说明

Page 9: 第四节   控制指令

LBL 指令位于 JP 指令之后: TM 指令:不执行定时器指令,如果该指令每次扫描都没被执行,则不能保证准确的时间。 CT 指令:即使计数输入接通,也不执行计数操作,经过值保持不变。 SR 指令:即使移位指令接通,也不执行移位操作。特殊寄存器的内容保持不变。

Page 10: 第四节   控制指令

LBL 指令位于 JP 指令之前: TM 指令:由于定时器指令每次扫描都执行多次,则不能保证准确的时间。 CT 指令:在扫描期间,如果计数输入的状态不改变,则计数操作照常进行。 SR 指令:在扫描期间,如果移位输入的状态不改变,则移位操作照常进行。 ( 6 )在 JP 和 LBL 指令间使用 DF 或 DF/指令,当 JP 的触发信号 ON 时,触发 JP 和LBL 间的 DF 或 DF/ 指令无效。

Page 11: 第四节   控制指令

( 7 )如果 JP 和 DF 或 DF/ 指令使用同一触发信号,将不会有输出。 如需要输出 , 应将 DF 或 DF/ 指令放在 JP和 LBL 指令对外面。如图 5.30 所示 ( 8 )若 LBL 指令的地址放在 JP 指令地址之前,扫描不会终止,会发生运行瓶颈错误。

Page 12: 第四节   控制指令

( 9 )以下几种情况,程序不能执行: ① JP 指令的触发信号被遗漏。 ② 存在两个或多个相同编号的 LBL 指令。 ③ 遗漏 JP 和 LBL 指令对中的一个指令。 ④ 从主程序区跳转到 ED 指令之后的一个地址。 ⑤ 从步进程序区之外跳转到步进程序区。 ⑥ 从子程序或中断程序区跳转到子程序或中断程序区之外。

Page 13: 第四节   控制指令

三、 LOOP 和 LBL指令

跳过 LOOP1 和 LBL1 指令间的所有程序。该指令每执行一次,数据寄存器 DT0预置值减 1 ,直到为 0 。

跳转到与 LOOP 指令相同编号的 LBL 指令,并反复执行 LBL 之后的程序,直到规定的操作数变为“ 0” 。 此时即使预置触发信号接通,LOOP 指令也不再执行。

Page 14: 第四节   控制指令
Page 15: 第四节   控制指令

( 1 )规定 LBL 指令为 LOOP 指令的目标指令。 ( 2 )在一个程序里,规定不能有两个或多个编号相同的 LBL 指令。 ( 3 )如果一开始,数据区的预置值为 0 ,LOOP 指令不执行 ( 无效 ) 。

说明

Page 16: 第四节   控制指令

( 4 )执行 LOOP 指令期间 TM/CT 和 SR 指令的运行:LBL 指令位于 LOOP 指令之后 TM 指令:不执行定时器指令,不能保证准确的时间。 CT 指令:不执行计数操作,经过值保持不变。 SR 指令:不执行移位操作,特殊寄存器的内容保持不变。

Page 17: 第四节   控制指令

LBL 指令位于 LOOP 指令之前 TM 指令:由于定时器指令每次扫描都执行多次,则不能保证准确的时间。 CT 指令:在扫描期间,如果计数输入的状态不改变,则计数操作照常进行。 SR 指令:在扫描期间,如果移位输入的状态不改变,则移位操作照常进行。如图 5.32 所示。

Page 18: 第四节   控制指令

( 5 )在 LOOP 和 LBL 指令间使用 DF 或 DF/ 指令: ① 当 LOOP 指令的触发信号” ON” 时,触发 LOOP 和 LBL 间的 DF 或 DF/ 指令无效。如图 5.33 所示。

Page 19: 第四节   控制指令

② 如果 LOOP 和 DF 或 DF/ 指令使用同一触发信号,将不会有输出。若需要输出,应将 DF 或DF/ 指令放在 LOOP 和 LBL 指令对之外。如图 5.34 所示。

Page 20: 第四节   控制指令

( 6 )标志的状态 ① 错误标志( R9007 ):当数据区的指定值小于“ 0”时,(即当指定数据区的 MSB 变为“ 1” 时), R9007接通并保持接通状态。错误地址传送到特殊数据寄存器 DT9017 并保持。 ② 错误标志( R9008 ):当数据区的指定值小于“ 0”时,(即当指定数据区的 MSB 变为“ 1” 时), R9008接通一瞬间。错误地址传送到特殊数据寄存器 DT9018 。 ③ 特殊数据寄存器 DT9017 和 DT9018 :用于 CPU 版本为 2.7 或更高的 FP1 系列(型号后带有“ B” 的所有 FP1型机均由该功能)。 ④ 使用特殊数据寄存器 DT9018 作为该指令的标志时,务必将特殊继电器紧跟在指令后面编程。

Page 21: 第四节   控制指令

四、 ED (结束)和 CNDE (条件结束)指令 均为程序结束的标志,但使用的条件不同。 图 5.35 所示梯形图程序及指令表的功能是 : 当 X0 断开时, CPU 执行完程序 1 后并不结束,仍继续执行程序 2 ,直到程序 2 执行完后才结束全部程序,并返回起始位址。此时 CNDE 不起作用,只有 ED起作用。 当 X0 接通时, CPU 执行完程序 1 后,遇到指令 CNDE 不再继续向下执行,而返回起始位址,重新执行程序 1 。 CNDE指令仅适用于在主程序中使用。

Page 22: 第四节   控制指令

六、 CALL 、 SUB 、 RET 指令 CALL :调子程序指令。表示执行指定的子程序。 SUB :子程序入口指令。表示子程序开始。 RET :子程序返回指令。表示子程序结束并返回到主程序。

Page 23: 第四节   控制指令

七、 ICTL 、 INT 、 IRET 指令 ICTL :中断控制指令。表示设置中断控制。 INT : 中断入口指令。表示启动一中断控制。 IRET :中断返回指令。表示中断程序结束并返回主控程序。