当前位置:首页 >> 电力/水利 >>

欧姆龙-PLC指令系统及编程_图文


电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.1 概述 6.2 基本编程指令 6.3 保持、微分指令 6.4 顺序控制和暂存指令 6.5 定时器和计数器应用指令 6.6 数据比较类应用指令 6.7 数据转换类应用指令 6.8 数据移位类应用指令 6.9 数据传送类应用指令 6.10 数据运算类应用指令

6.11 子程序和中断控制类 应用指令 6.12 高速计数器应用指令 6.13 其他特殊应用指令 6.14 特殊运算指令 6.15 通信指令 6.16 典型应用举例

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.1 概述
CPM1A共有:
基本指令14条,应用指令79条(有功能号)。 指令执行的典型时间是: 基本指令:LD指令的执行时间为0.64 μs。 应用指令:MOV指令:16.3 μs。 PLC编程可以以梯形图形式出现,也可以用指令 形式表示,两者可以相互转化。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

助记符指令的一般格式为: 指令码 操作数1 操作数 操作数2 操作数3


指令码

电气控制与PLC 【例1】 某指令 ADD(30)

第六章

欧姆龙PLC指令系统及编程

#1270
*DM0101

DM0123
由指令码可知,该指令为一条BCD码加法运算指令。指令

的三个操作数分别为参加运算的加数、被加数和结果。其中加
数为立即数操作数1270。被加数为间接寻址操作数,程序在 DM0101通道中取出操作数的实际地址。运算结果为直接寻址操 作数,即把和数送至DM0123通道。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

小于标志LE(25507),执行比较指令时,如果第一操作数小于 第二操作数,该位置ON。 等于标志EQ(25506),执行比较指令时两操作数相等,或执行 运算指令时运算结果等于0,该位置ON。 大于标志GR(25505),执行比较指令时,如果第一操作数大于 第二操作数,该位置ON。 进位标志CY(25504),执行运算指令时,如果结果最高位向上

有进位或借位,该位置ON。
出错标志ER(25503),执行指令出错时该位置ON。典型的执行 错误有操作数地址错、控制字无定义等。出错标志为ON时,指令 将停止执行。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.2基本编程指令

基本编程指令主要包括与、或、非、输 出、复位、置位等逻辑指令。
另外,普通定时器和计数器指令也没有 功能号,也归为基本指令。 共14条。 所有无功能号的指令称为基本编程指令。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC 1 LD和LD NOT 指令

第六章

欧姆龙PLC指令系统及编程

格式: LD LD NOT N N

其中的操作数N为位,即LD和LD NOT指令只能以位为单位进 行操作。这里的N可以是IR、SR、AR、HR、LR、TR或TC。 功能:装入指令。用来表示一个逻辑运算的开始,它们的执 行不会影响标志位。

LD 表示 N 的常开触点与左端母线相连。 LD NOT 表示 N 的常闭 触点与左端母线相连。
说明:LD和LD NOT指令的执行不会影响标志位。

电气控制与PLC 2 OUT和OUT NOT指令

第六章

欧姆龙PLC指令系统及编程

格式: OUT OUT NOT N N

其中的操作数 N 也是位,它可以是 IR 、 SR 、 AR 、 LR 、 TR 或 HR 。 功能:输出指令。用来表示一个运算结果。 OUT 指令将运算结果输出到 N 。 OUT NOT 指令将运算结果取反 后输出到N。 说明:OUT 和OUT NOT指令也只能以位为单位进行操作。 它们的执行不会影响标志位。在程序中不同的线圈可以同条 件并联输出。

电气控制与PLC 【例1】
0 00 00

第六章

欧姆龙PLC指令系统及编程

OUT和OUT NOT等指令的应用, 指令的程序如下:
0 10 00

LD OUT OUT NOT

00000 01000 01001 00002

0 10 01 0 00 01 0 10 02

LD NOT

OUT

01002

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

3 AND和AND NOT指令 格式: AND N AND NOT N 其中的操作数N也是位,它可以是IR、SR、AR、LR、HR或TC。 功能:逻辑与运算指令。

AND表示N与前面的逻辑结果进行与运算。即N的常开触点与前 面的逻辑串联。 AND NOT 表示 N 取非并与前面的逻辑结果进行 与运算。即N的常闭触点与前面的逻辑串联。
说明:AND和AND NOT指令只能以位为单位进行操作。它们 的执行不会影响标志位。在程序中逻辑与运算的串联触点个 数是没有限制的。

电气控制与PLC 【例2】

第六章

欧姆龙PLC指令系统及编程

AND和AND NOT指令的应用。
00001 00002 00003 01001

指令的程序如下: LD AND 00001 00002

AND NOT
OUT

00003
01000

电气控制与PLC 4 OR和OR NOT指令

第六章

欧姆龙PLC指令系统及编程

格式: OR OR NOT N N

其中的操作数N也是位,它可以是IR、SR、AR、LR、HR或TC。 功能:逻辑或运算指令。 OR表示N与前面的逻辑结果进行或运算。即N的常开触点与前 面的逻辑并联。OR NOT表示N 取非并与前面的逻辑结果进行 或运算。即N的常闭触点与前面的逻辑并联。 说明:OR和OR NOT指令只能以位为单位进行操作。它们 的执行不会影响标志位。在程序中逻辑或运算的并联触点个 数是没有限制的。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 OR和OR NOT等指定的应用程序段为:

LD OR OR NOT OUT

00000 00001 00002 01001

这段程序表示的运算逻辑为:当三个输入条件00000为ON 或00001为ON,或00002为OFF中有一个被满足时,输出 01001就会被置ON。

电气控制与PLC 5

第六章

欧姆龙PLC指令系统及编程

AND LD和OR LD指令

格式:

AND LD
OR LD 功能:触点组操作指令。 AND LD 指令表示对触点组进行逻辑与运算。 OR LD 指令表示 对触点组进行逻辑或运算。 说明:AND LD指令和OR LD指令不需要任何操作数,只表 明触点组之间的逻辑运算关系。使用这两条指令有两种方法: 分置法和后置法。两种方法可以得到相同的运算结果,但使 用分置法时触点组数是没有限制的,而采用后置法时触点组 数不能超过8

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 设有梯形图为图 (a)、(b)所示的两个逻辑运算。 将该运算用AND LD和OR LD指令完成,有两种方法实 现助记符程序段,分别如下:
0 00 00 0 00 00 0 00 03 0 00 01 0 00 04 0 00 02 0 10 01 0 00 05 0 00 02 0 10 01 0 00 03 0 00 05 0 00 04 0 00 06

(a)

(b)

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

① 图(a)逻辑分置法实现程序段: LD OR LD OR 00000 00003 00001 00004

AND LD
LD NOT OR NOT AND LD OUT 01001 00002 00005

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

② 图(a)逻辑后置法实现程序段: LD OR LD OR 00000 00003 00001 00004

LD NOT
OR NOT AND LD AND LD OUT

00002
00005

01001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

③ 图(b)逻辑分置法实现程序段: LD 00000

AND
LD AND NOT OR LD LD NOT

00002
00003 00004

00005

AND NOT
OR LD OUT

00006

01001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

④ 图(b)逻辑后置法实现程序段: LD AND LD AND NOT LD NOT AND NOT 00000 00002 00003 00004 00005 00006

OR LD
OR LD OUT 01001

电气控制与PLC 6 SET和RESET指令 格式:

第六章

欧姆龙PLC指令系统及编程

SET
RESET

N
N

其中的操作数N也是位,它可以是IR、SR、AR、LR或HR。 功能:置位和复位指令。 用来完成直接对位的置位或复位操作。当SET指令的执行 条件满足时置N为ON。当RESET指令的条件满足时置N 为OFF。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例5】 在00000和00002的状态变化已知的条件下, 下面程序段执行的结果如图4.2.4所示。 LD SET LD 00000 20000 00002

RESET
0 00 00 SET 2 0 00 0 0 00 02 RESET 20 00 0

20000

0 00 00 0 00 02 2 00 00

(a)

(b)

电气控制与PLC 7、编 程 规 则

第六章

欧姆龙PLC指令系统及编程

在编制梯形图或助记符程序时,应注意遵循以 下编程规则: (1) 每一个内部继电器的触点在程序中可以无 限次重复使用,但其线圈在同一程序中一般只 能使用一次。同一继电器的多线圈使用会引起 逻辑上的混乱,应尽量避免。 (2) 梯形图信号流向只能自左向右,垂直分支 上不可以有任何触点。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】

梯形图的编制举例。

在下图的梯形图例中,
图(a)为不规范的梯形图, 图(b)为规范的梯形图。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 04 0 00 01 0 00 02 0 10 00 0 00 03 0 00 01 0 00 04 0 00 05 0 10 01

0 00 03

0 00 02 0 10 00

0 00 01

0 00 03

0 00 05 0 10 01

0 00 04

(a)

(b)

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

(3) 继电器的线圈应该放在每一运算逻辑的最 右端,在线圈右端不能再有任何触点。线圈不 可以与左端母线直接相连,如果逻辑上有这种 需要时也要通过一合适的常闭触点来实现。

【例2】 下图所示逻辑应用了特殊继电器中的 常ON触点来实现上电后一直执行的操作。

2 53 13 0 10 01

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

(4) 编程时对于复杂逻辑关系的程序段, 可按照先难后易的基本原则实现。

当有几个串联支路相并联时,可按先串 后并的原则将触点多的支路放在梯形图的 最上端。
当有几个并联支路相串联时,可按先并后 串的原则将触点多的支路放在梯形图的最 左端。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】

梯形图等效变换图例如图所示。

0 00 01 0 10 01 0 00 02 0 00 03

0 00 02

0 00 03 0 10 01

0 00 01

(a) 0 00 01 0 00 02 0 10 01 0 00 03 (b) 0 00 03 0 00 02 0 00 01 0 10 01

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

图(a)等效变换前程序段 LD LD 00001 00002

图(a)等效变换后程序段 LD AND 00002 00003

AND
OR LD

00003

OR
OUT

00001
01001

OUT 01001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

图(b) 等效变换前程序段 LD LD OR 00001 00002 00003

图(b) 等效变换后程序段 LD OR AND 00002 00003 00001

AND LD
OUT 01001

OUT

01001

电气控制与PLC 8 TIM指令 格式: TIM

第六章 N SV

欧姆龙PLC指令系统及编程

其中: 操作数 N 为定时器 TC 号,取值范围为十进制数 000 ~ 127 。 操作数SV为定时器的设定值,由4位BCD码组成,可以 是 IR 、 SR 、 HR 、 AR 、 LR 、 DM 、 *DM 、 # ,取值范围 0000~9999。 功能:定时器指令。TIM是最小单位为0.1秒的减一计数器, 故定时范围为0~999.9秒。当输入条件为ON时,TIM开始 记时。记时操作为每0.1秒当前值PV减一。当PV等于0时, 定时到,TIM状态置ON。当输入条件为OFF或电源掉电 时,TIM被复位。复位后状态置OFF,送SV为新的PV值。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 TIM指令应用图例之一如图所示。 图中的定时器TIM000的定时时间为60秒,即当00000 为 ON 时, TIM 开时记时。 60 秒以后定时器定时到,程 序段中的01000为ON。相应的梯形图程序如下: LD TIM 00000 000 #0600 LD TIM000
TIM 0 00 0 10 00 0 00 00 TIM 0 00 # 06 00

OUT 01000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

9 计数器CNT指令 格式: CP条件 R条件 CNT N SV 其中: 操作数 N 为计数器 TC 号,取值范围为十进制数 000 ~ 127。 操作数SV为计数器的设定值,由4位BCD码组成,可以 是 IR 、 SR 、 HR 、 AR 、 LR 、 DM 、 *DM 、 # ,取值范围 0000~9999。 CNT在程序中有两个输入条件,故在格式中专门列出。 在这里CP为计数脉冲输入端。R为复位端。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:计数器指令。减一计数器。当R为OFF时 计数器为计数状态。计数时,CP每次由OFF变为 ON计数一次。计数操作由PV值减一完成。当PV 值减到0时计数到,计数器输出状态置ON。当R 为ON时计数器为复位状态,复位后计数器输出 状态置OFF,PV被重新置入SV值。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 ONT指令的应用。CNT指令的程序段如下: LD 00000
0 00 00 0 00 01 CNT 1 27 # 00 5 0

LD

00001

CNT 127 #0050 LD CNT127

CNT 12 7 0 10 01

OUT 01001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.3

保持指令、微分指令、空操作和结束指令

电气控制与PLC KEEP指令 格式: 条件S 条件R KEEP(11) N

第六章

欧姆龙PLC指令系统及编程

其中的操作数N也是位,它可以是IR、SR、AR、LR或HR。
功能:锁存指令。KEEP相当于一个软件保持器。它前面要有

两个条件,故在格式中专门列出。条件S为保持器的置位输入。条
件R为保持器的复位输入。即:当条件S满足,操作数N置ON并保 持;当条件R满足,则操作数N置OFF。特别地,当 S和R同时满足 时,按复位优先的运算,操作数N置OFF。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例6】 KEEP指令的应用。KEEP指令的程序段如下:

LD
LD KEEP(11)

00001
00002 01000

与程序段对应的梯形图例及其相应波形如图4.2.5所示。例中 的置位输入为00001,复位输入为00002,显然利用KEEP指令可 以代替相应的自锁运算逻辑。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 01 0 00 02

S R

0 10 01

0 00 01 0 00 02 0 10 01

(a)

