欧姆龙PLC(CPM1A)功能指令

功能指令又称专用指令,欧姆龙CPM1A系列plc提供的功能指令主要用来实现程序控制,数据处理和算术运算等。这类指令在简易编程器上一般没有对应的指令键,只是为每个指令规定了一个功能代码,用两位数字表示。在输入这类指令时先按下“FUN”键,再按下相应的代码。下面将介绍部分常用的功能指令。
1.空操作指令NOP(0 0)
本指令不作任何的逻辑操作,故称空操作,也不使用继电器,无须操作数。该指令应用在程序中留出一个地址,以便调试程序时插入指令,还可用于微调扫描时间。
2.结束指令END(01)
本指令单独使用,无须操作数,是程序的最后一条指令,表示程序到此结束。PLC在执行用户程序时,当执行到END指令时就停止执行程序阶段,转入执行输出刷新阶段。如果程序中遗漏END指令,编程器执行时则会显示出错信号:“NO END INSET”:当加上END指令后,PLC才能正常运行。本指令也可用来分段调试程序。
3.互锁指令IL(02)和互锁清除指令ILC(0 3)
这两条指令不带操作数,IL指令为互锁条件,形成分支电路,即新母线以便与LD指令连用,表示互锁程序段的开始;ILC指令表示互锁程序段结束。
互锁指令IL和互锁清除指令ILC用来在梯形图的分支处形成新的母线,使某一部分梯形图受到某些条件的控制。IL和ILC指令应当成对配合使用,否则出错。IL/ILC指令的功能是:如果控制IL的条件成立(即ON),则执行互锁指令。若控制IL的条件不成立(即OFF),则IL与ILC之间的互锁程序段不执行,即位于IL/ILC之间的所有继电器均为OFF,此时所有定时器将复位,但所有的计数器,移位寄存器及保持继电器均保持当前值。
4.跳转开始指令JMP(0 4)和跳转结束指令JME(0 5)
这两条指令不带操作数,JMP指令表示程序转移的开始,JME指令表示程序转移的结束。
JMP/JME指令组用于控制程序分支。当JMP条件为OFF时,程序转去执行JME后面的第一条指令;当JMP的条件为ON,则整个梯形图按顺序执行,如同JMP/JME指令不存在一样。
在使用JMP/JME指令时要注意,若JMP的条件为OFF,则JMP/JME之间的继电器状态为:输出继电器保持目前状态;定时器/计数器及移位寄存器均保持当前值。另外JMP/JME指令应配对使用,否则PLC显示出错。
5.逐位移位指令 SFT(10)
又称移位寄存器指令,本指令带两个操作数,以通道为单位,第一个操作数为首通道号D1,第二个操作数为末通道号D2。所使用的继电器有:000CH~019CH, 200CH~252CH, HR00~HR19。其功能相当于一个串行输入移位寄存器。
移位寄存器有数据输入端(IN)、移位时钟端(CP)及复位端(R),必须按照输入(IN)、时钟(CP)、复位(R)和SFT指令的顺序进行编程。当移位时钟由OFF→ON时,将(D1~D2)通道的内容,按照从低位到高位的顺序移动一位,最高位溢出丢失,最低位由输入数据填充。当复位端输入ON时,参与移位的所有通道数据均复位,即都为OFF。
如果需要多于16位的数据进行移位,可以将几个通道级连起来。
移位指令在使用时须注意:起始通道和结束通道,必须在同一种继电器中且起始通道号≤结束通道号。
6.锁存指令KEEP(11)
本指令使用的操作数有:01000~01915、20000~25515、HR0000~HR1915,其功能相当于锁存器,当置位端(S端)条件为ON时,KEEP继电器一直保持ON状态,即使S端条件变为OFF,KEEP继电器也还保持ON,,直到复位端(R端)条件为ON时,才使之变OFF ,KEEP 指令主要用于线圈的保持,即继电器的自锁电路可用KEEP指令实现。若SET端和RES端同时为ON,则KEEP继电器优先变为OFF。锁存继电器指令编写必须按置位行(S端),复位行(R端)和KEEP继电器的顺序来编写。
7.前沿微分脉冲指令DIFU(13)和后沿微分脉冲指令DIFD(14)
本指令使用操作数有:01000~01915、20000~25515、HR0000~HR1915,DIFU的功能是在输入脉冲的前(上升)沿使指定的继电器接通一个扫描周期之后释放,而DIFD的功能是在输入脉冲的后(下降)沿使指定的继电器接通一个扫描周期之后释放。
8.快速定时器指令 TIMH(15)
本指令操作数占二行,一行为定时器号000~127(不得与TIM或CNT重复使用同号),另一行为设定时间。设定的定时时间,可以是常数,也可以由通道000CH~019CH,20000CH~25515CH,HR0000~HR1915中的内容决定,但必须为四位BCD码。其功能与基本指令中的普通定时器作用相似,唯一区别是TIMH定时精度为0. 01s,定时范围为0~99.99s。
9.通道移位指令WSFT(16)
又称字移位指令,本指令是以字(通道)为单位的串行移位。操作数为首通道号D1,末通道号D2。可取000CH~019CH, 200CH~252CH, HR00~HR19。通道移位指令执行时,当移位条件为ON,WSFT从首通道向末通道依此移动一个字,原首通道16位内容全部复位,原末通道中的16位内容全部移出丢失。
WSFT指令在使用时须注意:首通道和末通道必须是同一类型的继电器;首通道号≤末通道号。
当移位条件为ON时,CPU每扫描一次程序就执行一次WSFT指令。如只要程序执行一次,则应该用微分指令。
10.可逆计数器指令 CNTR(12)
本指令的功能是对外部信号进行加1或减1的环形计数。带两个操作数:计数器号000~127,设定值范围0000~9999,设定值可以用常数,也可以用通道号,用通道号时,设定值为通道中的内容。
11.比较指令CMP(20)
本指令的功能是将S(源通道)中的内容与D(目标通道)的内容进行比较,其比较结果送到PLC的内部专用继电器25505、05506、25507中进行处理后输出,输出状态见表4-9。
表4-9 比较结果输出专用继电器状态表
SMR255052550625507
S>DONOFFOFF
S=DOFFONOFF
S,DOFFOFFON
比较指令CMP用于将通道数据S与另一通道数据D中的十六进制数或四位常数进行比较,S和D中至少有一个是通道数据。
12.数据传送指令 MOV(21)和数据求反传送指令MOVN(22)
这两条指令都是用于数据的传送。当MOV前面的状态为0N时,执行MOV指令,在每个扫描周期中把S中的源数据传送到目标D所指定的通道中去。当MOV前面的状态为0FF时,执行MOVN指令,在每个扫描周期中把S中的源数据求反后传送到目标D所指定的通道中去。执行传送指令后,如果目标通道D中的内容全为零时,则标志位25506为ON。
13.进位置位指令STC(40)和进位复位位指令CLC(41)
这两条指令的功能是将进位标志继电器25504置位(即置ON)或强制将进位标志继电器25504复位(即置OFF)。当这两条指令前面状态为ON时,执行指令,否则不执行。通常在执行加、减运算操作之前,先执行CLC指令来清进位位,以确保运算结果的正确。
14.加法指令ADD(30) 本指令是将两个通道的内容或一个通道的内容与一个常数相加(带进位位),再把结果送至目标通道D。操作数中被加数S1、加数S2、运算结果D的内容见表4-10。
表4-10 加法指令的操作数内容
S1/S2000~019CH200~231CHHR00~HR19TIM/CNT000~127DM0000~1023
DM6144~6655四位
常数
D010~019CH200~231CHHR00~HR19—DM0000~1023—
注:DM6144~6655不能用程序写入(只能用外围设备设定)
说明:执行加法运算前必须加一条清进位标志指令CLC(41)参加运算;被加数和加数必须是BCD数,否则25503置ON,不执行ADD指令;若相加后结果有进位,则进位标志继电器25504为ON;若和为零,则专用继电器25506变为ON。
15.减法指令SUB(31)
本指令与ADD指令相似,是把两个四位BCD数作带借位减法,差值送入指定通道,其操作数同ADD指令。在编写SUB指令语言时,必须指定被减数,减数和差值的存放通道三个数
说明:执行减法运算前必须加一条清进位位指令CLC(41);被减数和减数必须是BCD数,否则25503置ON,不执行SUB指令;若运算结果有借位,则进位标志继电器25504为ON;若运算结果为零,则专用继电器25506变为ON。
以上介绍是CPM1A系列PLC一些常用的专用指令,还有一些未作介绍,C200H系列PLC除了基本指令和CPM1A系列PLC相同外,很多功能指令也相同,另外又增加了一些功能指令,读者可以根据不同型号的PLC按其使用功能的不同参阅使用手册加以学习和掌握。