1 / 77

欧姆 龙 CPM 系列 PLC 指令系统学习

欧姆 龙 CPM 系列 PLC 指令系统学习. 第一部分:基本指令与应用指令. 内 容. 概 述. 基 本 指 令. 常用的应用指令. 指 令 的 分 类. 指 令 的 格 式. 执行指令对标志位的影响. 指令的微分、非微分形式. 1 概 述. 1. 指令的分类. 基本指令. 应用指令. 2. 指令的格式. 助记符 ( 指令码 ) 操作数 1 操作数 2 操作数 3. 助记符:表示指令的功能. 指令码:是指令的代码. 操作数:提供指令执行的对象或数据. ★ 关于操作数的讨论.

ted
Download Presentation

欧姆 龙 CPM 系列 PLC 指令系统学习

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 欧姆龙CPM系列PLC 指令系统学习

  2. 第一部分:基本指令与应用指令

  3. 内 容 概 述 基 本 指 令 常用的应用指令

  4. 指 令 的 分 类 指 令 的 格 式 执行指令对标志位的影响 指令的微分、非微分形式 1 概 述

  5. 1. 指令的分类 基本指令 应用指令 2. 指令的格式 助记符(指令码) 操作数1 操作数2 操作数3 助记符:表示指令的功能 指令码:是指令的代码 操作数:提供指令执行的对象或数据

  6. ★关于操作数的讨论 操作数可以是通道号、继电器号或常数。 操作数的个数,取决于各种指令的需要。 操作数设为常数时,在数据前面要加#号。 操作数采用哪种进制,取决于指令的需要。 间接寻址的操作数用*DM××××来表示。 间接寻址的操作数,是以DM××××中的数据为地址的另一个DM通道中的数据。 DM××××中 的 内容 必须是BCD码,且不得超出DM区的范围。

  7. 例如,计数器指令的格式为 CNT000 SV 000是计数器的编号 SV是操作数 若 SV = 200 表明000号计数器的设定值是200通道中的内容。 若SV= # 0200 表明000号计数器的设定值是常数200。

  8. 例如,计数器的指令格式为 CNT000 *DM1000 设DM1000的内容为0010 设DM0010的内容为2500 则 000号计数器的设定值是2500 如果设DM1000的内容为9990 如果设DM1000的内容08FA

  9. 3. 执行指令对标志位的影响 SR区的25503~25507是指令执行结果的标志位。 某些指令的执行结果影响标志位25503~25507的状态。 标志位25503 ~25507的状态表示的意义要牢记。 25503是出错标志位 25503 ON时,表示当前执行的程序出错且停止执行。

  10. 4. 指令的微分、非微分形式 微分型:要在指令的助记符前加标记@。 两种指令的区别 非微分型指令: 只要其执行条件为ON,每个扫描周期都执行该指令。 微分型指令: 仅在指令的执行条件由OFF变为ON时才执行一次。

  11. 基本指令是最常用的指令 要牢记: 指令的功能、格式、符号和代码; 指令操作数的范围; 执行各指令对标志位的影响。 2 基本指令

  12. 常 用 的 基 本 指 令 块与指令AND LD 和块或指令OR LD 置位、复位指令SET和RESET 锁存继电器指令KEEP 前/后沿微分指令DIFU 和DIFD 基本编程规则和编程方法

  13. 一、常用的基本指令 1.LD LD NOT AND AND NOT OR OR NOT OUT OUT NOT 这是些基本逻辑操作指令,必须牢记其用法。 LD —— 常开触点与母线相连的指令 AND —— 常开触点相与(串联)的指令 OR —— 常开触点相或(并联)的指令 OUT —— 将执行结果输出到某位的指令

  14. 或 与 或 00000 00001 01000 01000 输出 与 与 00002 01000 01001 00003 使用指令举例 梯形图程序 语句表程序 LD 00000 OR 01000 AND NOT 00001 OUT 01000 LD NOT 00002 OR NOT 00003 AND 01000 OUT NOT 01001

  15. KM1 SB1 00000 01000 SB2 00001 01001 PLC KM2 01000 00000 00001 KOM ~ 01000 01001 01000 使用指令举例 指出图示程序对KM1和KM2的控制作用 断电 断电 断开 闭合 没按下按钮SB1 → 触点00000断开→ 线圈00000断电→ 触点00001闭合→ KM1断电 线圈01000断电→ KM2断电 线圈01001断电→ 触点01000闭合→

  16. KM1 SB1 00000 01000 SB2 00001 01001 PLC KM2 01000 00000 00001 KOM ~ 01000 01001 01000 闭合 通电 闭合 通电 断开 线圈00000通电→ 触点00000闭合→ 按一下SB1 → 触点00001闭合→ 线圈01000通电→ KM1 通电 触点01000断开→ 线圈01001通电→ KM2通电

  17. KM1 SB1 00000 01000 SB2 00001 01001 PLC KM2 01000 00000 00001 KOM ~ 01000 01001 01000 断电 断开 断电 闭合 线圈00001通电→ 触点00001断开→ 按一下SB2 → KM1 断电 线圈01000断电→ 线圈01001断电→ KM2断电 触点01000闭合→

  18. 00000 00001 00002 与 或 01002 00003 与 或 00004 END(01) 2. END指令 程序的结尾一定要安排END指令,否则程序不执行。 使用指令举例 LD 00000 AND NOT 00001 OR NOT 00003 AND 00002 OR 00004 OUT 01002 END (01)

  19. 00000 00001 00002 00000 00002 20000 20000 3.NOP指令 NOP是空操作指令 用NOP代替AND N,可把AND语句中的触点N短接 用NOP代替OR N,可把OR 语句中的触点N断掉 将梯形图中的触点00001删掉。 使用指令举例 LD 00000 NOP(00) AND NOT 00002 OUT 20000 LD 00000 AND 00001 AND NOT 00002 OUT 20000

  20. 00000 00001 00002 00001 00002 20000 20000 00000 00002 20000 00001 00000 00002 20000 使用指令举例 将梯形图中的触点00000删掉。 NOP(00) LD 00001 AND NOT 00002 OUT 20000 使用指令举例 将梯形图中的触点00001删掉。 LD 00000 NOP(00) AND NOT 00002 OUT 20000

  21. 00000 00001 00003 00005 20000 00002 00004 00006 二、块与指令AND LD 和块或指令OR LD 1. AND LD 是将并联触点组相串联的指令 使用指令举例 方法2 LD 00000 AND 00001 OR NOT 00002 LD 00003 OR 00004 LD 00005 OR NOT 00006 AND LD AND LD OUT 20000 方法1 LD 00000 AND 00001 OR NOT 00002 LD 00003 OR 00004 AND LD LD 00005 OR NOT 00006 AND LD OUT 20000 在方法2中,AND LD之前的触点组个数应小于等于8

  22. 00000 00001 01100 00002 20005 01004 00003 2. OR LD是串联触点组相并联连接的指令 使用指令举例 方法1 LD 00000 AND NOT 00001 LD NOT 00002 AND 20005 OR LD LD 01004 AND 00003 OR LD OUT 01100 方法2 LD 00000 AND NOT 00001 LD NOT 00002 AND 20005 LD 01004 AND 00003 OR LD OR LD OUT 01100 在方法2中,OR LD之前的触点组个数应小于等于8

  23. 00000 00000 00003 20000 SET 20000 00003 RESET 20000 三、 置位指令 SET和复位指令RESET SET —— 将某继电器置为ON RESET——将某继电器置为OFF LD 00000 SET 20000 LD 00003 RESET 20000 SET、RESET指令的执行条件常为短信号(脉冲信号) SET和RESET指令可以单独使用(不一定成对使用)

  24. S 符号 格式:KEEP(11)N KEEP N R 四、 锁存继电器KEEP指令 继电器位 当S端ON时,N为ON且保持。 当R端ON时, N复位。 当S与R端同时为ON时, N复位优先。 ★当 N为保持继电器HR时,有保持功能。

  25. 置位条件 置位条件 注意! 注意! 00002 00002 00003 20000 KEEP 置位条件 复位条件 20000 00003 KEEP 指令的工作时序 LD 00002 LD 00003 KEEP (11) 20000 置位和复位条件都可以是短信号(脉冲信号)

  26. 00000 KEEP 00000 01000 00001 00001 00002 00002 KEEP 01000 HR0000 01000 HR0000 LD 00000 LD 00001 KEEP(11) 01000 LD 00002 LD 01000 KEEP(11)HR0000 使用KEEP指令举例 画出图示程序的工作时序,写出语句表。 语句表

  27. 00002 00002 00002 00003 KEEP SET 01000 01000 01000 00003 00003 RESET 01000 01000 (b) (c) (a) 00002 00003 01000 ★ 比较几个相同具有功能程序之区别 相同 都可以实现启、保、停的控制 KEEP编程需3条语句(最少) KEEP编程用HR作输出时,具有保持功能。 不同 SET和RESET编程HR作输出时,有保持功能。 SET和RESET编程时,指令间可插别的指令。

  28. 00005 00005 DIFU(13) 20000 20000 DIFD(14) HR0000 HR0000 五、微分指令DIFU 和DIFD DIFU和DIFD——上升沿微分和下降沿微分指令  LD 00005 DIFU(13) 20000 DIFD(14) HR0000 TS TS 执行条件 扫描周期 DIFU和DIFD指令的操作位只ON一个扫描周期。 开机时就ON的执行条件,DIFU指令不执行。 开机时就OFF的执行条件,DIFD指令不执行。

  29. 00000 20000 KEEP 00001 01000 00001 01000 DIFU(13) 20000 00000 20000 Ts 使用DIFU指令举例 画出图示程序的工作时序,写出语句表。 LD 00000 DIFU(13) 20000 LD 20000 LD 00001 KEEP (11) 01000 扫描周期

  30. 25313 指令 00000 00000 当00000 ON 当00000ON 01000 01000 00005 OFF 00001 OFF 01000 00005 01001 ON 01000 00001 (a) 01000 OFF (b) 六、基本编程规则和基本编程方法 1.基本编程规则 (1)每梯级都起始于左母线,线圈或指令应画在最右边 (2)必须与左母线相连的线圈或指令,可通过25313连接 (3)用OUT指令输出时,要避免双线圈输出的现象。 输出无效 双线圈输出引起逻辑混乱

  31. 3 5 2 1 2 N N 1 5 1 5 4 3 4 3 (a) (b) (4) 梯形图必须遵循从左到右、从上到下的顺序,不允 许两行之间垂直连接触点。 (5) 程序结束一定要安排END指令,否则程序不被执行 没END指令的程序,检查时显示信息“NO END INST”

  32. 00000 01000 LD 00000 OUT 01000 OUT 01001 SET 01002 01001 SET 01002 00001 20000 00000 01100 01100 00000 00001 20000 不必用OR LD 2.基本编程方法 (1) 两个或两个以上的线圈或指令可以并联输出。 (2) 触点组与单个触点并联,单个触点应放在下面。 LD 00000 LD 00001 AND NOT 20000 OR LD OUT 01100 LD 00001 AND NOT 20000 OR 00000 OUT 01100

  33. 00000 01100 01100 00001 00001 20000 20000 00000 不必用OR LD (2) 触点组与单个触点并联,单个触点应放在下面。 LD 00000 LD 00001 AND NOT 20000 OR LD OUT 01100 LD 00001 AND NOT 20000 OR 00000 OUT 01100

  34. 00002 00000 00006 00001 00006 00001 00002 00000 01001 01001 20000 20000 不必用AND LD (3)并联触点组与几个触点串联时,并联触点组应放 在最左边。 LD 00002 AND 00000 LD 00006 AND 00001 OR 20000 AND LD OUT 01001 LD 00006 AND 00001 OR 20000 AND 00002 AND 00000 OUT 01001

  35. 25315 KEEP 01000 00001 (4)如果一条指令只需在PLC上电之初执行一次,可以 用25315作为其执行条件。 PLC上电后的第一个扫描周期,01000被置为ON。 此后,如果00001 ON使01000复位,则在PLC本次上电期间,01000不会再被置位(即KEEP不再执行)。

  36. 1 2 3 1 2 3 N N 4 5 6 1 4 5 6 7 8 1 4 5 7 8 1 2 1 N1 N1 2 N2 N2 (5) 结构复杂的梯形图程序,重新安排顺序后,可方便编写语句表。 (6)当某梯级有两个分支时,若其中一条分支从分支 点到输出线圈之间无触点,该分支应放在上方。 (7)尽量使用那些操作数少、执行时间短的指令编程。

  37. 基本指令小结 1. 本节介绍的全部指令都要牢记其格式、梯形 图、操作数范围及功能。 2. 学会将梯形图程序转换为语句表的方法。 3. 学会用工作时序图描述程序执行过程的方法。 4. 牢记基本编程规则和基本编程方法。

  38. 3 常用的应用指令

  39. 分支和分支结束指令 暂存继电器 跳转和跳转结束指令 定时器/计数器指令

  40. 一、 分支和分支结束指令IL/ILC IL (02) /ILC (03) —— 用于控制程序流向的指令 IL/ILC的用法 1. 不论IL的输入条件是ON还是OFF, CPU都要对 IL/ILC之间的程序段进行扫描。 2. 只有当IL的执行条件为ON时,IL和ILC之间的程序 执行(否则不执行)。此时IL和ILC间各器件的状态为: 所有OUT指令的输出位为OFF;所有定时器都复位; KEEP指令的操作位、计数器、移位寄存器以及SET和RESET指令的操作位保持执行条件为OFF以前的状态。

  41. 00000 00001 00000 IL(02) IL(02) 01000 A 00001 01000 00002 00003 01001 00002 00003 01001 ILC(03) ILC(03) 00004 00004 01002 01002 3. IL和ILC指令可以成对使用,也可以多个IL指令 配一个ILC指令,但不准嵌套使用。 嵌套使用:IL-IL-ILC-ILC LD 00000 IL (02) LD 00001 OUT 01000 LD 00002 AND NOT 00003 OUT 01001 ILC (03) LD 00004 OUT 01002 当00000为ON时,IL(02)与ILC之(03)间的程序执行: 01000和01001 的状态,取决于A右侧各触点的状态。

  42. 00000 IL(02) 00001 00000 IL(02) 00001 01000 01000 00002 00002 00003 IL(02) IL(02) 01001 00003 01001 00004 00004 01002 01002 ILC(03) ILC(03) 00005 00005 01003 01003 功能相同 连续分支的例子 LD 00000 IL (02) LD 00001 OUT 01000 LD 00002 IL (02) LD 00003 OUT 01001 LD 00004 OUT 01002 ILC (03) LD 00005 OUT 01003

  43. 二、 暂存继电器TR 暂存继电器编号TR0~TR7 暂存继电器用于暂时存储指令执行的结果。 对暂存继电器作如下说明: 1. 在同一分支程序段中,TR号不能重复使用。 2. TR不是编程指令,要与其他指令配合使用。 用暂存继电器也可以处理梯形图的分支。

  44. 00000 00001 TR0 01000 00002 01001 使用暂存继电器举例 LD 00000 OUT TR0 AND 00001 OUT 01000 LD TR0 AND 00002 OUT 01001 LD 00000 IL(02) LD 00001 OUT 01000 LD 00002 OUT 01001 ILC(03) 用TR处理分支 用IL/ILC处理分支 两种处理分支方法的区别 用 TR 时:用AND指令连接下一个分支的触点 用IL/ILC时:用LD指令连接下一个分支的触点 在分支多时,用TR处理分支程序要烦琐一些。

  45. 三、 跳转和跳转结束指令JMP/JME JMP (04) /JME (05) ——控制程序执行流向 JMP /JME的用法 • 发生跳转时,JMP N和JME N之间的程序不执行,且不占用扫描时间。 (2) 发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变。 (3) 同一个跳转号N只能在程序中使用一次。但当N取00时,JMP 00/JME 00可以在程序中多次使用。

  46. 00000 JMP(04) 00 00001 01000 00002 01100 JME (05) 00 00003 01004 4. 以00作为跳转号时,比其他跳转号的执行时间长。 5. 不同跳转号时可以嵌套使用。 例如: JMP 00-JMP 01-JME 01-JME 00 使用跳转指令举例  LD 00000 JMP (04) 00 LD 00001 OUT 01000 AND 00002 OUT 01100 JME (05) 00 LD 00003 OUT 01004 当00000为ON时,IL与ILC之间的程序执行。 01000和01100 的状态,取决于其输入条件的状态。

  47. 00000 JMP(04) 00 程序 A 00001 JMP(04) 00 程序 B JME(05) 00 程序 C 6. 多个JMP 可以共用一个JME 00000 OFF、00001 OFF时: 只执行程序C 00000 ON、00001 OFF时: 执行程序A→程序C 00000 ON、00001 ON时: 执行程序A→程序B →程序C

  48. 00000 JMP(04) 00 手动程序 JME(05) 00 00000 JMP(04) 01 自动程序 JME(05) 01 JMP /JME 指令的用途举例 00000 对应一操作开关 当00000 为ON时 执行手动操作程序 当00000 为OFF时 执行自动操作程序 用一个开关,实现对系统自动和手动操作的控制。

  49. IL/ILC与JMP /JME 指令的共性 它们都具有控制程序执行流向的作用。 IL/ILC与JMP /JME 指令的区别 1. 对IL/ILC与JMP /JME 指令之间的程序段: 不论IL的执行条件OFF还是ON, CPU都对IL 和ILC之间的程序段扫描。 当发生跳转时,JMP N和JME N之间的程序不 执行,且CPU不对其扫描。

  50. 2. 当IL和JMP 的执行条件不满足时: 对IL/ILC之间的程序段: 所有OUT指令的输出位为OFF;所有定时器都复位; KEEP指令的操作位、计数器、移位寄存器以及SET和RESET指令的操作位,都保持IL为OFF以前的状态。 对JMP/JME之间的程序段: 发生跳转时所有继电器、定时器、计数器 均保持跳转前的状态不变。

More Related