(b)

图4.2.5 KEEP指令应用梯形图例及相应的波形

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

DIFU(13)和DIFD(14)指令
格式:

DIFU(13)
DIFD(14)

N
N

其中的操作数N也是位,它可以是IR、SR、AR、LR或HR。
功能:微分指令。

DIFU为上升沿微分指令,当执行条件上升沿时使操作数N有
一个扫描周期的ON。 DIFD为下降沿微分指令,当执行条件下降沿时使操作数N有 一个扫描周期的ON。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例7】 DIFU和DIFD指令的应用。DIFU和DIFD指令的程

序段如下:
LD 00001

DIFU(13)
DIFD(14)

20001
20002

与程序段的对应的梯形图例及其相应波形如图4.2.6所示。 其中微分指令的输出脉冲宽度为一个扫描周期。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 01 DIFU 2 00 01 DIFD 2 00 02 0 00 01 2 00 01 2 00 02 (a) (b)

图4.2.6 DIFU(13)和DIFD(14)指令应用梯形图例及相应的波形

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

NOP(00)指令
格式:
NOP(00)

功能:空操作指令。不做任何操作,可用于程序调试时
的指令暂时删除或程序执行时间微调等特殊用途。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

END(01)指令
格式: END(01) 功能:结束指令。表示程序的结束。每一程序的最后一条 指令必须是END指令。没有END指令的程序不能被执行并会显 示相应的出错信息。END指令以后的程序段将不会被执行。 说 明:执行END指令时标志位ER、CY、GR、EQ和LE将 被置OFF。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.4 顺序控制和暂存指令
6.4.1 IL和ILC指令
格式: IL(02)

ILC(03)
功能:互锁和互锁解除指令。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

IL定义互锁程序段的开始,IL指令的条件就是互锁的条件。 ILC定义互锁程序段的结束。当IL前的逻辑条件为ON时,位于

IL和ILC指令之间的互锁程序段照常运行。当IL前的逻辑条件为
OFF时,互锁程序段将不被执行。此时该程序中的各个输出的状

态为:所有的输出线圈置为OFF,所有的定时器被复位,所有的
计数器、保持继电器和移位寄存器保持当前状态不变。 说明:IL和ILC指令应成对使用,否则在检查程序时会得到 出错信息。但该错误并不影响程序的执行。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

