欧姆龙CPM1A系列PLC功能指令 
2018-03-13  来源:网络或本站原创

     功能指令又称专用指令,CPM1A系列PLC提供的功能指令主要用来实现程序控制,数据处理和算术运算等。这类指令在简易编程器上一般没有对应的指令键,只是为每个指令规定了一个功能代码,用两位数字表示。在输入这类指令时先按下“FUN”键,再按下相应的代码。下面将介绍部分常用的功能指令。

1.空操作指令NOP0 0

本指令不作任何的逻辑操作,故称空操作,也不使用继电器,无须操作数。该指令应用在程序中留出一个地址,以便调试程序时插入指令,还可用于微调扫描时间。

2.结束指令END01

本指令单独使用,无须操作数,是程序的最后一条指令,表示程序到此结束。PLC在执行用户程序时,当执行到END指令时就停止执行程序阶段,转入执行输出刷新阶段。如果程序中遗漏END指令,编程器执行时则会显示出错信号:“NO END INSET”:当加上END指令后,PLC才能正常运行。本指令也可用来分段调试程序。

3.互锁指令IL02)和互锁清除指令ILC0 3

这两条指令不带操作数,IL指令为互锁条件,形成分支电路,即新母线以便与LD指令连用,表示互锁程序段的开始;ILC指令表示互锁程序段结束。

互锁指令IL和互锁清除指令ILC用来在梯形图的分支处形成新的母线,使某一部分梯形图受到某些条件的控制。ILILC指令应当成对配合使用,否则出错。IL/ILC指令的功能是:如果控制IL的条件成立(即ON),则执行互锁指令。若控制IL的条件不成立(即OFF),则ILILC之间的互锁程序段不执行,即位于IL/ILC之间的所有继电器均为OFF,此时所有定时器将复位,但所有的计数器,移位寄存器及保持继电器均保持当前值。

4.跳转开始指令JMP0 4)和跳转结束指令JME0 5

这两条指令不带操作数,JMP指令表示程序转移的开始,JME指令表示程序转移的结束。

JMP/JME指令组用于控制程序分支。当JMP条件为OFF时,程序转去执行JME后面的第一条指令;当JMP的条件为ON,则整个梯形图按顺序执行,如同JMP/JME指令不存在一样。

     在使用JMP/JME指令时要注意,若JMP的条件为OFF,则JMP/JME之间的继电器状态为:输出继电器保持目前状态;定时器/计数器及移位寄存器均保持当前值。另外JMP/JME指令应配对使用,否则PLC显示出错。

5.逐位移位指令 SFT10

又称移位寄存器指令,本指令带两个操作数,以通道为单位,第一个操作数为首通道号D1,第二个操作数为末通道号D2。所使用的继电器有:000CH~019CH, 200CH~252CH, HR00~HR19。其功能相当于一个串行输入移位寄存器。

移位寄存器有数据输入端(IN)、移位时钟端(CP)及复位端(R),必须按照输入(IN)、时钟(CP)、复位(R)和SFT指令的顺序进行编程。当移位时钟由OFFON时,将(D1~D2)通道的内容,按照从低位到高位的顺序移动一位,最高位溢出丢失,最低位由输入数据填充。当复位端输入ON时,参与移位的所有通道数据均复位,即都为OFF

如果需要多于16位的数据进行移位,可以将几个通道级连起来。

移位指令在使用时须注意:起始通道和结束通道,必须在同一种继电器中且起始通道号≤结束通道号。

6.锁存指令KEEP11

本指令使用的操作数有:01000~0191520000~25515HR0000~HR1915,其功能相当于锁存器,当置位端(S端)条件为ON时,KEEP继电器一直保持ON状态,即使S端条件变为OFFKEEP继电器也还保持ON,,直到复位端(R端)条件为ON时,才使之变OFF KEEP 指令主要用于线圈的保持,即继电器的自锁电路可用KEEP指令实现。若SET端和RES端同时为ON,则KEEP继电器优先变为OFF。锁存继电器指令编写必须按置位行(S端),复位行(R端)和KEEP继电器的顺序来编写。

7.前沿微分脉冲指令DIFU13)和后沿微分脉冲指令DIFD14

本指令使用操作数有:01000~0191520000~25515HR0000~HR1915DIFU的功能是在输入脉冲的前(上升)沿使指定的继电器接通一个扫描周期之后释放,而DIFD的功能是在输入脉冲的后(下降)沿使指定的继电器接通一个扫描周期之后释放。

8.快速定时器指令 TIMH15

本指令操作数占二行,一行为定时器号000~127(不得与TIMCNT重复使用同号),另一行为设定时间。设定的定时时间,可以是常数,也可以由通道000CH~019CH20000CH~25515CHHR0000~HR1915中的内容决定,但必须为四位BCD码。其功能与基本指令中的普通定时器作用相似,唯一区别是TIMH定时精度为0. 01s,定时范围为0~99.99s

9.通道移位指令WSFT16

又称字移位指令,本指令是以字(通道)为单位的串行移位。操作数为首通道号D1,末通道号D2。可取000CH~019CH, 200CH~252CH, HR00~HR19。通道移位指令执行时,当移位条件为ONWSFT从首通道向末通道依此移动一个字,原首通道16位内容全部复位,原末通道中的16位内容全部移出丢失。

WSFT指令在使用时须注意:首通道和末通道必须是同一类型的继电器;首通道号≤末通道号。

当移位条件为ON时,CPU每扫描一次程序就执行一次WSFT指令。如只要程序执行一次,则应该用微分指令。

10.可逆计数器指令 CNTR12

本指令的功能是对外部信号进行加1或减1的环形计数。带两个操作数:计数器号000~127,设定值范围0000~9999,设定值可以用常数,也可以用通道号,用通道号时,设定值为通道中的内容。

11.比较指令CMP20

本指令的功能是将S(源通道)中的内容与D(目标通道)的内容进行比较,其比较结果送到PLC的内部专用继电器255050550625507中进行处理后输出,输出状态见表4-9

4-9  比较结果输出专用继电器状态表

SMR

25505

25506

25507

S>D

ON

OFF

OFF

S=D

OFF

ON

OFF

S,D

OFF

OFF

ON

比较指令CMP用于将通道数据S与另一通道数据D中的十六进制数或四位常数进行比较,SD中至少有一个是通道数据。

12.数据传送指令 MOV21)和数据求反传送指令MOVN22

这两条指令都是用于数据的传送。当MOV前面的状态为0N时,执行MOV指令,在每个扫描周期中把S中的源数据传送到目标D所指定的通道中去。当MOV前面的状态为0FF时,执行MOVN指令,在每个扫描周期中把S中的源数据求反后传送到目标D所指定的通道中去。执行传送指令后,如果目标通道D中的内容全为零时,则标志位25506ON

13.进位置位指令STC40)和进位复位位指令CLC41

这两条指令的功能是将进位标志继电器25504置位(即置ON)或强制将进位标志继电器25504复位(即置OFF)。当这两条指令前面状态为ON时,执行指令,否则不执行。通常在执行加、减运算操作之前,先执行CLC指令来清进位位,以确保运算结果的正确。

14.加法指令ADD30 本指令是将两个通道的内容或一个通道的内容与一个常数相加(带进位位),再把结果送至目标通道D。操作数中被加数S1、加数S2、运算结果D的内容见表4-10

4-10  加法指令的操作数内容

S1/S2

000~019CH

200~231CH

HR00~HR19

TIM/CNT000~127

DM0000~1023

DM6144~6655

四位

常数

D

010~019CH

200~231CH

HR00~HR19

DM0000~1023

注:DM6144~6655不能用程序写入(只能用外围设备设定)

说明:执行加法运算前必须加一条清进位标志指令CLC41)参加运算;被加数和加数必须是BCD数,否则25503ON,不执行ADD指令;若相加后结果有进位,则进位标志继电器25504ON;若和为零,则专用继电器25506变为ON

15.减法指令SUB31

本指令与ADD指令相似,是把两个四位BCD数作带借位减法,差值送入指定通道,其操作数同ADD指令。在编写SUB指令语言时,必须指定被减数,减数和差值的存放通道三个数

说明:执行减法运算前必须加一条清进位位指令CLC41);被减数和减数必须是BCD数,否则25503ON,不执行SUB指令;若运算结果有借位,则进位标志继电器25504ON;若运算结果为零,则专用继电器25506变为ON

以上介绍是CPM1A系列PLC一些常用的专用指令,还有一些未作介绍,C200H系列PLC除了基本指令和CPM1A系列PLC相同外,很多功能指令也相同,另外又增加了一些功能指令,读者可以根据不同型号的PLC按其使用功能的不同参阅使用手册加以学习和掌握。