欧姆龙编程速成.docx

上传人:b****2 文档编号:3513976 上传时间:2023-05-06 格式:DOCX 页数:125 大小:97KB
下载 相关 举报
欧姆龙编程速成.docx_第1页
第1页 / 共125页
欧姆龙编程速成.docx_第2页
第2页 / 共125页
欧姆龙编程速成.docx_第3页
第3页 / 共125页
欧姆龙编程速成.docx_第4页
第4页 / 共125页
欧姆龙编程速成.docx_第5页
第5页 / 共125页
欧姆龙编程速成.docx_第6页
第6页 / 共125页
欧姆龙编程速成.docx_第7页
第7页 / 共125页
欧姆龙编程速成.docx_第8页
第8页 / 共125页
欧姆龙编程速成.docx_第9页
第9页 / 共125页
欧姆龙编程速成.docx_第10页
第10页 / 共125页
欧姆龙编程速成.docx_第11页
第11页 / 共125页
欧姆龙编程速成.docx_第12页
第12页 / 共125页
欧姆龙编程速成.docx_第13页
第13页 / 共125页
欧姆龙编程速成.docx_第14页
第14页 / 共125页
欧姆龙编程速成.docx_第15页
第15页 / 共125页
欧姆龙编程速成.docx_第16页
第16页 / 共125页
欧姆龙编程速成.docx_第17页
第17页 / 共125页
欧姆龙编程速成.docx_第18页
第18页 / 共125页
欧姆龙编程速成.docx_第19页
第19页 / 共125页
欧姆龙编程速成.docx_第20页
第20页 / 共125页
亲,该文档总共125页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

欧姆龙编程速成.docx

《欧姆龙编程速成.docx》由会员分享,可在线阅读,更多相关《欧姆龙编程速成.docx(125页珍藏版)》请在冰点文库上搜索。

欧姆龙编程速成.docx

欧姆龙编程速成

常用指令与编程

现代PLC都具有丰富的指令系统,利用这些指令编程,能够容易地实现各种复杂的控制操作。

对于PLC系统,指令是最基础的编程语言,掌握常用指令的功能及其应用方法,这对用好PLC及其系统设计极其重要。

本章主要介绍CS1的各类指令,但由于该机型的指令数量较多,限于篇幅等因素,本书只对常用的指令进行介绍。

按功能可将这些指令分为基本指令、数据操作指令、常用控制指令和高级指令等。

其他指令,可参考OMRON公司提供的编程手册和操作手册等资料。

3.1基本指令

可编程序控制器的基本指令主要包括顺序输入指令、顺序输出指令、顺序控制指令、定时器和计数器指令等。

这些指令用来执行以位(bit)为单位的逻辑操作,它们是用PLC替代继电器控制的基础。

梯形图中每个条件是否为ON或OFF,取决于分配给它的操作数位的状态。

一般来说,当该操作数位为1时,对应的继电器线圈通电、常开条件变为ON和常闭条件变为OFF;反之,该操作数位为0,则对应的继电器线圈断电、常开条件为OFF和常闭条件为ON。

在梯形图中,一条指令前面的常开、常闭等条件的逻辑组合产生了执行条件,执行条件是否具备,决定于指令的状态。

对于继电器线圈类指令,当执行条件ON(具备)时,则对应的继电器线圈得电;当执行条件为OFF(不具备)时,对应的继电器线圈断电。

对于功能类指令,当执行条件为ON时,该功能指令执行;当执行条件为OFF时,则该功能指令不执行。

指令行上的逻辑组合可以分成几个部分,每一部分均为一个逻辑块。

利用逻辑块能够更有效地编程。

3.1.1顺序输入指令

常用顺序输入指令包括加载、基本逻辑运算、逻辑块,主要用于对继电器进行最基本的输入操作,如表3-1所示。

表3-1顺序输入指令表

指令名称

助记符操作数

典型梯形图

一般功能

操作数范围

备注

加载

LD

继电器号

A

将常开触点(A)接到母线上,在每个行或块的起点处使用,常用于创建一个ON/OFF执行条件。

CIO区、W区、