[例1】 IL和ILC指令的应用。 有互锁程序段如图4.4.1(a)所示,无互锁程序段如图4.4.1(b) 所示。 当互锁条件00001为OFF时,无论其他条件如何变化,程序 段中的所有输出均保持OFF不变。从逻辑运算上看图(a)和图(b) 具有完全相同的功能。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 01 IL(0 2) 0 00 02 0 10 01 0 00 03 0 00 04 0 10 01 0 00 03 0 00 04 0 10 01 0 00 01 0 00 02 0 10 01

ILC(03 )

(a)

(b)

图4.4.1 IL和ILC指令应用例梯形图

电气控制与PLC 6.4.2 TR指令

第六章

欧姆龙PLC指令系统及编程

功能:TR被称为暂存继电器。与LD和OUT指令配合,TR可 以用来暂存程序运行的中间结果。利用TR可以方便编程。在程 序中可以使用的TR共有8个,分别编号为TR0到TR7。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 TR指令的应用。TR指令的程序段如下:
LD OUT AND 00000 TR0 00001

OUT
LD AND

01000
TR0 00002

OUT
AND OUT

TR1
00003 01001

LD
AND OUT

TR1
00004 01002

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 00 0 00 01 TR0 0 00 02 0 00 03 TR1 0 00 04

0 10 00

0 10 01

0 10 02

图4.4.2 TR指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.4.3 JMP和JME
格式: JMP(04) JME(05) N N

N为跳转号,可以是00~49之间任何十进制数字。

功能:跳转和跳转结束指令。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

当JMP指令前的执行条件为OFF时,CPU将跳过JMP和JME
指令之间的程序段,直接执行其后面的程序内容。当JMP指令前

的执行条件为ON时,则不进行跳转,如同没有跳转指令时一样
执行。

JMP、JME指令和互锁程序的最大不同是,当发生跳转时,
JMP和JME指令之间程序段中的所有输出、保持器、定时器和计 数器状态都会保持不变。且被跳转的程序段不再占用扫描时间。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 JMP和JME指令应用图例如图4.4.3所示。
0 00 00 JEP(04 ) 00

程序段A

JME(0 5) 00

图4.4.3 JMP和JME指令应用例梯形图

电气控制与PLC
0 00 01

第六章

欧姆龙PLC指令系统及编程

JEP(04 ) 00 程序段A 0 00 02 JEP(04 ) 01 程序段B JME(0 5) 01 程序段C JME(0 5) 00

4.4.4 JMP指令嵌套应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.5 定时器和计数器应用指令

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.5.2 TIMH指令
格式: TIMH(15) N SV 其中: 操作数N和SV的定义和取值范围与TIM指令相同。 功能:高速定时器指令。最小定时单位为0.01秒。定时范 围为0~99.99秒。其应用和使用方法与TIM指令相同。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.5.4 CNTR指令
格式: ACP条件 SCP条件 R条件 CNTR(12) N SV

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

其中:
操作数N为计数器TC号,取值范围为十进制数000~ 225(CPM/A为000~127)。操作数SV为计数器的设定值,由4位 BCD码组成,可以是IR、SR、HR、AR、LR、DM、*DM、#,取 值范围0000~9999。 CNTR在程序中有三个输入条件。ACP为加计数脉冲输入端。 SCP为减计数脉冲输入端。R为复位端。

功能:可逆循环计数器指令。当R为OFF时,为计数状态。计 数时每当ACP由OFF变为ON时,PV值做一次加法运算。每当SCP 由OFF变为ON时,PV值做一次减法运算。当PV值加到等于SV后 再有加一脉冲,CNTR的状态置ON,PV值变为0。当PV值减到0再 有减一脉冲,CNTR的状态置ON,PV值被置入SV值。当R为ON时 为复位状态。复位时CNTR状态为OFF,ACP和SCP脉冲不起作用。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 CNTR指令的应用。CNTR指令的程序段如下: LD LD LD 00000 00001 00002

CNTR(12)

126
#0100

LD
OUT

CNT126
01000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

由程序可知可逆计数器CNTR126的SV=100,在加一运 算时,当加到PV=SV,再加一,PV=0,CNTR为ON。若再加

一,PV=1,CNTR为OFF。在减一运算时,当减到PV=0,再
减一,PV=SV,CNTR为ON。若再减一,PV=SV-1,CNTR

为OFF。与程序段对应的梯形图例及其相应的工作时序波形
如图4.5.4所示。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 00 0 00 01 0 00 02

ACP SCP R CNTR (1 2 ) 1 26 # 01 00 OFF PV=9 9 1 00 0 ON 0 10 00 (a) OFF (b) 1 2

0 00 02 0 00 00 0 00 01 PV=1 0 1 00 9 9 98 CNTR 1 2 6

CNTR 1 26

图4.5.4 CNTR指令应用例梯形图及工作时序波形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.5.4 定时器和计数器的扩展

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.6 数据比较类应用指令
6.6.1 CMP和CMPL指令
格式: CMP(20) C1 C2

CMPL(60)
C1 C2

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数C1为比较数1,操作数C2为比较数2。 CMP的两个比较数可以是IR、SR、AR、LR、HR、TC、DM、 *DM、#。 CMPL的两个比较数可以是IR、SR、AR、LR、HR、TC、 DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:CMP为单字比较指令,完成C1和C2 两个字的比较。 CMPL为双字比较指令,完成C1与C1+1组成的双字和C2与

C2+1组成的双字的比较。
当指令前的执行条件为ON时执行比较操作,比较操作的

结果送SR中的标志位。
若C1>C2,大于标志位(LG)25505置ON。 若C1=C2,等于标志位(EQ)25506置ON。 若C1>C2,小于标志位(LE)25507置ON。

SR中的比较结果,可以用做其他运算的条件。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 CMP指令的应用。CMP指令的程序段如下: LD 00000 CMP(20) HR10 #0100 LD 00000 AND 25505 OUT 01000

LD AND OUT LD AND OUT

00000 25506 01001 00000 25507 01002

电气控制与PLC
0 00 00

第六章

欧姆龙PLC指令系统及编程

CMP (2 0) HR1 0 # 01 00 0 00 00 2 55 05 0 10 00 0 00 00 2 55 06 0 10 01 0 00 00 2 55 07 0 10 02

图4.6.1 CMP指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.6.2 BCMP指令
格式: BCMP(68) CD CB R @BCMP(68) CD CB R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数CD为比较数据,它可以是IR、SR、AR、LR、HR、 TC、DM、*DM、#。 操作数CB为比较数据块起始通道,它可以是IR、SR、AR、 LR、HR、TC、DM、*DM。 操作数R为比较结果通道,它可以是IR、SR、AR、LR、 HR、TC、DM、*DM。 功能:块比较指令。用数据CD和CB开始的16个上下限数 据进行比较,比较结果送R通道。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表6.6.1 CB通道与R位的对应关系
?

序号 1

上限 CB

下限 CB+1

R中的对应位 第0位

2
3 16

CB+2
CB+4 CB+30

CB+3
CB+5 CB+31

第1位
第2位 第15位

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 设以下数据存储区中的数据值为:
DM0005=0000 DM0006=0100 DM0007=0101

DM0008=0200
DM0009=0201 DM0010=0300 DM0036=1600 …

电气控制与PLC 执行下边程序段: LD BCMP(68)

第六章

欧姆龙PLC指令系统及编程

20000

#0210 DM0005

HR05
当20000为ON时进行块比较操作。由于比较数据等于210,介于

201和300之间,因此,比较操作的结果是将HR05通道的第二位
即HR0502置ON。 配合相应的硬件设备,BCMP指令可以用来实现运动部件的 位置控制。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.6.3 TCMP指令
格式: TCMP(85) CD CB R @TCMP(85) CD CB R

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

其中:
操作数CD为比较数据,它可以是IR、SR、AR、LR、HR、

TC、DM、*DM、#。
操作数CB为比较数据表起始通道,它可以是IR、SR、AR、 LR、HR、TC、DM、*DM。 操作数R为比较结果通道,它可以是IR、SR、AR、LR、HR、 TC、DM、*DM。

功能:表比较指令。当指令的执行条件满足时,将数据CD与
从TB开始的16个通道分别进行比较。若CD与其中的某一通道数 据相等,则置R中的相应位为ON。TCMP指令在程序中可以用来 查询某一指定数据。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 设由HR00到HR15的16个通道中只有HR06和HR07

等于100,则表比较指令执行后,01006和01007为ON。
LD @TCMP(85) #0100 HR00 00000

010

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.6.4 ZCP和ZCPL指令
格式: ZCP的指令格式: ZCP(--) CD LL UL

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数CD为比较字,它可以是IR、SR、AR、LR、HR、TC、 DM、#。 操作数LL为数据范围下限,它可以是IR、SR、AR、LR、

HR、TC、DM、#。
操作数UL为数据范围上限,它可以是IR、SR、AR、LR、

HR、TC、DM、#。
LL≤UL。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

ZCPL指令格式:
ZCPL(--) CD LL UL 其中:

操作数CD为比较字,它可以是IR、SR、AR、LR、HR、 TC、DM。
操作数LL为数据范围下限,它可以是IR、SR、AR、LR、 HR、TC、DM。 操作数UL为数据范围上限,它可以是IR、SR、AR、LR、 HR、TC、DM。

LL≤UL。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:ZCP是数据区域范围比较指令;ZCPL是双字数据区 域范围比较指令。

数据区域范围比较时用CD和由LL和UL指定的数据区域进
行比较,根据比较结果置相应的标志位:若CD<LL,则置LE为

ON;若LL≤CD≤UL,则置EQ为ON;若UL<CD,则置GR为ON。
双字数据区域范围比较时参加比较的数据为CD和CD+1组

成的8位二进制数,数据区域范围的上、下限分别由UL、UL+1
和LL、LL+1两个8位二进制数指定。输出结果送相应的标志位。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 设有以下程序段: LD 00001

ZCP(--)
200

#0100
#8F00 在执行程序段条件满足时,可以根据标志位的结果知道 IR200中的数据是否在指定区域范围内(0100~8F00),或者是否

大于或小于指定的数据区域范围。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7 数据转换类应用指令
6.7.1 BIN和BCD指令 格式: BIN(23) S R @BIN(23) S R

BCD(24)
S

@BCD(24)
S

R

R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,操作数R为目的通道。S和R可以是IR、 SR、AR、LR、HR、TC、DM、*DM。 功能:BIN为BCD码到二进制码的转换指令;BCD为二进制 码到BCD码的转换指令。当执行条件满足时,将S中的数据完成 所需转换并将结果送R。S中的内容不变。 说明:当转换结果等于0000时,系统置相等标志25506为ON。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 设指令执行前210通道中有数据000F。当下面的

BCD指令执行后,211通道被赋值0016,210通道中数据000F
不变。

LD
BCD(24)

00005

210
211

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7.2 MLPX和DMPX指令
格式: MLPX(76) @ MLPX(76)

S
C R

S
C R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,它可以是IR、SR、AR、LR、HR、TC、 DM、*DM。 操作数C为控制字,它可以是IR、SR、AR、LR、HR、TC、 DM、*DM。

操作数R为目的通道,它可以是IR、SR、AR、LR、HR、 TC、DM、*DM。
DMPX(77) S C @ DMPX(77) S C

R

R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,它可以是IR、SR、AR、LR、HR、TC、

DM、*DM。
操作数C为控制字,它可以是IR、SR、AR、LR、HR、TC、 DM、*DM。 操作数R为目的通道,它可以是IR、SR、AR、LR、HR、 TC、DM、*DM、#。

功能:MLPX是十六进制数的译码指令。它可以按照C的规
定把S中最多4位十六进制数译为十进制数,根据十进制结果将由 R指定的目的通道中的对应位置为ON,而S中的内容不变。第1 位数字结果影响R,第2位数字结果影响R+1,依次类推直至D+3。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

C 第3位 第2位 第1位 第0位 0 0 指定S中要译码的第一个 数字所在的位(0~3 ) 指定S中要译码的位数(0~3 ) (0 : 1 位, 1 : 2 位, 2 : 3 位, 3 : 4 位) 固定为0

图4.7.1 MLPX指令控制字定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

C 第3位 第2位 第1位 第0位 0 0 指定R中接收编码结果的第 一个数据位(0~3 ) 指定被编码的源通道数(0~3 ) (0 : 1 位, 1 : 2 位, 2 : 3 位, 3 : 4 位) 固定为0

图4.7.2 DMPX指令控制字定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 设在内部通道中有数据 200=0090 201=0001 202=0000 则当00000为ON时执行下面的十六进制编码操作指令后,编码 的结果是通道202中的数据变为0400,即20209被置为ON。 LD MLPX(76) 200 201 00000

202

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7.3 ASC和SDEC指令
格式: ASC(86) @ASC(86)

S
C R SDEC(78) S C R

S
C R @ SDEC(78) S C R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,它可以是IR、SR、AR、LR、HR、TC、

DM、*DM。
操作数C为控制字,它可以是IR、SR、AR、LR、HR、TC、 DM、*DM、#。 操作数R为目的开始通道,它可以是IR、SR、AR、LR、HR、 DM、*DM。

功能:ASC为ASCII码转换指令,一次可以将S中的最多4位
十六进制数转换成ASCII码。转换的结果存入以R开始的目的通

道中。

电气控制与PLC
C

第六章

欧姆龙PLC指令系统及编程

第3位第2位第1位 第0位 指定S中第一个被转换数据 所在的位 (0~3 ) 指定S中被转换数据的位数 (0~3 ) (0 :1 位,1 :2 位,2 :3 位,3 :4 位) 指定从R高8位/低 8位开始接收第一 个转换结果 0 : 低8位 ,1 : 高8位 指定校验方法 (0 ~2 ) (0 : 无 ,1 : 奇校验, 2 : 偶校验)

图4.7.3为ASC指令控制字C的定义。

电气控制与PLC
C

第六章

欧姆龙PLC指令系统及编程

第3位 第2位 第1位 第0位 0 指定S中第一个被译码数字 所在的位(0~3 ) 指定S 中被译码数字的位数(0~3 ) (0 : 1 位, 1 : 2 位, 2 : 3位 , 3:4 位) 指定从R高8位/ 低8位开始接收第一个 转换结果 (0 :低8位 1 :高8位) 固定为0

图4.7.4 SDEC 指令控制字定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 设有如下的ASC指令: LD ASC (86) 009 00001

#2010
HR00 设有数据009=0013,则在ASC指令的执行条件00001满足 时,执行ASCII码转换,按照C的规定,转换的结果是 HR00=31B3。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7.4 HEX指令
格式: HEX(--) S C D @HEX(--) S C D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源开始通道,它可以是IR、SR、AR、LR、HR、 TC、DM、#。 操作数C为控制字,它可以是IR、SR、AR、LR、HR、TC、 DM、#。

操作数D为目的开始通道,它可以是IR、SR、AR、LR、 HR、DM。
C由4位十六进制数组成。其中第0位指定D中的第一位数据 所在的位置(0~3);第1位指定要转换的字节数(0:1个字节;1: 2个字节;2:3个字节;3:4个字节);第2位指定S中的开始字节 (0:低字节;1:高字节);第3位指定校验方式(0:无;1:偶校 验;2:奇校验)。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:ASCII码到十六进制转换指令。执行条件满足时,

把S开始的指定字节的ASCII码转换为相应的十六进制数送入D
开始的目的通道中。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7.5 SCL、SCL2和SCL3指令
格式: SCL(66) S1 Pi @SCL(66) S1 Pi

R
SCL2(--) S2 Pj R SCL3(--) S2

R
@SCL2(--) S2 Pj R @SCL3(--) S2

Pj
R

Pj
R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S1、S2为源通道,S1可以是IR、SR、AR、LR、HR、
TC、DM、#;S2可以是IR、SR、AR、LR、HR、DM。

操作数Pi、Pj为第一参数通道,Pi可以是IR、SR、AR、LR、
HR、TC、DM;Pj可以是IR、SR、AR、LR、HR、DM。

操作数R为结果通道,它可以是IR、SR、AR、LR、HR、DM。 功能:SCL是十六进制到BCD码线性转换指令。 与BCD指令不同的是,SCL是按用户指定的线性关系来进行转

换的。其线性关系由从Pi到Pi+1四个通道的数据给定的两点来描的。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

在以BCD码为纵坐标,十六进制数为横坐标的二维空间中, Pi为点1的纵坐标值(Ay),取值范围0000~9999;Pi+1为点1的横

坐标值(Ax),取值范围0000~FFFF;Pi+2为点2的纵坐标值(By),
取值范围0000~9999;Pi+3为点2的横坐标值,取值范围0000~

FFFF。设被转换的十六进制数为S,则转换结果为:R=By[(By-Ay)/(Bx-Ax)]×(Bx-S)。最后结果取运算结果最接近的整数。 如果运算结果大于9999,则取9999;如果运算结果小于0000, 则取0000。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

SCL2是带符号十六进制到BCD码线性转换指令,按照一定 线性关系将4位带符号的十六进制数转换成相应的BCD码,其线

性关系由用户在指令中指定的直线的斜率和x轴上的截距来描述。
在Pj到Pj+2三个通道中,Pj为横坐标截距,取值范围为十六进制 数8000~7FFF(-32768~32767);Pj+1为Δx,取值范围为十六进 制数8000~7FFF;Pj+2为Δy,取值范围为BCD码0000~9999。 Δx/Δy就是指定的直线的斜率。设被转换的十六进制数为S,则

转换结果为:R=(Δx/Δy)×(S-P1)。如果最后结果为负数,则置
CY为ON;如果运算结果大于9999,则取9999;如果运算结果 小于-9999,则取-9999。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

SCL3是BCD码到带符号十六进制线性转换指令。按照一定 线性关系将4位BCD码转换成相应的带符号的十六进制数,其线 性关系由用户在指令中指定的直线的斜率和y轴上的截距来描述。 在Pj到Pj+4五个通道中,Pj为纵坐标截距,取值范围为十六进制 数8000~7FFF(-32768~32767);Pj+1为Δx,取值范围为BCD码

0000~9999;Pj+2为Δy,取值范围为十六进制数8000~7FFF;
Pj+3为纵坐标上限值,取值范围为十六进制数8000~7FFF; Pj+3为纵坐标下限值,取值范围为十六进制数8000~7FFF。设 被转换的BCD码为S,则转换结果为:R=(Δx/Δy)×(S-P1)。指令 执行时若CY为ON,则源数据按负数处理,故S的实际有效范围 是-9999~9999;如果运算结果大于或小于给定上下限,则最后 结果取上限或下限值。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 设有如下的SCL指令: LD CLC(41) LD 00100 25313

SCL3(--)
LR02

DM0000
DM0001

电气控制与PLC 并有如下数据: DM0000=0005

第六章

欧姆龙PLC指令系统及编程

DM0001=0003
DM0002=0006 DM0003=07FF DM0004=F800 LR02=0100

则在程序段的执行条件00100满足后,执行结果是:
DM0100=00CD CY=0

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7.6 BINL和BCDL指令 格式:

BINL(58)
S

@BINL(58)
S

R
BCDL(58) S R

R
@BCDL(58) S R

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源开始通道,它可以是IR、SR、AR、TC、LR、

HR、DM。
操作数R为目的开始通道,它可以是IR、SR、AR、LR、

HR、DM。
功能:BINL是双字长BCD码(8位BCD,低4位在S,高4位在

S+1)到二进制数转换指令;BCDL是双字长二进制数(32位,低
16位在S,高16位在S+1)到BCD码转换指令。当条件满足时,将 S和S+1中的双字节数据完成相应的转换,结果存入R和R+1。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

6.7.7 SEC和HMS指令 格式:

SEC(--)
S R 000 HMS(--)

@SEC(--)
S R 000 @HMS(--)

S
R 000

S
R 000

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源开始通道,它可以是IR、SR、AR、TC、LR、

HR、DM,数据格式为BCD码。
操作数R为目的开始通道,它可以是IR、SR、AR、LR、

HR、DM。数据格式为BCD码。
功能:SEC为小时到秒转换指令,用来将按"小时/分/秒"组 成的时间值转换成以秒为单位的时间值。在源通道中的BCD码 数据中,S 的前两位为分,后两位为秒;S+1的四位为小时。故 可转换的最大时间值为9999小时59分59秒。转换结果存入R和 R+1中,对应的最大时间值为35 999 999秒。HMS为秒到小时转 换指令,它是SEC的反操作。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

例5】 设有如下的SEC指令:
LD 00000

SEC(--)
HR12 DM0100 000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

设程序段执行前有如下数据: HR12=3207 HR13=2815 它表示源时间值为2815小时32分07秒。 则程序段条件满足,执行后有结果: DM0100=5927 DM0101=1013 它表示结果时间值为10 135 927秒。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.7.8 NEG指令
格式: NEG(--) S @NEG(--) S

R
000

R
000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

其中: 操作数S为源通道,它可以是IR、SR、AR、TC、LR、HR、 DM、#。 操作数R为目的通道,它可以是IR、SR、AR、LR、HR、 DM。

功能:二进制补码转换指令,将S中的二进制数转换为二
进制补码结果存入R。其操作过程与用S减0000结果送R相同。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.8 数据移位类应用指令
4.8.1 SFT指令
格式: 条件IN

条件SP
条件R SET(10) ST E

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

SFT指令有三个输入条件:IN为数据输入,SP为移位脉冲输 入,R为复位输入。 操作数ST指定开始通道,操作数E指定结束通道,它们可以 是IR、SR、AR、LR、HR。但是E不能大于ST,且二者必须在相 同的区域内。

功能:移位操作指令。只有当条件R为OFF时才进行移位操作。 所谓的移位操作是指SP输入脉冲的每个上升沿,都会使由ST和E 所指定数据中的所有二进制位依次左移一位。移位后数据最高位 由于移出而丢失,最低位补入IN的状态。当R为ON时进行复位操

作。复位时所有的数据位置0,IN和SP的输入无效。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 在下面的指令中,使用了SR中的1秒时钟脉冲 (25502)作为移位脉冲,实现的是每秒移位一次的操作。参加移 位的数据为由200~202三个通道组成的48位二进制数。 LD LD LD SFT(10) 200 202 00001 25502 00002

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.8.2 SFTR指令
格式: SFTR(84) C ST E @SFTR(84) C ST E

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数C为控制字,它可以是IR、SR、HR、AR、LR、DM、 *DM、#。

操作数ST为开始通道。操作数E为结束通道。它们可以是IR、 SR、HR、AR、LR、DM、*DM。ST不能大于E,且二者必须是 在同一区域内。 功能:可逆移位寄存器指令。指令中的控制字C的定义如图 4.8.1所示。 当执行条件满足时,根据C的规定执行二进制数据的左移或 右移操作。C中的R为复位操作标志,SP为移位操作标志。移位 数据包括进位标志(25504)在内。即左移时数据通道中的最高位 移入进位标志,数据通道的最低位移入C中的输入数据IN。右移 时输入数据IN移入数据通道最高位,数据通道最低位移入进位标 志。复位操作时,数据通道连同进位标志一并置0。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

C 第15位第14位 第13位第12位 第11位 不用 位移方向 (1 : 左移, 0 : 右移) IN SP R 第0位

图4.8.1 SFTR指令控制字定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 设有如下的程序段: LD 00000 OUT 20012 LD 00001 OUT 20013 LD 00002 OUT 20014 LD 00003 OUT 20015 LD 00004 @SFTR(84) 200 DM0010 DM0011

电气控制与PLC
0 00 00

第六章

欧姆龙PLC指令系统及编程

2 00 12 0 00 01 2 00 13 0 00 02 2 00 14 0 00 03 2 00 15 0 00 04 @SFTR(8 4) 2 00 DM00 10 DM00 11

图4.8.2 SFTR指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.8.3 WSFT指令
格式:
WSFT(16) ST E @ WSFT(16) ST E

操作数ST为开始通道。操作数E为结束通道。它们可以是IR、 SR、HR、AR、LR、DM、*DM。ST不能大于E,且二者必须是 在同一区域内。

功能:字移位指令。实现每次一个通道(16位二进制数)数据
的左移。最低位置0000,最高位移出丢失。

电气控制与PLC LD WSFT(16)

第六章 00000

欧姆龙PLC指令系统及编程

【例3】 设有如下的WSFT指令:

AR00
AR02 又设指令执行前,数据通道的内容为: AR00=1234 AR01=4567 AR02=789A 则指令执行一次后,数据通道的内容改变为:AR00=0000 AR01=1234

AR02=4567

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 00 WSFT(16 ) AR 00 AR 02

图4.8.3 WSFT指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.8.4 ASL和ASR指令

格式: ASL(25) CH ASR(26) @ASL(25) CH @ASR(26)

CH

CH

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数CH为移位通道,它可以是IR、SR、HR、AR、LR、 DM、*DM。 功能:ASL为算术左移指令,执行算术左移操作时,将CH 中的16位二进制数据顺序左移一位,最高位移入进位标志,最 低位补入一个0。ASR为算术右移指令,执行算术右移操作时,

将CH中的16位二进制数据顺序右移一位,最低位移入进位标志,
最高位补入一个0。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 设原操作数200=6786,则下面指令执行一次后
得200=CF0C。

LD
@ASL(25)

00000

200
说明:当CH中的数据为0000时,系统置相等标志25506 为ON。

电气控制与PLC 4.8.5 ROL和ROR指令 格式: ROL(25) CH ROR(26)

第六章

欧姆龙PLC指令系统及编程

@ROL(25) CH @ROR(26)

CH

CH

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数CH为移位通道,它可以是IR、SR、HR、AR、LR、 DM、*DM。 功能:ROL为循环左移指令,执行循环左移操作时,将CH 中的16位数据连同进位位循环左移一位,CH中的最高位移入进 位标志,原进位位的值移入CH的最低位。ROR为循环右移指令,

执行循环右移操作时,将CH中的16位数据连同进位位循环右移
一位,CH中的最低位移入进位标志,原进位位的值移入CH的最

高位。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例5】 设原操作数200=6786,且25504=1。则下面指令执 行一次后得200=CF0D,25504=0。

LD
@ROL(27)

00000

200 说明:当CH中的数据为0000时,系统置相等标志25506为 ON。

电气控制与PLC 4.8.6 SLD和SRD指令 格式:

第六章

欧姆龙PLC指令系统及编程

SLD(74)
ST

@SLD(74)
ST

E
SRD(75) @SRD(75)

E

ST
E

ST
E

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数ST为开始通道。操作数E为结束通道。它们可以是 IR、SR、HR、AR、LR、DM、*DM。ST不能大于E,且二者 必须是在同一区域内。

功能:SLD为十六进制数左移指令。左移时每位十六进制
顺序左移一位,最高一位数移出丢失。最低位补入数字0。

SRD为十六进制数右移指令。右移时每位十六进制顺序右移一
位,最低一位数移出丢失。最高位补入数字0。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例6】 设指令执行前有数据 200=6786

201=CF0D
则下面指令执行一次后的数据为 200=7860 201=F0D6 LD 00000

SLD(74)
200 201

电气控制与PLC 4.8.7 ASFT指令 格式: ASFT(17) C ST 其中:

第六章

欧姆龙PLC指令系统及编程

@ ASFT(17) C ST

E

E

操作数C为控制字,它可以是IR、SR、HR、AR、LR、DM、 *DM、#。 操作数ST为开始通道。操作数E为结束通道。它们可以是IR、 SR、HR、AR、LR、DM、*DM、#。ST不能大于E,且二者必 须是在同一区域内。

电气控制与PLC
C

第六章

欧姆龙PLC指令系统及编程

第15位第14位 第13位第12位 第11位 不用

第0位

位移方向 (1 : 下移, 0 : 上移) 允许移动位 (1: 允许, 0:不 允许) 复位位 (1: 复位, 0: 正常操作 )

图4.8.4 ASFT指令控制字定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例7】 设有数据通道如表4.8.1所示,表内的数值是下面 指令执行前和每执行一次后通道内数据的变化情况。可见5次

移位的最后结果是将所有的非零数据集中到了地址的低端,但
其顺序不变。图4.8.5是该程序段的梯形图。 LD ASFT(17) #6000 HR00 00000

HR08

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.8.1 ASFT指令执行例数据变化情况
通道
HR00 HR01

执行前 执行2次执行3次执行4次执行4次执行5次
1111 0000 1111 0000 1111 2222 1111 2222 1111 2222 1111 2222

HR02
HR03 HR04

0000
2222 3333

2222
0000 3333

0000
3333 0000

3333
0000 4444

3333
4444 0000

3333
4444 5555

HR05
HR06 HR07

0000
4444 0000

4444
0000 5555

4444
5555 0000

0000
5555 0000

5555
0000 0000

0000
0000 0000

HR08

5555

0000

0000

0000

0000

0000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 00 ASFT(17 ) #6 00 00 HR00 HR08

图4.8.5 ASFT指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.9 数据传送类应用指令
4.9.1 MOV和MVN指令
格式: MOV(21) S D @MOV(21) S D

MVN(22)
S D

@MVN(22)
S D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,可以是IR、SR、HR、AR、LR、DM、

*DM、#。
操作数D为目的通道,可以是IR、SR、HR、AR、LR、DM、

*DM。
功能:MOV是数据传送指令。执行传送操作时将S中的数

据送到D,S中的数据不变;MVN是数据求反传送指令。执行求
反传送操作时将S中的数据求反送到D,S中的数据不变。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 下面的MVN指令在输入00000或00001为ON时执行 求反操作。操作执行的的结果为将目的通道200置2C9E。图

4.9.1是该程序段的梯形图。
LD 00000

OR
MVN(22)

00001

#D361 200

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 00 MVN(2 2) 0 00 01 #D36 1 20 0

图4.9.1 MVN指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.9.2 XFER指令
格式: XFER(70) N S D @ XFER(70) N S D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数N为4位BCD码的传送通道数,可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数S为源数据块的开始通道地址,操作数D为目的数据 块的开始通道地址,它们可以是IR、SR、HR、AR、LR、DM、 *DM。

功能:块传送指令。执行时将由S通道开始的N个连续数据
传送到由D开始的对应通道中去。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

例2】 下面是一个传送20个数据的程序段。 LD OR AND XFER(70) #0020 200 HR00 00003 00001 00002

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.9.3 BSET指令
格式: BSET(71) S ST @ BSET(71) S ST

E

EC

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源数据,可以是IR、SR、HR、AR、LR、 DM、*DM、#。 操作数ST为开始通道地址,操作数E为结束通道地址, 它们可以是IR、SR、HR、AR、LR、DM、*DM。ST不能大 于E,且二者必须在同一区域内。

功能:块置数指令。执行块置数操作时,将由ST开始到
E结束的所有通道都置为数据S。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 下面程序段在条件满足时执行块置数操作。操作 结果是将由HR00到HR11之间的所有通道置为FFFF。

LD
AND 00001

00000

@BSET(71)
#FFFF HR00 HR11

电气控制与PLC 4.9.4 XCHG指令 格式: XCHG(73) E1 E2

第六章

欧姆龙PLC指令系统及编程

@XCHG(73) E1 E2

其中:
操作数E1为交换数据1,操作数E2为交换数据2。它们可以

是IR、SR、HR、AR、LR、DM、*DM。
功能:数据交换指令。执行数据交换时,将E1和E2两个通

道的数据进行交换。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 下面程序段在执行条件满足时,将两指定通道中 的数据交换。

LD
OR @XCHG(73)

00000
00001

200 210

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.9.5 DIST指令
格式: DIST(80) S DBs C @DIST(80) S DBs C

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

其中:
操作数S为源数据,可以是IR、SR、HR、AR、LR、DM、 *DM、#。 操作数DBs为目的基准通道,可以是IR、SR、HR、AR、LR、 DM、*DM。 操作数C为4位BCD码组成的控制字,可以是IR、SR、HR、 AR、LR、DM、*DM、#。

功能:单字分配指令。当C中的BCD码最高位小于8时,DIST
执行单字分配操作,将S的数据送到DBs+C所指定的通道中去。当 C的BCD码最高位等于9时,DIST执行S的数据进栈操作。由C中 BCD码的低三位指定堆栈的长度。用DBs作为堆栈指针。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例5】 当下面程序段中的DIST指令执行条件满足时,执行 进栈操作。执行一次的结果置DM0000为FFFF。执行两次的结果

置DM0001为FFFF。
LD AND @DIST(80) 00001 00002

#FFFF
DM0000

#9002

电气控制与PLC 4.9.6 COLL指令 格式: COLL(81) SBs C D 其中:

第六章

欧姆龙PLC指令系统及编程

@COLL(81) SBs C D

操作数SBs为源基准通道,操作数D为目的基准通道,它们 可以是IR、SR、HR、AR、LR、DM、*DM。 操作数C为4位BCD码组成的控制字,可以是IR、SR、HR、 AR、LR、DM、*DM、#。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功 能:数据调用指令。它是DIST指令的反操作指令。 若C中的BCD码在0000~6655之间,指令执行条件满足时 完成数据调用操作,将SBs+C中的内容送到D。 若C中的BCD码在9000~9999之间,指令执行条件满足时

完成先入先出的出栈操作。
若C中的BCD码在8000~8999之间,指令执行条件满足时

完成后入先出的出栈操作。
出栈操作时,由C中BCD码的低三位指定堆栈的长度;用

DBs作为堆栈指针。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.9.7 MOVB和MOVD指令 格式:

MOVB(82)
S C D MOVD(83)

@ MOVB(82)
S C D @ MOVD(83)

S
C D

S
C D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源数据,可以是IR、SR、HR、AR、LR、DM、

*DM、#。
操作数C为控制字,可以是IR、SR、HR、AR、LR、DM、

*DM、#。
操作数D为目的通道,可以是IR、SR、HR、AR、LR、DM、 *DM。 功能:MOVB为位传送指令。执行位传送时可以将S中指定的 二进制位传送到D的指定位上。S和D中的位的指定由C来实现。

图4.9.2所示为MOVB指令中的控制字C的定义。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

C 第3位第2位 第1位 第0位

S中的源位 (00~1 5 BCD) D中的目的位 (00~1 5 BCD)

图4.9.2 MOVB指令控制字定义

电气控制与PLC
C

第六章

欧姆龙PLC指令系统及编程

第3位第2位 第1位 第0位 S中被传送第一个数字 的位置(0~3 ) 传送数据的位据 (0 :1位 , 1 ;2 位,2 :3 位,3 :4 位) D中接收第一个数据 的位置(0~3 ) 不用

图4.9.3 MOVD指令控制字定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例6】 下面程序段在00001变化的上升沿时执行位传送 操作。操作的结果是将HR0115置ON。

LD
@MOVB(82)

00001

#FF00 #FF00 HR01

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.10 数据运算类应用指令
4.10.1 STC和CLC指令 格式: STC(40) CLC(41) @STC(40) @CLC(41)

功能:STC为置进位位指令。 执行条件满足时执行置进位位操 作,将进位标志位25504置ON。 CLC为清进位位指令。 执行条件满足时执行清进位位操作,将 进位标志位25504置OFF。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.10.2 ADD和SUB指令

格式: ADD(30) S1 S2 D @ADD(30) S1 S2 D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S1为被加数,S2为加数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、

DM、*DM。
SUB(31) S1 S2 D @SUB(31) S1 S2 D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S1为被减数,S2为减数。它们可以是IR、SR、HR、

AR、LR、DM、*DM、#。
操作数D为目的通道。它可以是IR、SR、HR、AR、LR、

DM、*DM。
功能:ADD为BCD码加法指令,执行加法操作时将S1和S2 的内容带进位位一起做十进制加。加出的结果送D,并按运算结 果置进位标志位和相等位;SUB为BCD码减法指令,执行减法操 作时将S1和S2的内容带进位位一起做十进制减。减出的结果送D, 并按运算结果置进位标志位和相等位。

电气控制与 PLC 第六章 欧姆龙PLC指令系统及编程 【例 1】 下面程序段中以 00001为加法操作的条件。在执行加

法指令前一般应该先清进位位。加法执行后的和数送DM1000。执
行后的进位和相等状态送010通道输出。01000置ON表示运算结果 有进位。01001置ON表示运算结果等于0000。图4.10.1是该程序段 的梯形图。
0 00 01 @C LC (4 1 ) 0 00 01 @ADD(3 0) HR0 0 #0 00 2 DM1 00 0 2 55 06 0 10 00 2 55 06 0 10 01

图 4.10.1 ADD 指 令 应 用 例 梯 形 图

电气控制与PLC
LD

第六章

欧姆龙PLC指令系统及编程
00001

@CLC(41) LD @ADD(30) HR00 #0002 DM1000 LD 25504 00001

OUT
LD OUT

01000
25506 01001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.10.3 ADDL和SUBL指令
格式:

ADDL(54)
S1 S2 D 其中:

@ADDL(54)
S1 S2 D

操作数S1为被加数,S2为加数。它们可以是IR、SR、HR、 AR、LR、DM、*DM。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、 DM、*DM。

电气控制与PLC SUBL(55) S1

第六章

欧姆龙PLC指令系统及编程 @SUBL(55) S1

S2
D

S2
D

其中:
操作数S1为被减数,S2为减数。它们可以是IR、SR、HR、

AR、LR、DM、*DM。
操作数D为目的通道。它可以是IR、SR、HR、AR、LR、 DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:ADDL为双字BCD码加法指令。双字加法是指将S1+1 和S1组成的双字与S2+1和S2组成的双字带进位位做十进制加法。

加出的结果送D+1和D组成的双字。
SUBL为双字BCD码减法指令。双字减法是指将S1+1和S1组 成的双字与S2+1和S2组成的双字带进位位做十进制减法。减出的 结果送D+1和D组成的双字。

这里所说的双字是指由两个通道组成的数据。操作数指出的
通道内为低四位,操作数加一通道内为高四位。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 下面程序段是一个用ADDL指令完成更多位加法的

例子。两次使用ADDL实现了4个通道16位十进制数相加的运算。
图4.10.2是该程序段的梯形图。 LD 00001 @CLC(41) LD 00001 @ADDL(54) HR00 200 HR06 LD 00001 @ADDL(54) HR02 202 HR08

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

设程序段执行前相应源通道中的数据为: HR00=1212 HR01=3434 HR02=5656

HR03=7878
200=7878 201=5656

202=3434

203=1212

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

则程序段执行一次后目的通道有结果数据: HR06=9090 HR07=9090 HR08=9090 HR09=9090

由于最后的和不等于0,操作结果同时置标志25506为OFF,即
7878565634341212+1212343456567878=9090909090909090

电气控制与PLC
0 00 01

第六章

欧姆龙PLC指令系统及编程
@C LC (41 )

0 00 01 ADDL(54 ) HR 00 20 0 HR 06 0 00 01 ADDL(54 ) HR 02 20 2 HR 08

图4.10.2 ADDL指令应用例梯形图

电气控制与PLC 4.10.4 MUL和DIV指令 格式: MUL(32) S1

第六章

欧姆龙PLC指令系统及编程

@MUL(32) S1

S2
D

S2
D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S1为被乘数,S2为乘数。它们可以是IR、SR、HR、

AR、LR、DM、*DM、#。
操作数D为目的通道。它可以是IR、SR、HR、AR、LR、

DM、*DM。
DIV(33) S1 S2 D @DIV(33) S1 S2 D

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数S1为被除数,S2为除数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、 DM、*DM。 功能:MUL为BCD码乘法指令。 执行乘法操作时将S1和S2的数据相乘。乘出的积低四位送D, 高四位送D+1。若积等于0000则置相等标志位为ON。 DIV为BCD码除法指令。执行除法操作时将S1的数据除以 和S2的数据。除出的商送D,余数送D+1。若商等于0000则置相

等标志位为ON。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.10.5 MULL和DIVL指令 格式: MULL(56) @MULL(56)

S1
S2 D 其中:

S1
S2 D

操作数S1为被乘数,S2为乘数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。

操作数D为目的通道。它可以是IR、SR、HR、AR、LR、DM、

*DM。

电气控制与PLC DIVL(57) S1 S2 D

第六章

欧姆龙PLC指令系统及编程 @DIVL(57) S1 S2 D

操作数S1为被除数,S2为除数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、 DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:MULL为双字BCD码乘法指令。执行双字乘法操作时 将S1+1和S1组成的双字与S2+1和S2组成的双字相乘。乘出的积 送D+3,D+2,D+1,D组成的数据通道中。若积等于0则置相等 标志位为ON。 DIVL为双字BCD码除法指令。执行除法操作时将S1+1和S1 组成的双字除以S2+1和S2组成的双字。除出的商送D+1,D。余

数送D+3,D+2。若商等于0则置相等标志位为ON。

电气控制与PLC 【例3】 设有数据 200=1111

第六章

欧姆龙PLC指令系统及编程

201=2222
则下面程序段在输入条件满足时执行双字BCD码除法操作,

运算结果为:
HR00=0505 HR01=1111 HR03=0001 HR04=0000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

即22221111÷2=11110505……1 操作结果同时置标志25506为OFF。 LD @DIVL(57) 200 #0002 HR00 00001

电气控制与PLC 4.10.6 INC和DEC指令 格式: INC(38) S DEC(39)

第六章

欧姆龙PLC指令系统及编程

@INC(38) S @DEC(39)

S

S

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,可以是IR、SR、HR、AR、LR、DM、 *DM。 功能:INC为加一指令。进行加一操作时,将S中的BCD 码做十进制加一,结果送回S;DEC为减一指令。进行减一操 作时,将S中的BCD码做十进制减一,结果送回S。

说明:INC和DEC指令的执行不影响进位标志,但要影
响相等标志。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.10.7 ADB、SBB、MLB和DVB指令
格式: ADB(50) S1 S2 其中: D @ADB(50) S1 S2 D

操作数S1为被加数,S2为加数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、

DM、*DM。

电气控制与PLC SBB(51) S1 S2 D 其中:

第六章

欧姆龙PLC指令系统及编程 @SBB(51) S1 S2 D

操作数S1为被减数,S2为减数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、

DM、*DM。

电气控制与PLC MLB(52) S1

第六章

欧姆龙PLC指令系统及编程 @MLB(52) S1

S2
D

S2
D

操作数S1为被乘数,S2为乘数。它们可以是IR、SR、HR、
AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、 DM、*DM。

电气控制与PLC DVB(53) S1 S2 D

第六章

欧姆龙PLC指令系统及编程 @DVB(53) S1 S2 D

操作数S1为被除数,S2为除数。它们可以是IR、SR、HR、 AR、LR、DM、*DM、#。 操作数D为目的通道。它可以是IR、SR、HR、AR、LR、 DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:ADB为二进制加法指令,执行二进制加法操作时将S1 和S2的内容带进位位一起做二进制加。加出的和送D,并按运算

结果置进位标志位和相等标志位。SBB为二进制减法指令,执行
二进制减法操作时将S1和S2的内容带进位位一起做二进制减。减 得的差送D,并按运算结果置进位标志位和相等标志位。若进位 标志被置ON,说明减得的差为负数,此时D中的运算结果为二进 制补码。MLB为二进制乘法指令,执行二进制乘法操作时将S1和

S2的内容做二进制乘。乘出的积送D。其中积的低四位送D,高四
位送D+1。运算结果不影响进位标志位。DVB为二进制除指令, 执行二进制除法操作时将S1的内容除以S2。除出的结果送D。其 中商送D,余数送D+1。运算结果不影响进位标志位。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 设下面程序段执行之前有源数据: 200=7C23

则程序段执行一次后有目的数据:
HR00=7D19

LD
ADB(50)

00001

200
#00F6

HR00

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.10.8 COM、ANDW、ORW、XORW和XNRW指令 格式: COM(29) S ANDW(34) S1 S2 D @ANDW(34) S1 S2 D @COM(29) S

电气控制与PLC ORW(35) S1 S2 D

第六章

欧姆龙PLC指令系统及编程 @ORW(35) S1 S2 D

XORW(36)
S1 S2

@XORW(36)
S1 S2

D
XNRW(37) S1 S2 D @XNRW(37)

D
S1 S2 D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数S为源通道,它可以是IR、SR、HR、AR、LR、DM、 *DM。 操作数S1为源通道1,S2为源通道2。它们可以是IR、SR、 HR、AR、LR、DM、 *DM、#。

操作数D为目的通道,它可以是IR、SR、HR、AR、LR、 DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:COM为字求反指令。字求反操作时,将S中的数据按 位求反后结果仍送回S;ANDW为字逻辑与运算指令。字逻辑与

运算时,将S1和S2中的数据按位进行逻辑与运算,结果送D中;
ORW为字逻辑或运算指令。字逻辑或运算时,将S1和S2中的数 据按位进行逻辑或运算,结果送D中;XORW为字逻辑异或运算 指令。字逻辑异或运算时,将S1和S2中的数据按位进行逻辑异或 运算,结果送D中;XNRW为字逻辑同或运算指令。字逻辑同或

运算时,将S1和S2中的数据按位进行逻辑同或运算,结果送D中。
说明:上述所有逻辑运算指令的执行不影响进位标志,但要

影响相等标志。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例5】 下面程序段执行时,只要输入00001由OFF变为ON, 就要将HR00中的内容求反一次。若设HR00中有数据6924,则求 反指令执行一次后HR00的数据将会成为96DB。 LD @COM(29) HR00 00001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例6】 下面程序段中使用00001为运算选择开关。当选择
开关为ON时,将HR00高八位全部置为ON,低八位状态保持不 变,运算结果送HR01。当选择开关为OFF时,将HR00高八位全 部置为OFF,低八位状态保持不变,运算结果送HR02。图4.10.3 是该程序段的梯形图。
0 00 01 @ORW(3 5) HR00 #FF0 0 HR01 0 00 01 @ANDW(34 ) HR00 #0 0FF HR02

图4.10.3 ANDW和ORW指令应用例梯形图

电气控制与PLC LD @ORW(35)

第六章

欧姆龙PLC指令系统及编程 00001

HR00

#FF00
HR01 LD NOT @ANDW(34) HR00 #00FF HR02 00001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.11 子程序和中断控制类应用指令
4.11.1 SBS、SBN和RET指令
格式:

SBS(91)
SBN(92) RET(93) 其中:

N
N

@SBS(91)

N

操作数N为子程序号,取值范围为十进制数000~049。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:SBS为子程序调用指令。执行子程序调用操作时,调 用由N指定的子程序段。当子程序执行结束后,程序返回到调用 处,从SBS的下一条指令开始继续执行。所有被调用的子程序需 经过定义。SBN为子程序定义指令,用在每段子程序定义的开始,

并为该段子程序赋予编号N。RET为子程序返回指令,用在每段
子程序定义的结束。SBN和RET指令应该两两对应使用。SBN和 RET指令不需要任何执行条件,即在梯形图上它们可以和左端母 线直接相连。 说明:在程序中子程序可以嵌套使用,但嵌套的级数不能超

过六个。子程序定义的位置应该在主程序之后,END指令之前。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 图4.11.1是一个子程序应用的例子,程序段中调用 子程序的条件是00000为ON。子程序内容执行结束后,系统会
0 00 00


自动返回到主程序。

SBS (9 1) 00


主程序段

SBN (9 2) 0 0 1


子程序段

RET (9 3) END (0 1)

图4.11.1 子程序应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.11.2 MCRO指令
格式: MCRO(99) N I1 O1 @MCRO(99) N I1 O1

其中:
操作数N为子程序号,取值范围为十进制数000~049。 操作数I1为第一个输入字,操作数O1为第一个输出字。它们 可以是IR、SR、HR、AR、LR、DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:宏指令。用来定义那些结构相同但操作数不同的子 程序。 系统将8个通道分配给宏使用,其中SR232~SR235用于输 入字,SR236~SR239用于输出字。用户可以用上述通道定义子 程序。当宏条件满足时,系统就会用对应的输入/输出代替定义 中的输入/输出。从而简化了编程的过程。在大量使用同一结构

但不同数据的程序段中,使用宏显得十分有效。

电气控制与 PLC 为宏指令使用的例子。其中图 第六章 欧姆龙PLC指令系统及编程 【例 2】 图4.11.2 (a)为使用宏的

程序段的梯形图。图(b)为不使用宏的程序段的梯形图。两程序段
的功能完全相同。
2 53 13 MC RO (9 4) 04 0 20 0 21 0 MC RO (9 4) 04 0 20 2 21 5 MC RO (9 4) 04 0 20 5 22 0 SBN (9 2) 0 40 2 32 00 2 36 00 2 32 01 (b) 2 10 00 2 02 00 2 15 00 2 05 00 2 20 00 2 05 01 2 20 00 2 02 01 2 15 00



4.11.2 MCRO

2 00 00

2 00 01 2 10 00

0 10 00

指 令 应 用 例 梯 形 图

RET (9 3) (a)

电气控制与PLC 4.11.3 INT指令 格式: INT(89) CC 000

第六章

欧姆龙PLC指令系统及编程

@INT(89) CC 000

D
其中:

D

操作数CC为中断控制码,根据不同的情况它可以取000、001、 002、003、100或200。

操作数D为中断控制数据,它可以是IR、SR、HR、AR、LR、 DM、*DM、#。

表4.11.1 INT指令操作数定义 电气控制与PLC 第六章 欧姆龙PLC指令系统及编程

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:中断控制指令。用来设置系统中断功能及状态。 CPM2A的中断有外部输入中断,外部中断的计数模式、间隔定时

器中断和高速计数器中断等几类,其中外部输入中断的优先级别
最高。在外部输入中断中以中断0的优先级别最高。 外部输入中断是指由系统规定的中断输入端子00003~00006 上的输入脉冲或计数所产生的中断。其模式分别称为输入中断模 式和计数中断模式。这种外部中断所调用的中断子程序的编号是 固定的,中断输入端子00003~00006分别对应子程序000~003。 中断子程序的定义和一般子程序的定义完全相同。输入端子中断

功能的设定,应于中断使用之前在DM6628中设定。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.11.2 外部输入中断端子设定数据定义

0~3位

输入中断3

00003

4~7位

输入中断2

00004

8~11位

输入中断1

00005

2:设定为快速响应输入端子 1:设定为中断输入端子 0:设定为普通输入端子

12~15位

输入中断0

00006

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 下面程序段是一个外部输入中断模式的举例。在该程
序段运行前应该先设法将DM6628置为0001,即设定输入端子00003 为中断输入。当程序段执行时,每当00003输入为ON时,就会产生

中断,调用子程序000。

2 53 15 @INT(89 ) 00 0 00 0 #0 00 E


SBN (9 2) 0 00


RET (9 3)

图4.11.3 输入中断模式应用例梯形图

电气控制与PLC LD @INT(89)

第六章

欧姆龙PLC指令系统及编程 25315

000

000
#000E …… SBN(92) …… 000

RET(93)
……

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 下面程序段是一个外部输入中断模式的举例。系 统在240~243和244~247通道中分别对应中断0和中断3。设有

计数器设定值和当前值加一数据寄存器。计数方式为减一计数。
当前值到0000时计数到,即产生中断。用户可通过更新设定值 的操作来启动下一次计数。例中的计数值为A,设定值用MOV 指令置入,更新操作由INT指令完成。图4.11.4为该程序段的梯 形图。

电气控制与PLC

第六章

欧姆龙 2 53 15 PLC指令系统及编程
MOV (21 ) #0 00 A 24 0 INT (8 9) 00 3 00 0 #0 00 E


SBN (9 2) 0 0 0


图4.11.4 计数中断模 式应用例梯形图

RET (9 3)

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

LD
MOV(21)

25315
#000A

240
INT(89) 003 000 #000E …… SBN(92) …… RET(93) 000

电气控制与PLC 4.11.4 STIM指令 格式:

第六章

欧姆龙PLC指令系统及编程

STIM(69)
C1 C2 C3

@STIM(69)
C1 C2 C3

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.11.3 STIM指令控制字

C1 000 003 启动单次中断 模式 启动重复中断 模式

C2 设定值

C2+1

C3 中断子程序号

计时时间间 隔
计时时间间 隔 计时时间间 隔

设定值 已计数次 数

中断子程序号 前次计数到当前 时刻时间 固定为000

006

读出当前值

010

停止定时

固 定 为 000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:间隔定时器中断指令。提供高速的高精度中断处理。

定时设定值由C2指定,数值范围为BCD码0000~9999。计时时
间间隔由C2+1指定。当设定值为立即数时(BCD:0000~9999), 时间间隔固定为1 ms。当设定值为通道号时,时间间隔由C2+1中 的数据(BCD:0005~0320)确定,对应间隔0.5~32 ms,即实际 定时时间T=(C2中的数据)×(C2+1中的数据)×0.1 ms。 间隔定时器有两种工作模式,单次工作模式时只执行一次定 时中断;重复工作模式时循环执行周期性的定时中断,直至用新 的STIM指令停止。

电气控制与PLC
2 53 15

第六章
MOV (21 ) # 00 0 4 DM0 01 0 MOV (21 ) # 00 1 0 DM0 01 1

欧姆龙PLC指令系统及编程
2 53 15 MOV (21 ) # 00 0 4 DM0 00 0 MOV (21 ) # 00 0 6 DM0 00 1 0 00 05 STIM (99 ) 0 03 DM0 00 0 # 00 0 3



4.11.5 STIM

0 00 05 STIM (99 ) 0 00 DM0 01 0 # 00 0 2

SBN (9 2) 0 0 2

SBN (9 2) 0 0 3

指 令 应 用 例 梯 形 图





RET (9 3) (a) (b)

RET (9 3)





电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.12 高速计数器应用指令

1.CPM2A高速计数器的几种输入模式(CPM1A只有前两种) (1) 递增模式:脉冲信号输入端子00000;复位信号输入端 子00002。计数器对脉冲输入的响应为递增计数。计数范围0~ 16 777 215(CPM1A:0~65 535);最高计数频率20 kHz(CPM1A: 5 kHz)。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

(2) 相位模式:脉冲信号A输入端子00000;脉冲信号B输入 端子00001;复位信号Z输入端子00002。计数器根据脉冲A、B 的相位关系进行加一或减一操作。若A相超前B相1/4,进行加 一操作;若B相超前A相1/4,进行减一操作。计数范围是-8 388 608~8 388 607(CPM1A:-32 768~32 767)。最高计数频率5

kHz (CPM1A:2.5 kHz)。相位模式非常适用于可编程控制器与
三相输出的脉冲编码器相连接的场合。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

(3) 脉冲/方向模式:脉冲信号输入端子00001,方向信号输 入端子00000。根据方向的ON或OFF状态,脉冲分别对计数器进 行加/减操作。计数范围是-8 388 608~8 388 607。最高计数频率 5 kHz。 (4) 加/减模式:加脉冲输入端子00000,减脉冲输入端子 00001。根据两脉冲的输入进行加/减计数。计数范围是-8 388 608~8 388 607。最高计数频率5 kHz。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

2. 高速计数器的几种复位方式 (1) 软件复位:复位条件是25200置ON。 (2) 软件加硬件复位:复位条件是25200和00002同时为ON。 系统电源上电时高速计数器自动复位。

高速计数器在使用前必须经过输入模式的设定。模式设定通
道在DM6642,设定值的具体定义见表4.12.1。工作中高速计数器

的PV值的低4位和高4位分别放在248和249中。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.12.1 高速计数器工作模式设定定义

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

3. 高速计数器的两种中断功能 (1) 目标值比较中断:比较条件是1~16个目标值。当PV值 与目标值相等时产生相应的中断。 (2) 区域比较中断:比较条件是8对上下限组成的8个区域。 当PV值进入其中某个比较区域时,产生相应的中断。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

3. 高速计数器的两种中断功能 (1) 目标值比较中断:比较条件是 1~16 个目标值。当PV值 与目标值相等时产生相应的中断。 (2) 区域比较中断:比较条件是8对上下限组成的8个区域。 当PV值进入其中某个比较区域时,产生相应的中断。

电气控制与PLC 4.12.1 CTBL指令 格式: CTBL(63) P M

第六章

欧姆龙PLC指令系统及编程

@CTBL(63) P M

S
其中: 操作数P为定义符,取000。 操作数M为控制字,其定义见表4.12.2。

S

操作数S为比较表开始通道,它可以是IR、SR、HR、AR、 LR、DM、*DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.12.2 CTBL指令控制字定义

M 000 001 002 003

定义功能 登记一个目标值比较表,并启动比较。 登记一个区域比较表,并启动比较。 登记一个目标值比较表,用INI启动比较。 登记一个区域比较表,用INI启动比较。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:比较表登记指令。当执行条件满足时,登记一个高速 计数器的比较表。具体功能由指令中的控制字说明。因此在使用 中可以根据需要将高速计数器立即启动,也可以将其定义为用INI 指令启动。 被登记的比较表应该有图4.12.1所示结构。其中图(a)为目标值

表,它包括有16个目标值及相应的中断子程序号。CPM2A的高速 计数器比较时要和所有的目标值进行比较,而CPM1A只能找到第 一个符合条件的目标值。图(b)为区域表,它包括8个区域及相应的 子程序号。使用时区域比较表中的区域必须满8个。不足8个时, 应设定其余的子程序号为FFFF。在区域比较时还可以在AR1100~ AR1107中找到比较结果。例如,当前值PV落在区域1内时, AR1100被置ON;落在区域2内时,AR1101被置ON。依次类推。

电气控制与PLC
TB TB+1 TB+2 TB+3

第六章
TB

欧姆龙PLC指令系统及编程
下限值1低4位(BC D)

比较次数 (BC D) 目标值1低4位(BC D) 目标值1高4位(BC D) 比较1中断子程号 目标值2低4位(BC D)

TB+1 下限值1高4位(BC D) TB+2 上限值1低4位(BC D) TB+3 上限值1高4位(BC D) 比较1中断子程号



比较2中断子程号



目标值2高4位(BC D)

下限值2低4位(BC D) 下限值2高4位(BC D) 上限值2低4位(BC D)



(a)

图4.12.1 高速计数器比较表结构示意图


(b)

电气控制与PLC 4.12.2 INI指令 格式: INI(61)

第六章

欧姆龙PLC指令系统及编程

@INI(61)

P
C P1

P
C P1

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.12.3(a) INI指令定义符定义
P 功 能 定义高速计数输入(00000、00001、00002) 单相不带加减速输出0(01000或01001) 单相不带梯形加减速输出0(01000) 定义单相不带加减速输出0(01001) 定义计数器模式中断输入0(00003)

000

010 100

101
102 103

定义计数器模式中断输入1(00004)
定义计数器模式中断输入2(00005) 定义计数器模式中断输入3(00006)

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.12.3(b) INI指令控制字定义
C 000 001 002 003 004 000 000 新的PV 000 新的PV P1 功能 启动CTBL表的比较 停止CTBL表的比较 改变PV值或中断输入 停止脉冲输出 改变脉冲输出PV值

005

000

停止脉冲输出

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.12.3 PRV指令
格式:

PRV(62)
P

@PRV(62)
P

C
D

C
D

其中:
操作数P为定义符,用来指定要控制的高速计数器或脉冲输

出。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

P=000,高速计数器输入(00000,00001和00002);同步脉冲
控制输入频率(00000,00001和00002);单相不带加减速输出 0(01000和01001);单相带梯形加减速输出0(01000)或同步脉冲输

出0(01000,01001)。
P=010,单相不带加减速输出1(01001)或同步脉冲输出 1(01001)。 P=100,计数器模式中断输入0(00003)。 P=101,计数器模式中断输入1(00004)。 P=102,计数器模式中断输入2(00005)。 P=103,计数器模式中断输入3(00006)。 对CPM1A,P只取000。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数C为控制字,用来确定指令存取数据的形式。

C=000,读高速计数器或中断输入的PV值或同步脉冲的输入频率。 C=001,读高速计数器或同步脉冲的输出状态。 C=002,读范围比较的结果。 C=003,读脉冲输出的PV值。 对CPM1A,C不能取003。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数D为目的通道,它可以是IR、SR、HR、AR、LR、 DM、*DM。

功能:读出当前值指令。当执行条件满足时,根据P和C的定
义读出相应的值送入目的通道。 读高速计数器PV时,结果为8位BCD码,其中低4位送D,高 4位送D+1。在相位模式、脉冲/方向模式和加/减模式时,结果数 据的最高位用十六进制数F作为负符号位。 读中断输入PV时,结果为4位十六进制数,被送入D。 读状态时,状态结果送D。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.12.4 PRV指令中的状态定定义
P 第0位 状态字各位 定义 高速计数器(0:比较停止;1:正在比较)

第1位
第2~4位 第5位 000 第6位 第7位 第8位 第9位 第10位~15位 第0~4位 第5位 第6位 010 第7位 第8位 第9位 第10位~15位

高速计数器(0:正常;1:溢出)
000 脉冲输出0的输出脉冲数(0:未指定;1:已指定) 脉冲输出0(0:未完成;1:已完成) 脉冲输出0(0:停止状态;1:输出状态) 脉冲输出0和PV(0:正常;1:溢出) 脉冲输出(0:常数;1:加速或减速) 000000 00000 脉冲输出1和输出脉冲数(0:未指定;1:已指定) 脉冲输出1(0:未完成;1:已完成) 脉冲输出1(0:停止状态;1:输出状态) 脉冲输出1的PV(0:正常;1:输出) 脉冲输出1(0:常数;1:加速或减速) 000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

读范围比较结果时,得到用PV值与CTBL指定的8个范围比 较的结果送D。D中的第0位到第7位分别对应范围1到范围8。0 表示不在范围内;1表示在范围内。 读脉冲输出PV时得到的8位PV值送D和D+1。由于PV值的 范围是-1 677 215~1 677 215,D+1中数据结果的最高位被用做 符号位,该位为1时数据为负数。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例】 在下面程序段中,首先设定高速计数器的工作模式、 比较目标的数量及比较目标值。当程序执行到CTBL指令时将会 登录目标值比较表并启动比较。比较过程中一但计数器计数值 到达给定目标时,系统会自动执行相应的中断子程序。
LD 25315

MOV(21)
#0114 DM6642 LD MOV(21)
#0002 DM0000

25315

电气控制与PLC LD

第六章

MOV(21) LD MOV(21) LD MOV(21) LD MOV(21) LD MOV(21) LD MOV(21)

欧姆龙 PLC指令系统及编程 25315
#5000 DM0001 25315 #0000 DM0002 25315 #00010 DM0003 25315 #8000 DM0004 25315 #0000 DM0005 25315 #0011 DM0006 25315 000 000 DM0000 ……

LD CTBL(63)

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13 其他特殊应用指令
4.13.1 FAL和FALS指令
格式: FAL(06) N1 @FAL(06) FALS(07) N2 N1

其中:
操作数N1、N2为故障代码,取值范围:N1为十进制数

00~99,N2十进制数为01~99。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:FAL为故障报警指令。当执行条件满足时,FAL指令将 代码N1送FAL输出区(SR25300~SR25307)中。此时用户程序还将 继续运行,但CPU面板上的ERROR指示灯会开始闪烁。使用特别 故障代码00可以清零FAL输出区和MSG显示信息,同时使ERROR

显示灯熄灭。
FALS为严重故障报警指令。当执行条件满足时,FALS指令 将代码N2送FAL输出区中。此时用户程序将停止运行,所有输出 要清除FALS故障,必须首先清除故障原因,然后通过工作方式的

复位,CPU面板上的ERROR指示灯会开始闪烁,RUN指示灯熄灭。

转换或重新开机的办法来实现。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 在下面程序段中,当00000和00001中有一个为ON 时,都会引起系统故障报警操作。故00000和00001应该分别为 两个系统故障的输入信号。当两个故障输入都为OFF时,程序段 能够自动清除故障状态。图4.13.1为该程序段的梯形图。 LD 00000

OR
FAL(06)

00001
01

LD NOT
AND NOT

00000
00001

FAL(06)

00

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 00 FAL (0 6) 01 0 00 01 0 00 00 0 00 01

FAL (0 6) 00

图4.13.1 FAL指令应用例梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.2 MAG指令
格式: MAG(46) S 其中: 操作数S为信息开始通道,可以是IR、SR、HR、AR、LR、 DM、*DM。 @MAG(46) S

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:信息显示指令。当执行条件满足时,从S开始读取最 多16个ASCII码并在编程器上显示相应的字符。从S开始到S+7通

道,每个通道存放着两个显示字符,其中低8位的字符显示在高8
位字符之前。当显示字符少于16个时第一个不为ASCII码的数据 位即为显示字符串的终止位。 当MSG指令操作执行时,其信息缓冲区最多可以读入3个 MSG信息。进入缓冲区的MSG信息,按照先进先出的缓冲原则,

每次显示1个。在每次扫描循环中若有多于3个的MSG信息,则
要按照优先级别的区别,首先选择优先权高的信息。同一区域中 的MSG信息优先权为地址小的级别高。不同区域中的优先权区 别如表4.13.1所示。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.13.1 不同区域中的MSG信息优先级别
级别 最高 LR I/O 非I/O IR 区域

HR
AR

TC
最低 DM/*DM

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.3 IORF指令
格式: IORF(97) ST E 其中: @IORF(97) ST E

操作数ST为刷新开始通道,E为结束通道,它们可以是IR、SR、

HR、AR、LR、DM、*DM、#。它们的取值范围为输入/输出通道
号000~019,且E不能小于ST。 功能:输入/输出刷新指令。执行条件满足时,刷新ST到E之

间的所有I/O通道。可以用来提高系统I/O响应速度,减少控制滞后。

电气控制与PLC 4.13.4 BCNT指令

第六章

欧姆龙PLC指令系统及编程

格式:
BCNT(67) N ST D @BCNT(67) N ST D

操作数N为四位BCD码通道数,可以是IR、SR、HR、AR、 LR、DM、*DM、#。
操作数ST为源开始通道,操作数D为目的通道,它们可以是 IR、SR、HR、AR、LR、DM、*DM。 功能:位计数指令。用于计算从ST到ST+(N-1)之间所有通道 中等于1的位的个数。计算结果以BCD码的形式存放到D中。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 下面程序段是一个BCNT指令应用的例子。当 20000为ON时,在HR00中存放从DM0010~DM0017共18个通道

中所有数据中为1的二进制位的个数。
LD 20000

BCNT(67)
#0018 DM0010 HR00

电气控制与PLC 4.13.5 PULS指令 格式: PULS(65) P C N

第六章

欧姆龙PLC指令系统及编程

PULS(65) P C N

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

其中:
操作数P为口定义符,用来定义脉冲输出位置。P=000时为单 相不带加减速脉冲输出0(01000)或单相带梯形加减速脉冲输出 0(01000和01001)。P=010时为单相不带加减速脉冲输出1(01001) 操作数C为脉冲形式控制字。C=000时为相对脉冲;C=001时为 绝对脉冲。 P=010和C=001不用于CPM2A。 操作数N为脉冲数,可以是IR、SR、HR、AR、LR、DM、 *DM。 功能:脉冲输出设置指令。用来设定SPED和ACC指令输出的 脉冲数。八位BCD码脉冲数放在N和N+1通道中。N中放低四位, N+1中放高四位。取值范围是-16 777 215~16 777 215。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.6 SPED指令
格式: SPED(65) SPED(65)

P
M

P
M

F

F

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数P为输出点设定,可以取000或010。 操作数M为输出模式设定,可以取000或001。 操作数F为脉冲频率设定,四位BCD码,可以是IR、SR、 HR、AR、LR、DM、*DM、#。 功能:脉冲速度设置指令。单相脉冲只能通过01000和 01001两个端子输出,且同一时刻只能有一路输出。输出端子由 P指定。P=000时,输出为01000;P=010时,输出为01001。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

脉冲输出有两种模式。当M=000时为独立输出模式。在此 模式下,用PULS指令设定输出脉冲总数,用SPED指令启动脉冲

输出的开始。输出的脉冲数达到PULS指令所指定的数目时脉冲
输出停止。当M=001时为连续输出模式,在此模式下,只能通 过SPED指令中的F=0000的设置或INI指令来停止脉冲输出。独 立输出模式的脉冲输出一但开始就不能再用PULS指令来改变已 设定的脉冲数。而连续输出模式在输出过程中可以随时使用 SPED指令来改变输出频率。该频率由F的值设定。F的取值范围 为0001~1000对应的输出频率是10 Hz~10 kHz(CPM1A:

0002~0200对应的输出频率是20 Hz~2 kHz)。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 下例为一个独立模式脉冲输出的程序段。脉冲输出
由00001来启动。输出脉冲数为在DM0101和DM0100中,输出脉 冲频率为100 Hz。
LD @PULS(65) 000 000 DM0100 LD @SPED(64) 000 000 #0010 00001 00001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.7 STEP和SNXT指令
格式: STEP(08) SNXT(09) 其中: B B

操作数B为控制位,可以是IR、HR、AR、LR。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:STEP为步进定义指令。SNXT为步进启动指令。 STEP和SNXT指令总是一起使用,用来在大型程序中定义一个程 序段,每个程序段称为一步。CPU按先后顺序执行每一步。 SNXT指令用来启动一个编号为B的步。STEP指令用来定义 一个编号为B步的开始,此时的STEP 指令不需要任何执行条件。 这条指令后面就是被定义的步的程序段。在每步的最后用一条带 执行条件的SNXT指令的功能是定义步的结束,同时也作为编号 为B的下一步的启动条件。这时的执行条件被称为转步条件。一 个不带操作数的STEP指令表示所有步的结束。在它之前的SNXT

指令中的B,是一个虚操作数,无实际意义。所以可以使用任何
一个未被使用过的有效数据。步进程序中其他指令中B的取值要 求是:按先后顺序排列的连续通道号。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.13.2 转步复位结果

定时器

SV

IR、HR、AR、LR

OFF

计数器及移位寄存器

保持不变

由SET、RESET、KEEP指令控制的位

保持不变

电气控制与 PLC 第六章 欧姆龙PLC指令系统及编程 【例 4】 在下面程序段中,将生产过程分为 A、B、C三部分。

其中00001为A过程的启动输入。00002为B过程的启动输入。00003
和00004分别为A、B过程向C过程的转步条件。
0 00 01 0 00 02 0 00 02 0 00 01 SNXT(09 ) HR0 00 0 SNXT(09 ) HR0 00 1 STEP(0 8) HR0 0 00 A 0 00 03 0 00 01 A 0 00 03 B 0 00 04 0 00 04 C 0 00 05 C 0 00 05 SNXT(09 ) HR0 00 6 STEP(0 8) B SNXT(09 ) HR0 00 2 STEP(0 8) HR0 0 02 0 00 02 SNXT(09 ) HR0 00 2 STEP(0 8) HR0 0 01



4.13.2

步 进 指 令 应 用 例 梯 形 图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.8 PID指令
格式: PID(--) IW P1

OW

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数IW为输入数据通道,可以是IR、SR、HR、AR、

LR、DM。
操作数P1为第一参数通道,可以是IR、SR、HR、LR、

DM。参数的定义见表4.13.3
操作数OW为输出数据通道,可以是IR、SR、HR、AR、 LR、DM。 功能:PID控制指令。条件满足时按照给定的参数执行 PID控制操作。运算的输入值PV来自IW,输出的操作值MV 送OW。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.13.3 PID指令参数定义
参数 P1 P1+1 P1+2 P1+3 P1+4 P1+5 0 ~3 位 P1+5 4~15位 P1+6 0~7位 给定值(SV) 比例带(P) 内容 说明 二进制数,位数由P1+6设定 BCD码0001~9999 表示0.1%~999.9%

积分时间/采样周期 (TiK/τ)
微分时间/采样周期 (TdK/τ) 采样时间(τ) 操作方向定义 输入滤波系数(α) 输出范围 输入范围 工作区

BCD码0001~8191 取0000时无积分作用
BCD码0001~8191 取0000时无微分作用 BCD码0001~1023 表示0.1~102.3 s 取1为正作用,PV>SV时MV增加 取1为反作用,PV>SV时MV减少 BCD码100~199 对应系数0.00~0.99 α越小滤波作用越弱 取000时α为默认值0.65 0~8 对应输出二进制位数8~16位

P1+6 8~15位
P1+7~P1+32

0~8 对应输入二进制位数8~16位
系统使用

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

说明:PID指令是按照可编程控制器的CPU周期执行的,所 以如果其采样周期大于CPU周期,PID运算将会等待到该采样周 期完成后的下一CPU周期完成。PID控制运算要使用从P1~ P1+32共33个通道,用户在编程时将不能在使用该33个通道。在 下列情况下不可以使用PID指令:中断程序中、互锁程序中、跳 转程序中、步进程序中、子程序中。标志CY为ON,表示系统正 在进行PID处理;CY为OFF,表示系统采样周期还没有结束。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.9 SRCH指令
格式: SRCH(--) N R1 @SRCH(--) N R1

C

C

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数N为查找通道数,它可以是IR、SR、HR、AR、LR、 TC、DM、#。通道数取值范围4位BCD码0000~9999。 操作数R1为查找范围开始通道,它可以是IR、SR、HR、 AR、LR、TC、DM。

操作数C为比较数和结果通道,它可以是IR、SR、HR、
AR、LR、TC、DM。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能;数据查找指令。执行条件满足时在R1到R1+N-1范围 内N个通道里查找与C中相同的数据。如果在指定范围内找到一 个以上的符合查找条件的通道,首先置标志EQ为ON,并把与 符合条件通道的最低地址相关的一个量赋于C+1。赋值的方式 是:若查找范围在DM区,赋值符合条件DM通道的最低地址值; 若查找范围在其他数据区,赋值符合条件最低通道地址与开始 通道地址之差。如果查找范围内没有符合条件的通道,EQ置 OFF,C+1内容不变。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例5】 若设符合查找要求的最低通道地址为DM0118,则 C+1被赋值0118。 若设符合查找要求的最低通道地址为IR114,且R1为IR100, 则C+1被赋值0014。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.10 SYNC指令
格式: SYNC(--) P1 @SYNC(--) P1

P2
C 其中: 操作数P1为输入口定义,只取000。

P2
C

操作数P2为输出口定义,可以取000(定义输出口01000)或 010(定义输出口01001)。 操作数C为比例因子,它可以是IR、SR、HR、AR、LR、DM、 #,取值范围BCD码0001~1000,对应比例因子值1~1000%。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:同步脉冲控制指令。执行时将高速计数器的输入脉 冲频率乘以给定的比例因子后从输出口输出,即:输出频率=输 入频率×(C/100)。 输出频率的范围是10 Hz~10 kHz,大于10 kHz时只输出10 kHz。小于10 Hz时只输出10 Hz。输入频率来自高速计数器的工

作模式。在同步脉冲执行时不可以再改变输出口,但可以用再
次执行SYNC指令的办法来改变比例因子。 只有在DM6642中设置输出00000到00003为同步脉冲控制时 才能实现该指令操作。当同步脉冲控制执行时,高速计数器和 脉冲输出功能均不可使用。应用中可以用C=005的INI指令或将

可编程控制器工作方式切换的编程来停止同步脉冲输出。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.11 PWM指令
格式: PWM(--) P @PWM(--) P

F
D

F
D

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数P为口定义,可以取000或010。P取000,定义可变占 空比输出0;输出口01000。P取010,定义可变占空比输出1;输 出口01001。 操作数F为频率,它可以是IR、SR、HR、AR、LR、DM、#, 取值范围BCD码0001~9999,对应频率0.1~999.9 Hz。 操作数D为占空比,它可以是IR、SR、HR、AR、LR、DM、 #,取值范围BCD码0001~0100,对应脉冲占空比1%~100%。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:可变占空比脉冲指令。执行时从指定输出口输出指 定占空比的脉冲序列。可变占空比脉冲可以同时在两个输出口 独立输出。PWM指令执行后指定占空比的脉冲将连续输出直至 新PWM指令或C=003的INI指令的执行。脉冲输出过程中可以用

新PWM指令改变占脉冲空比但不能改变其频率。在输出口被
SPED或ACC指令使用时PWM指令不能实现对该口的操作。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.12 ACC指令
格式:

ACC(--)
P

@ACC(--)
P

M
C

M
C

其中:
操作数P为口定义,取000,即定义为梯形加/减速单相脉冲

输出0。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.13.4 ACC指令输出模式定义
M 000 002 010 011 012 013 定义

独立模式和加减脉冲模式
独立模式和脉冲加方向模式 顺时针连续模式和加减脉冲模式 逆时针连续模式和加减脉冲模式 顺时针连续模式和脉冲加方向模式 逆时针连续模式和脉冲加方向模式

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数C为控制字开始通道,它可以是IR、SR、HR、AR、LR、
DM。控制字从C开始共有三个,取值范围均为BCD码0001~1000, 对应频率10 Hz~10 kHz。其中C为加速率,指定加速时输出频率每 10 ms的增加值。C+1为目标频率。C+2为减速率,指定减速时输出 频率每10 ms的减少值。 功能:加速控制指令。用来启动梯形加/减速脉冲输出和定义加 减速率。 一但脉冲输出被启动后,输出频率将按指定的变化率到达指定的目 标值。使用下列方法可以停止脉冲输出:减速停止:执行C+1的值 为0000的ACC指令或在独立模式下输出脉冲数达到PULS指令的指 定数。立即停止:执行C=003的INI指令或将可编程控制器工作方式 切换的编程。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

独立模式工作时在ACC指令执行前需要由PULS指令指定输 出脉冲数,且每次输出停止后都需重新指定。输出在满足指定

脉冲数、目标频率和加/减速率的时间段里完成加速、衡速、减
速和停止的过程,在几个参数值比较合适的情况下,会输出一 个频率变化为梯形的脉冲序列。当预置的脉冲数小于加/减速所 需要的时就会输出一频率变化为三角形的脉冲序列。 连续模式工作时,脉冲将持续输出,只能使用上述几个减 速或立即停止方法来终止。在连续模式下脉冲正在输出时还可 以再给定加减速率改变目标频率值。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.13.13 FCS指令
格式: FCS(--) @FCS(--)

C
R1 D

C
R1 D

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.13.5 FCS指令控制字定义
C
第0位~第11位

意义 参加运算的数据项数N(通道数或字节数) BCD 001~999
运算起始的字节(13位为ON时有效) 1:高字节 0:低字节

第12位

第13位

运算数据单位 1:字节 0:字 00

第14~15位

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数R1为帧开始通道,它可以是IR、SR、HR、AR、LR、 TC、DM。

操作数D为目的开始通道,它可以是IR、SR、HR、AR、
LR、DM。

功能:FCS计算指令。计算帧校验码,用来检查通信数据的
传输错误。当指令的执行条件满足时,以按位异或的方法计算 从R1~R1+N-1范围内所有字或字节的帧校验码,并将结果转换 为ASCII码的形式存入D及D+1。所以按字节计算的2位十六进制 结果和按字计算的4位十六进制结果在目的通道中实际应该是4 位或5位ASCII码数据。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例6】 设下面程序段中在FCS指令被执行前有源数据:

DM0000=0001
DM0001=0002 DM0002=0003 DM0003=0004 DM0004=0005 DM0005=0006 DM0006=0007

DM0007=0008

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

FCS指令在输入00001为ON时执行,帧校验码原始结果应
为0008,转换为ASCII码送到目的通道中的最后结果是: DM0010=3030 DM0011=3038 LD @FCS(--) #0008 DM0000 00001

DM0001

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.14 特殊运算指令
1.14.1 MAX和MIN指令
格式: MAX(--) C R1 D @MAX(--) C R1 D

MIN(--)
C R1 D

@MIN(--)
C R1 D

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.14.1 MAX和MIN指令控制字定义

C 第0~11位 第12~13位 第14位

意义 查找范围的通道数N:(BCD)001~000 00 是否输出地址到D+1 0:输出 1:不输出 1:按带符号二进制数处理 2:按不带符号二进制数处理

第15位

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数R1为查找范围开始通道,它可以是IR、SR、HR、 AR、LR、DM、TC。

操作数D为目标通道,它可以是IR、SR、HR、AR、LR、
DM。

功能:MAX是查找最大值指令。MIN是查找最小值指令。
当执行条件满足时,执行查找最大值或最小值操作。在R1到

R1+N-1范围内的N个通道里找到一个最大或最小的数值送到D。
把与符合查找条件的最低一个通道地址相关的一个量赋于D+1。

赋值的方式与SRCH指令为C+1通道的方法相同。

电气控制与PLC 4.14.2 AVG指令 格式: AVG(--) S N

第六章

欧姆龙PLC指令系统及编程

D
操作数S为源通道,它可以是IR、SR、HR、AR、LR、TC、 DM。 操作数N为周期数,它可以是IR、SR、HR、AR、LR、TC、 DM、#。N的取值范围为BCD码0001~0064,N大于64时按等于64 处理。 操作数D为目的开始通道,它可以是IR、SR、HR、AR、LR、

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:平均值计算指令。计算N个数的平均值,计算的过程是
在每个周期内将S中的内容顺序存入D+2开始的通道,同时计算一 次已存入数据的平均值,平均值结果按四舍五入取整数送D。直至 其中: D: 存放平均值; D+1:系统使用; D+2:第一个周期时的S值; D+3:第二个周期时的S值; …… D+N+1:第N个周期时的S值。

被平均的数据数达到N。故AVG指令的执行共须占用D+N+1个通道,

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例1】 下面程序段在执行条件满足时先将IR200置为0000。 在此后的每个扫描周期IR200的内容要加一。AVG指令经过几个周 期的运算最后在DM1000中结果是DM1002开始的N个通道的平均值。
LD @MOV(21) 00001
#0000 200 AVG(--) 200 #0003 DM1000 CLC(41) ADB(50) 200 #0001 200

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.14.3 SUM指令
格式: SUM(--) C R1 @SUM(--) C R1

D

D

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.14.2 SUM指令控制字定义
C 第0位~第11位 意义 参加累计运算的数据项数N(通道数或字节数) BCD 001~999 运算起始的字节(13位为ON时有效) 1:高字节 0:低字节 运算数据单位 1:字节 0:字 运算数据类型 1:二进制 0:BCD (14位为ON时有效) 1:带符号二进制数 0:不带符号二进制数

第12位

第13位

第14位

第15位

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数R1为源开始通道,它可以是IR、SR、HR、AR、 LR、TC、DM。 操作数D为目的开始通道,它可以是IR、SR、HR、AR、 LR、DM。 功能:累加指令。执行时计算R1到R1+N-1的N个字或R1到

R1+N/2-1的N个字节的累加和,结果送D和D+1。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 下面程序段在输入条件满足时执行累加运算。累 加过程是将DM0000~DM0007八个通道的BCD数据相加,加得

结果送DM0010和DM0011,其中DM0010为结果的低四位,
DM0011为结果的高四位。 LD @SUM(--) #0008 DM0000 00001

DM0010

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.15 通 信 指 令
4.15.1 RXD和TXD指令
格式: RXD(47) D C N TXD(47) @TXD(47) @RXD(47) D C N

S
C N

S
C N

电气控制与PLC 其中:

第六章

欧姆龙PLC指令系统及编程

操作数D为目的开始通道,它可以是IR、SR、AR、DM、 HR、TC、LR。 操作数S为源开始通道,它可以是IR、SR、AR、DM、HR、 TC、LR。 表4.15.1 RXD指令控制字定义
C 第0位 定义写字节顺序 第1位第2位 功能

0:存入字、最高有效字节在先 1:存入字、最低有效字节在先 2:存入最低有效字节、下一字最高有效字节在先 3:存入最高有效字节、下一字最高有效字节在先
00

第3位 定义输入口

0:RS-232C口 1:外设口

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

表4.15.2 TXD指令控制字定义

C

功能

第0位 定义字节顺序 第1位第2位 第3位 定义输出口

0:最高有效字节在先 1:最低有效字节在先 00 0:RS-232C口 1:外设口

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

操作数N为传送字节数,它可以是IR、SR、AR、DM、HR、 TC、LR、#。取值范围为:#0000~#0256 BCD(Host Link模式下

为#0000~#0061)。
功能:RXD为接收指令。当执行条件满足时从输入口上读入

N个字节的数据并按照C所定义的方式存入由D开始的目的通道中。
TXD为发送指令。当执行条件满足时从S开始的源通道上读出N

个字节的数据转换成相应的ASCII码并按照C所定义的方式从输
出口送出。

电气控制与PLC 【例】 设有数据:

第六章

欧姆龙PLC指令系统及编程

S =12
S+1=34

S+2=56
S+3=78 …… 则当C=0000时,TXD指令传送顺序为:12345678…… 则当C=0001时,TXD指令传送顺序为:21436587……

电气控制与PLC 4.15.2 STUP指令 格式: STUP(--) N

第六章

欧姆龙PLC指令系统及编程

@STUP(--) N

S
O 其中: 操作数N取000。

S
O

操作数S为源开始通道,它可以是IR、SR、AR、DM、 HR、TC、LR、#。 第三个操作数O忽略不计。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

功能:改变RS-232C设置指令。执行条件满足时改变内置 RS-232C口的设置。但这个改变只有在可编程控制器关电后重

新启动或者工作方式由运行和监控转换到编程时才会被写入内
存。 在CPM2A中内置RS-232C口的参数设定值包括通信方式、 波特率、帧格式、上位节点号等均存放在DM中的指定通道中。 当STUP指令执行时,如果S为通道地址,S到S+4中的内容将会 被写入DM6645~DM6649。如果S为#0000,DM6645~ DM6649会被重新设置为默认值。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

4.16 典型应用举例
【例1】 故障报警程序。设三个过程报警输入00002、 00003、00004的报警级别相同。00005为故障排除输入。01000 为故障指示输出。为了保证主机掉电后仍能保持原故障状态, 程序使用了保持继电器。图4.16.1为该程序段的梯形图。
0 00 02 0 00 03 0 00 04 0 00 05 HR 00 0 0 0 10 00 KEEP (11 ) HR 00 0 0

图4.16.1 例1程序段梯形图

电气控制与PLC LD OR OR LD

第六章

欧姆龙PLC指令系统及编程 00002 00003 00004 00005

KEEP(11)
LD

HR0000
HR0000

OUT

0100

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例2】 脉冲输出程序。在CPM2A的SR区中有从1分钟到0.02 秒的各种方波脉冲可以利用。在晶体管型输出还可以用SPED指令 来输出单相脉冲。而下面程序段则可以输出任意频率和占空比的 脉冲序列。程序段中两个定时器的定时值分别用来指定输出脉冲 高电平和低电平状态的维持时间。图4.16.2为该程序段的梯形图。
T00 2 TIM 0 01 #0 50 0 TIM 0 02 #0 50 0 0 10 00

T00 1

T00 1

图4.16.2 例2程序段梯形图

电气控制与PLC

第六章 LD NOT TIM

欧姆龙PLC指令系统及编程 TIM002 001 #0500

LD TIM

TIM001 002 #0500

LD OUT

TIM001 01000

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例3】 长延时定时器程序。受到指令中操作数最大值的限制, 可编程控制器定时器的最大定时时间十分有限。当用户需要延时 时间较长的定时器时,有以下几种办法可以参考:

(1) 采用多个定时器级联的办法。图4.16.3(a)为使用两个定时器 级联程序段的梯形图。总定时时间应为两个定时时间之和。
(2) 采用定时器与计数器级联的办法。图4.16.3(b)为使用定时器 与计数器级联程序段的梯形图。总定时时间应为CNT的计数值与 TIM定时值之积。

(3) 采用SR中的时钟脉冲与计数器配合的办法。图4.16.3(c)为 用1秒脉冲信号和CNT001配合使用的程序段梯形图。总定时时间 为CNT的计数值乘1秒。
(4) 使用TIML指令。最大定时时间可以超过27个小时。

电气控制与PLC
0 00 01 TIM 0 01 HR00 TIM 0 02 HR01

第六章

欧姆龙PLC指令系统及编程
0 00 01 T00 1 C0 0 2 TIM 0 01 HR02

T00 1 CP 0 00 03 R C0 0 2 CNT 00 2 HR03

T00 1

T00 2

0 10 00

0 10 01

(a)

(b) 0 00 01 2 55 02 CP 0 00 02 2 53 15 C0 0 1 R CNT 00 1 HR04

0 10 00

(c)

图4.16.3 例3程序段梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例4】 分频程序。在一些特殊场合需要对脉冲信号进行分 频。图4.16.4为一个二分频程序的例子。输入脉冲来自00003, 再用微分指令取其上升沿使输出为 ON。中间继电器20002为 00003上升沿和01000共同作用的一个扫描周期的脉冲。因此在 01000上得到的是输入脉冲的二分频信号。根据同样的原理也可 以实现四分频、八分频等各种不同的分频程序。

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

0 00 03

DIFU2 00 0 1

2 00 01 0 10 00 2 00 02 2 00 01 2 00 02 0 10 00 0 10 00

图4.16.4 例4程序段梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例5】 自保持程序。在可编程控制器中最常用的自保持 方法是使用KEEP指令。KEEP是一种复位优先的自保持,即图 4.16.5(a)程序段的逻辑作用与图4.16.5(b)程序段等效。图4.16.5(c) 程序段实现的则是一种置位优先的自保持逻辑。应用SET指令 同样可以获得自保持逻辑运算。图4.16.5(d) 图4.16.5(e)所示分别 为用SET指令实现的复位优先和置位优先自保持程序段。

电气控制与PLC
0 00 01 0 00 02

第六章
KEEP 0 10 01

欧姆龙PLC指令系统及编程
0 00 01 0 00 02 0 10 01 0 10 01

(a)

(b)

0 00 01 0 00 02 0 10 01 0 10 01

(c)

0 00 01 SET 0 10 0 0 0 00 02 RESET 0 10 0 0

0 00 02 RESET 0 10 0 0 0 00 01 SET 0 10 0 0

(d)

图4.16.5 例5程序段梯形图

(e)

电气控制与 PLC 第六章 欧姆龙 PLC指令系统及编程 【例 6】 定时值选择程序。在图 4.16.6所示程序段中,定时器

TIM000的设定值SV是由两个外部选择信号来确定的。00002或
00003其中一个为ON,指定不同的定时设定值。
0 00 02 0 00 03 DIFU 20 00 0 2 00 00 MOV (2 1) # 1 00 0 HR 00 00 0 00 03 0 00 02 DIFU 20 00 1 2 00 01 MOV (2 1) # 2 00 0 HR 00 00 0 00 02 0 00 03 2 00 00 2 00 01 0 00 03 0 00 02 TIM 00 0 HR0 0 00

图4.16.6 例6程序段梯形图

电气控制与PLC

第六章

欧姆龙PLC指令系统及编程

【例7】 中断程序应用。下面程序段定义的中断输入为 00003。每次中断的处理是使DM0000的内容加一。
LD MOV(21) 25315 #0000 DM0000 25315 000 000 #0001

LD INT(89)

SBN(32)
LD INC(38) RET(93) END(01) 000 25315

DM0000


相关文章:
更多相关标签: