除根本逻辑指令外,OMRON公司C系列plc还有若干条功用指令,或称专用指令。因机型不同所运用的功用指令数量也不同,如C20P~C60P有功用指令25条,C500有功用指令56条,C200H有功用指令133条,C1000H、C2000H有功用指令162条。层次越高,功用指令数越多,因而操控功用越强。
与根本指令不同,功用指令在编程器上没有与其对应的专用键,输入功用指令时,先按下FUN键,然后输入功用代码。不同的功用代码有不同的助记符,以完成不同的功用。
1、程序完毕指令END(FUN 01)
END指令在梯形图中的符号如图1所示。
图1 END指令在梯形图中的符号
在程序完毕时,有必要运用END指令。一般P型机对用户程序的扫描规模为:从0000到1193步循环扫描,参加END指令可使程序只在0000~END之间循环扫描,缩短了循环周期。别的,在程序调试时运用END指令分段调试,使调试程序变得简略便利。
2、分支开端指令IL(FUN 02)和分支完毕指令ILC(FUN 03)
IL和ILC指令在梯形图中的符号如图2所示。
图2 IL和ILC指令在梯形图中的符号
假如梯形图中呈现具有分支的多路输出程序,且分支电路后的每个输出支路至少有一个串联触点时,可用分支开端指令IL编程,分支完毕时用ILC指令使IL指令复位,回到前一级逻辑母线。IL指令和ILC指令在程序中要求合作运用,但也答应在不会引起程序紊乱的前提下用一个ILC和多个IL合作运用,此刻在履行程序查看时会在编程器上显现犯错提示“IL-ILC ERR”,但这个过错不会影响程序的正常履行。
当IL的条件为OFF时,IL和ILC之间的各继电器状况为:输出继电器、 辅佐继电器断开,定时器复位,计数器、坚持继电器、锁存继电器坚持原状况不变。当IL的条件为ON时,IL和ILC之间的各继电器正常作业。
在梯形图程序中,答应呈现多重分支程序,即分支嵌套。在小型PLC中,答应进行分支嵌套的次数不该超越8次。图3所示是一个含有三重分支的程序。
图3中,在分支处构成一个新的逻辑母线,因而从这个新逻辑母线开端的指令都要用LD或LD NOT指令。如0000为OFF,0501、0502、0503和0504均为OFF,CNT02正常作业……如0000为ON,且0001或0004为ON、0002或0005为ON时,程序正常履行。当0000为OFF时,不满意履行条件,IL~ILC间的程序不被履行,由此能够看出来选用IL~ILC编程比选用暂存继电器TR能够使程序愈加简练。
图3 IL和ILC指令
3、跳转开端指令JMP(FUN 04)和跳转完毕指令JME(FUN05)
JMP和JME指令在梯形图中的符号如图4所示。
假如JMP的条件为ON时,程序正常履行,即相当于没有JMP和JME指令。假如JMP的条件为OFF,则履行跳转,即不履行JMP~JME间的程序。
图5中,如1001为ON,程序履行次序为A→B→C,否则为A→C。
图4 JMP和JME指令在梯形图中的符号
图5 跳转指令
假如JMP的条件为OFF,JMP~JME间的各继电器状况为:输出继电器、辅佐继电器、坚持继电器、锁存继电器坚持跳转前的状况不变。定时器复位,中止计时。计数器中止计数,坚持跳转前的计数值不变。
图6中,当1000为ON时,程序正常履行。当1000为OFF时,开端跳转,直接履行JME之后的程序。在此期间,不管1001是ON或OFF,0500均坚持跳转前的ON/OFF状况不变;定时器TIM00复位中止作业,即便1002为ON,TIM00也不会作业;计数器CNT03则中止计数,坚持跳转前的计数值不变。
图6 JMP和JME指令
与分支指令相同,JMP和JME一般也要求合作运用,也答应不超越8次的嵌套。也答应多个JMP和一个JME合作运用(此刻程序查看时会在编程器上呈现“JMPJMP ERR”,但不影响程序正常运转)。
4、锁存器指令KEEP(FUN 11)
KEEP指令在梯形图中的符号如图7所示。
图7 KEEP指令在梯形图中的符号
XXXX为继电器号,可运用的继电器有输出继电器、 内部辅佐继电器和坚持继电器。S端为置“1”输入端,假如S端为ON,则继电器XXXX得电并自锁。R端为置“0”输入端(即复位端),假如R端为ON,则继电器XXXX免除自锁(失电)。当R端和S端一起呈现信号时,复位优先。
KEEP指令能够使一个一般的继电器具有锁存功用,称之为锁存继电器。运用KEEP指令很简单完成相似继电器操控线路中的自锁(或自坚持)功用,如图8中0002为ON时,0500变为ON并自坚持,即便0002由ON变为OFF,只需0003为OFF,0500一直为ON。假如0003为ON,0500就变为OFF。图8(b)的效果与图8(a)相同。
图8 KEEP指令
KEEP指令具有自锁功用,但有必要留意的是KEEP指令自身并无掉电坚持功用,图8(a)中如程序运转中电源掉电时,0500将变为OFF,如欲在电源产生毛病后又康复送电时电路的状况坚持不变,可用坚持继电器作为锁存器。图9所示的报警电路中,0002、0003和0004为报警条件,0005为报警免除,输出端子0500接报警设备。
图9 KEEP指令的运用
5、前沿微分指令DIFU(FUN 13)和后沿微分指令DIFD(FUN 14)
DIFU和DIFD指令在梯形图中的符号如图10所示。
图10 DIFU和DIFD指令在梯形图中的符号
XXXX为继电器号,DIFU和DIFD指令可运用的继电器为输出继电器、内部辅佐继电器和坚持继电器。
DIFU指令的功用是在满意条件的输入信号前沿,使指定的继电器ON一个扫描周期。DIFD指令的功用是在满意条件的输入信号后沿,使指定的继电器ON一个扫描周期。DIFU和DIFD指令在一个程序中最多可运用的数量都是48个。
图11说明晰DIFU和DIFD的作业情况。
图11 DIFU和DIFD
6、移位存放指令SFT(FUN 10)
SFT指令在梯形图中的符号如图12所示。
IN端为数据输入端,CP端为脉冲输入端,R端为复位输入端。
SFT指令的功用相当于一个串行输入移位存放器,其功用是将从首通道到末通道的n个通道的n×16 位数据按位移位。
图12 SFT指令在梯形图中的符号
SFT指令可运用的通道能够是输出继电器、内部辅佐继电器和坚持继电器通道。首通道和末通道能够是同一个通道,也能够不是同一通道(此刻要求首通道号小于末通道号,且要确保首通道和末通道是同一类通道)。
用SFT指令编程时有必要按数据输入、移位脉冲输入、复位输入、SFT、首通道号、末通道号的次序进行编程。数据移位是由脉冲输入CP端操控,CP端每由OFF→ON一次(即在移位脉冲输入的上升沿),从首通道至末通道的一切“位”均将自己的数据(0或1)传给下一“位”,首通道的第一位(即首通道的第00位)的状况取决于移位脉冲的上升沿所对应的数据输入IN端的状况,即在移位脉冲输入的上升沿所对应的时间,假如IN端为ON,则首通道的第00位也为ON,否则为OFF。当复位输入R端变为ON时,一切被移位通道中的数据一起被置“0”。假如移位通道是坚持继电器通道,则电源掉电时通道中的内容坚持不变。
图13中,在复位输入0503为OFF时,0500(即首通道的第一位)的状况取决于数据输入IN(即1000),其它各位在每个时钟脉冲CP的上升沿顺次移位。在复位输入0503为ON时,一切位均被置“0”。