H区、A区、

T区、C区、任务标志区、条件标志、时钟脉冲、使用变址寄存器间接寻址。

加载非

LDNOT

继电器号

 

A1

A2

A

将常闭触点(A)接到母线上,其他同上。

AND

继电器号

 

将常开触点(A1)与常开触点(A2)串联。

与非

继电器号

ANDNOT

 

A1

A2

 

将(常开或常闭)触点(A1)与常闭触点(A2)串联。

OR

继电器号

A1

A2

 

将常开触点(A1)和常开触点(A2)并联。

指令名称

助记符

典型梯形图

一般功能

操作数范围

备注

或非

ORNOT

继电器号

A2

A1

 

将(常开或常闭)触点(A1)和

常闭触点(A2)并联。

同上。

同上。

逻辑块与

ANDLD

A

B

 

将触点组(块)A和触点组(块)

B串联。

逻辑块或

ORLD

 

 

A

 

B

 

将触点组(A块)和触点组(B

块)并联。

NOT

NOT(520))

 

每个循环将执行条件取反,在非指令的右侧需接指令(执行条件)。

条件通

UP

UP(521)

当输入条件从OFF→ON时,UP(521)把执行条件在一个周期内变ON。

条件断

DOWN

DOWN(522)

当输入条件从ON→OFF时,DOWN(522)把执行条件在一个周期内变ON。

 

指令名称

助记符操作数

典型梯形图

一般功能

操作数范围

备注

位测试

N

S

LDTST

LDTST(350)

S

N

 

LDTST(350),ANDTST(350)和ORTST(350)指令在程序中的用途类似于LD、AND和OR指令,当指定字S中的指定位N为ON时,执行条件变为ON,反之执行条件变为OFF。

CIO区、W区、H区、A区、T区、C区、DM区、无区号EM区、有区号EM区、二进制间接DM/EM地址、BCD间接DM/EM地址、数据寄存器、使用变址寄存器间接寻址。

操作数N还可以是常数#0000~#000F,即&0~&15。

位测试

ANDTST

 

S

N

AND

TST(350)

 

同上。

ORTST

S

N

TST(350)

OR

位测试

 

LDTSTN

 

S

N

TSTN(351)

LDTSTN(351)(TTST(350)

 

LDTSTN(351),ANDTSTN(351)和ORTSTN(351)指令在程序中的用途类似于LDNOT、ANTNOT和ORNOT指令,当指定字S中的指定位N为ON时,执行条件为OFF,反之执行条件为ON。

ANDTSTN

ANDTST(350)

S

N

TSTN(351)

 

ORTSTN

OR

S

N

TSTN(351)TST(350)

 

2.几点说明

上表中指令除了列出的一般功能外,有些指令还加注前缀符号,下面分别加以说明。

(1)操作数位

上表中顺序输入指令的操作数,以位为单位进行操作,且不影响标志位。

(2)指令的特定功能

表中的特定功能是指这些指令具有微分和刷新功能等,其中上升沿微分的前缀标志为“@”,下降沿微分的前缀标志为“%”,刷新的前缀标志为“!

”,它们还可以组合成前缀标志为“!

@”和“!

%”。

如加载LD指令,有@LD,%LD,!

LD,!

@LD,!

%LD。

因此,上表中的特定功能指这些指令具有@,%,!

,!

@,!

%所规定的功能,在后面章节里,有一些只标明了其中一种,说明它只具有其中的某一种特定功能。

A

在指令符号前没有加前缀“@”和“%”及其组合标志的指令,称为微分型指令。

当执行条件为ON时,指令在每个循环周期都将执行。

而对于微分型指令,当执行条件为OFF→ON(上升沿)或ON→OFF(下降沿)变化时,该指令只执行一次。

在梯形图中,上升沿和下降沿微分指令中,通常采用↑和↓符号表示,例如@LDA的梯形图可用表示。

(3)输入指令中的UP和DOWN指令与上述上升沿微分或下降沿微分的输入指令有相似功能。

当UP(521)所接收的执行条件从OFF变为ON时,使下一个指令的执行条件变ON一个循环。

当DOWN(522)说接收的执行条件ON变为OFF时,使下一个指令的执行条件变ON一个循环。

(4)在下面的顺序输出指令中的DIFU和DIFD指令也有微分功能,且可以和刷新指令相结合。

 (5)下降沿微分(%)仅LD、AND、OR和REST指令有效。

为建立其他指令的下降沿微分变化,可用DIRU(014)或DOWN(522)控制工作位来控制指令的执行。

(6)对于操作数中的可用数据区CIO、W、H、A、T、C等,如果没有特别说明,均指这些区中所有的位。

而任务标志区为TK0000~TK0031;时钟脉冲有0.02s、0.1s、0.2s、1s、1min时钟脉冲。

DM区为D00000~D32767,无区号EM区为E00000~E32767;有区号EM区为En_00000~En_32767(n=0~C)。

二进制间接DM/EM地址为D00000~D32767、E00000~E32767、En_00000~En_32767(n=0~C)。

数据寄存器为DR0~DR15。

BCD间接DM/EM地址为*D00000~*D32767、*E00000~*E32767、*En_00000~*En_32767(n=0~C)。

(7)常见的条件标志,如表3-2所示。

表3-2常见的条件标志

条件标志

编程器标志

CX-P标志

错误标志

ER

P-ER

访问错误标志

AER

P-AER

进位标志

CY

P-CY

大于标志

P-GT

等于标志

P-EQ

小于标志

P-LT

负标志

N

P-N

上溢出标志

OF

P-OF

下溢出标志

UF

P-UF

大于或等于标志

>=

P-GE

不等于标志

<>

P-NE

本书后面出现的特定功能以上述为参考,不再累述。

3.1.2顺序输出指令

1.顺序输出指令表

常用顺序输出指令,包括输出和输出非、各种置位和复位以及保持指令等,如表3-3所示。

表3-3常用的顺序输出指令表

指令名称

助记符

A

典型梯形图

一般功能

特定功能

输出

OUT

 

A

输出指令,将把执行运算的结果(执行条件)输出到指定的继电器(位),是继电器线圈的驱动指令。

!

OUT

输出非

OUTNOT

 

输出非指令,将把执行运算的结果(执行条件)取反后,再输出到指定的继电器(位),也是继电器线圈的驱动指令。

!

OUTNOT

保持

R(复位)

S(置位)

B

KEEP(011)

KEEP

 

用于将输出继电器置为ON并保持。

当置位端S为ON时,KEEP(011)使B为ON,直到复位端R为ON。

当S和R同时为ON时,R端输入优先。

!

KEEP

上升沿微分

DIFU

B

DIFU(013)

 

当检测到执行条件从OFF→ON(上升沿)变化瞬间,继电器触点B(位)仅接通一个扫描周期。

 

!

DIFU

下降沿微分

DIFD

B

DIFD(014)

 

当检测到执行条件从ON→OFF(下降沿)变化瞬间,继电器触点B(位)仅接通一个扫描周期。

注:

DIFU和DIFD指令对使用次数不加限制。

!

DIFD

置位

SET

SET

B

 

当执行条件为ON时,把操作位B变为ON,并且当执行条件为OFF时,不影响操作数的状态。

简单讲就是将输出继电器置为ON状态,简称置位。

复位

RSET

RSET

B

当执行条件为ON时,把操作位B置为OFF,并且当执行条件为OFF时,不再影响操作数的状态。

简单讲是将输出继电器置为OFF状态,简称复位。

 

多位置位

SETA

SETA(530)

D

N1

N2

将指定连续位的数都置为ON。

其中D为起始字,N1为起始位,N2为位数。

即SETA(530)将从D的N1位开始连续到N2位的数都变为ON,其他位保持不变。

 

@SETA

指令名称

助记符

典型梯形图

一般功能

特定功能

多位复位

RSTA

RSTA(531)

D

N1

N2

 

RSTA(531)各个表示和SETA(530)一致,只是结果相反,使从D的N1位开始连续到N2位的数都变为OFF,其他位保持不变。

 

@RSTA

单位置位

SETB

SETB(532)

D

N

 

当执行条件为ON时,SETB(532)将指定字中的某位N置为ON。

当执行条件为OFF时,该位状态保持不变。

它与SET指令不同,SETB(532)可用在一个DM或EM字中将某一位置为ON。

其中,D为字地址,N为位(0~15)号。

 

@SETB

!

SETB

单位复位

RSTB

RSTB(533)

D

N

 

这条指令用法和SETB大致相同,不同的是当执行条件为ON时,SETB(532)将指定字中的某位N置为OFF。

@RSTB

单位输出

OUTB

OUTB(534)

D

N

 

OUTB(354)将指令执行条件的状态输出给指定位。

与OUT不同的是OUTB(534)能控制DM区或EM区。

当执行条件为ON时,OUTB(534)使字D的第N位变为ON;当执行条件为OFF时,OUTB(534)使字D第N位变为OFF。

@OUTB

!

OUTB

2.可用数据区的说明

(1)OUT、OUTNOT指令可用的数据区有CIO区、W区、H区、A区、TR区以及可使用变址寄存器间接寻址。

(2)KEEP、DIFU、DIFD、SET和RESET指令可用的数据区有CIO区、W区、H区、A区、使用变址寄存器间接寻址,没有TR区。

(3)SETA/RSTA、SETB/RSTB、OUTB指令可用的数据区有CIO区、W区、H区、T区、C区、DM区、无区号EM区、有区号EM区、二进制间接DM/EM地址、BCD间接DM/EM地址、数据寄存器、使用变址寄存器间接寻址。

特别是SETA/RSTA、SETB/RSTB、OUTB指令的操作数D在A区为A448~A959,N或N1、N2在A区为A000~A959。

SETB/RSTB、OUTB指令N的操作数也可以是常数,其值为0~15。

SETA/RSTA的操作数N1的范围为0~15,操作数N2的范围为0~65535。

顺序输入和顺序输出指令是最基本的指令,也是最常用的指令,这些指令在所有程序中几乎都会用到。

除此之外,还有顺序控制、定时器和计数器指令,它们也是PLC程序中常用的指令,下面分别加以介绍。

3.1.3顺序控制指令

1.顺序控制指令表

顺序控制指令包括联锁与解锁、跳转、循环以及结束指令等,如表3-4所示。

表3-4顺序控制指令表

指令

助记符

典型梯形图

一般功能

空操作

NOP(000)

 

此指令不执行任何操作,简称空操作。

在编程时插入该指令便于程序的检查和修改。

结束

END(001)

END(001)

IL(002)

ILC(003)

N

JMP(004)

N

JME(005)

N

CJP(510)

N

CJPN(511)

JMP0(515)

JME0(516)

N

FOR(512)

NEXT(513)

 

表示主程序结束。

程序最后结束时若无此指令,执行时将视为错误。

联锁与

联锁解除

IL(002)

 

ILC(003)

 

联锁IL(002)和联锁解除ILC(003)指令用于互锁IL(002)和ILC(003)之间的所有输出,它们总是一起使用,用于成组控制IL(002)和ILC(003)之间的指令,可解决分支点执行条件的存储问题。

跳转与

跳转结束

JMP(004)

JME(005)

 

JMP(004)是根据一个指定条件,可跳过程序中的某一个程序段。

当执行条件为ON时,则程序和没有跳转指令一样运行;当条件为OFF时,则程序立即跳转到跳转结束指令之后的程序继续执行,JMP(004)与

JME(005)之间维持上一扫描周期的执行结果。

条件跳转

CJP(510)

 

CJP(510)的用法和JMP(004)相反。

当CJP(510)的执行条件为ON时,程序直接跳转至CJP(510)指令相同编号N的第一个JME(005)去执行。

CJP(510)与JME(005)总是成对使用。

条件跳转

CJPN(511)

 

CJPN(511)用法几乎等同于JMP(004)。

当CJPN(511)的执行条件为OFF时,程序直接跳转至与CJPN(511)指令相同编号N的第一个JME(005)。

CJPN(511)和JME(005)总是成对使用。

多路跳转与跳转结束

JMP0(515)

JME0(516)

 

当JMP0(515)的执行条件为OFF时,从JMP0(515)至下一个JME0(516)的所有指令都被当作是空操作NOP(000)。

JMP0(515)和JME0(516)也是成对使用。

在程序中使用的对数无任何限制。

循环

FOR-NEXT

 

FOR(512)

NEXT(513)

 

 

对FOR(512)和NEXT(513)之间的指令,重复执行指定的次数N。

R然后继续执行NEXT后面的程序,可用BREAK(512)指令退出循环。

FOR(512)和NEXT(513)成对使用。

退出循环

BREAK(514)

BREAK(514)(514)(514)

在FOR-NEXT(513)循环中编程,BREAK(514)指令对所给的执行条件取消循环执行。

循环中余下的指令作为空操作处理。

 

2.可用数据区的说明

(1)END、IL/ILC、JMP0/JME0、NEXT和BREAK指令无操作数。

(2)JMP、CJP、CJPN、FOR指令可用的数据区为CIO区、W区、H区、A区、T区、C区、DM区、有区号EM区、无区号EM区、二进制间接DM/EM地址、BCD间接DM/EM地址、常数,数据寄存器使用变址寄存器间接寻址。

当这些指令的操作数为常数时,取值范围为#0000~#03FF,即&0~&1023。

(3)JME指令的操作数只能为常数,范围为#0000~#03FF,即&0~&1023。

【例3.1】分支电路的编程方法

分支电路如图3-1(a)所示。

图中A点为分支点,右侧分为三条支路,且每条支路都有触点控制,这种连接方式既不同于触点与触点的连接或逻辑块与逻辑块的连接,也不同于连续输出,因此用前面介绍的输入或逻辑等指令都不能编程,此时需要用到联锁和联锁解除指令。

分析该图的功能可以看出,当000000为OFF时,000210、000211、000212都处于断电状态;当000000为ON时,000210、000211、000212的状态取决于各自支路上的控制触点。

所以,将图(a)用联锁和联锁解除指令时,梯形图可修改为图(b)所示,000000用于控制IL和ILC之间的联锁程序执行。

当000000为ON时,IL(002)和ILC(003)之间的程序正常执行,相当于没有这对指令存在一样;当000000为OFF时,在IL和ILC之间的所有程序互锁,则三条支路都处于断开状态,每个线圈都处于断电状态。

可见,图(a)与图(b)的功能完全一样,这种电路又称为复合输出。

(003)

000213

 

(a)(b)

图3-1IL/ILC在分支电路中的应用

几点说明:

①不论IL前面的条件是ON或OFF,PLC都要对IL—ILC之间的联锁程序段处理,因此使用该指令需要占用扫描时间;当条件000000由ON变为OFF时,IL与ILC指令之间的所有输出都被复位。

②IL和ILC指令可以成对使用,也可以用多个IL指令只配一个ILC指令,但不允许嵌套使用(如IL—IL—ILC—ILC)。

在图3-2中,图(a)联锁程序实现的功能和图(b)一样,图(c)是用助记符编写的同一程序。

当多个IL指令配一个ILC指令使用时,程序检查时虽然会有出错信息显示,但不影响程序的正常执行。

 

(003)

 

(a)(b)(c)

图3-2IL/ILC的应用举例

000210

处理分支的梯形图还有另一种办法,即使用暂存继电器TR,暂存继电器TR共有16位,分别为TR00~TR15。

TR位可用来暂时存储执行结果,如果一个TR位被设置于一个分支点处,则当前的执行结果就会被存储在指定的TR位中。

例如图3-3(a)中梯形图存在一个分支点,用TR位来处理,其等效电路如图3-3(b)所示,与图(a)的功能完全一样,助记符见图的中间所示。

一般情况下,用TR位处理,比用联锁指令处理的程序要长一些。

 

(a)原电路(b)等效电路

图3-3用TR位处理分支的编程举例

几点说明:

①TR位只有16位,在使用次数上虽然没有限制,但在在同一程序段中,TR号不能重复使用;

②TR不是独立的编程指令,只能和LD或OUT等基本指令一起使用;

③TR位不能用编程器或其他设备进行监视;

④直接用梯形图编程时,则不用TR,该程序能够自动执行图(a)的梯形图;如果梯形图用图(b)表示时,则会提示“会和地址混淆,TR00不允许作为符号名”。

所以,图(b)是对应于图(a)的一种等效,只是为了说明问题方便。

【例3.2】跳转指令的编程方法

如图3-4所示为JMP(004)和JME(005)指令的应用示例

000001

(a)(b)(c)

图3-4JMP(004)和JME(005)指令的应用示例

上例中,000000作为JMP00指令的条件,当000000为ON时,JMP和JME指令之间的程序顺序连续执行,相当于没有这对指令一样,不会发生跳转;当000000为OFF时,跳过JMP和JME指令之间的程序,即输出000210、000211和000212保持原来状态(当前值),转到JME00之外的程序去执行。

在程序的梯形图中使用图(b)形式进行编程。

使用JMP和JME指令时,需注意以下几点:

1在一个程序中可以有多组JMP和JME指令,用跳转号对其进行编号,跳转号的范围为00~1023。

若跳转号不在此范围时,ER将出错(ON)。

2跳转号00是专用跳转号。

当JMP00指令的输入条件OFF时,在JMP00和JME00指令之间的程序将被扫描但是不被执行。

因此,它将占用扫描时间,而其他跳转号的跳转指令在相同条件下,相应程序段不被扫描;

3在一个程序中,JMP00和JME00指令可以多次使用,而其他跳转号的跳转指令只能使用一次,故JMP00和JME00指令可以不成组使用,即“JMP…JMP…JME”格式。

虽然这种格式在程序检查时会提示出错,但程序能够正常执行。

④JME(005)-JMP(004)可做循环用,在JMP(004)前用JME(005),只要JMP(004)的执行条件OFF,在JME(005)和JMP(004)间的指令会重复执行,如果执行条件不变ON或在最大循环时间内不执行结束指令END(001)会产生循环时间太长错误。

⑤不同的任务块之间不允许相互跳转,即JMP(004)和JME(005)必须在同一任务块中使用,否则ERR会出错(ON)。

【例3.3】循环指令的编程方法

FOR(512)和NEXT(513)循环可以嵌套使用,且多至15级,如图3-5(a)所示为FOR(512)和NEXT(513)循环调用的举例。

在这个例子中,程序段A、B和C按A→B→B→C,A→B→B→C和A→B→B→C的顺序循环执行3次。

使用一个BREAK(514),则从一个FOR-NEXT循环中退出;若需要从嵌套循环中退出,则需要多个BREAK(514)指令,BREAK(514)后循环中余下的指令作空操作处理。

如图3-5(b)所示为BREAK(514)在多个FOR-NEXT循环指令中的运用。

图3-5(c)为循环的一个简单例子,循环程序段中将D00100的内容传给D00200中所示的地址里,然后,D00200中的内容+1。

循环程序段循环了3次。

退出循环,执行循环外的程序。

图3-5FOR(512)和NEXT(513)循环指令的应用示例

使用循环指令FOR-NEXT时,应注意以下问题。

①当FOR-NEXT的嵌套循环数超过15个时,错误标志ER为ON;

②FOR-NEXT循环一定要编在同一个任务中,如果这些指令不在同一个任务中,则不执行重复;

③JMP(004)跳转指令可以在FOR-NEXT循环中执行,但它不能跳出FOR-NEXT循环;

④块编程指令、多重跳转和结束指令、步定义和步开始指令不能用在FOR-NEXT循环指令中。

【例3.4】KEEP指令的应用

利用KEEP指令可以设计报警输出,如图3-6所示,图中000000、000001和000002为异常输入信号。

当控制电路发生异常情况时,继电器380000工作,使输出继电器000200得电,可接通报警信号灯进行报警,直至复位(R)输入时报警才能解除。

380000

图3-6应用KEEP指令的梯形图程序

利用SETB(532)/RSTB(533)也可以和KEEP指令一样直

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2