×
嵌入式 > 嵌入式开发 > 详情

欧姆龙PLC功能指令

发布时间:2020-08-06 发布时间:
|
除基本逻辑指令外,OMRON公司C系列plc还有若干条功能指令,或称专用指令。因机型不同所使用的功能指令数量也不同,如C20P~C60P有功能指令25条,C500有功能指令56条,C200H有功能指令133条,C1000H、C2000H有功能指令162条。档次越高,功能指令数越多,因而控制功能越强。

与基本指令不同,功能指令在编程器上没有与其对应的专用键,输入功能指令时,先按下FUN键,然后输入功能代码。不同的功能代码有不同的助记符,以实现不同的功能。

1、程序结束指令END(FUN01)

END指令在梯形图中的符号如图1所示。

图1END指令在梯形图中的符号

在程序结束时,必须使用END指令。一般P型机对用户程序的扫描范围为:从0000到1193步循环扫描,加入END指令可使程序只在0000~END之间循环扫描,缩短了循环周期。另外,在程序调试时利用END指令分段调试,使调试程序变得简单方便。

2、分支开始指令IL(FUN02)和分支结束指令ILC(FUN03)

IL和ILC指令在梯形图中的符号如图2所示。

图2IL和ILC指令在梯形图中的符号

如果梯形图中出现具有分支的多路输出程序,且分支电路后的每个输出支路至少有一个串联触点时,可用分支开始指令IL编程,分支结束时用ILC指令使IL指令复位,回到前一级逻辑母线。IL指令和ILC指令在程序中要求配合使用,但也允许在不会引起程序混乱的前提下用一个ILC和多个IL配合使用,此时在执行程序检查时会在编程器上显示出错提示“IL-ILCERR”,但这个错误不会影响程序的正常执行。

当IL的条件为OFF时,IL和ILC之间的各继电器状态为:输出继电器、辅助继电器断开,定时器复位,计数器、保持继电器、锁存继电器保持原状态不变。当IL的条件为ON时,IL和ILC之间的各继电器正常工作。

在梯形图程序中,允许出现多重分支程序,即分支嵌套。在小型PLC中,允许进行分支嵌套的次数不应超过8次。图3所示是一个含有三重分支的程序。

图3中,在分支处形成一个新的逻辑母线,因此从这个新逻辑母线开始的指令都要用LD或LDNOT指令。如0000为OFF,0501、0502、0503和0504均为OFF,CNT02正常工作……如0000为ON,且0001或0004为ON、0002或0005为ON时,程序正常执行。当0000为OFF时,不满足执行条件,IL~ILC间的程序不被执行,由此可以看出来采用IL~ILC编程比采用暂存继电器TR可以使程序更加简练。

图3IL和ILC指令

3、跳转开始指令JMP(FUN04)和跳转结束指令JME(FUN05)

JMP和JME指令在梯形图中的符号如图4所示。

如果JMP的条件为ON时,程序正常执行,即相当于没有JMP和JME指令。如果JMP的条件为OFF,则执行跳转,即不执行JMP~JME间的程序。

图5中,如1001为ON,程序执行顺序为A→B→C,否则为A→C。

图4JMP和JME指令在梯形图中的符号

图5跳转指令

如果JMP的条件为OFF,JMP~JME间的各继电器状态为:输出继电器、辅助继电器、保持继电器、锁存继电器保持跳转前的状态不变。定时器复位,停止计时。计数器中断计数,保持跳转前的计数值不变。

图6中,当1000为ON时,程序正常执行。当1000为OFF时,开始跳转,直接执行JME之后的程序。在此期间,无论1001是ON或OFF,0500均保持跳转前的ON/OFF状态不变;定时器TIM00复位停止工作,即使1002为ON,TIM00也不会工作;计数器CNT03则中断计数,保持跳转前的计数值不变。

图6JMP和JME指令

与分支指令一样,JMP和JME一般也要求配合使用,也允许不超过8次的嵌套。也允许多个JMP和一个JME配合使用(此时程序检查时会在编程器上出现“JMPJMPERR”,但不影响程序正常运行)。

4、锁存器指令KEEP(FUN11)

KEEP指令在梯形图中的符号如图7所示。

图7KEEP指令在梯形图中的符号

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)相同。

图8KEEP指令

KEEP指令具有自锁功能,但必须注意的是KEEP指令本身并无掉电保持功能,图8(a)中如程序运行中电源掉电时,0500将变为OFF,如欲在电源发生故障后又恢复送电时电路的状态保持不变,可用保持继电器作为锁存器。图9所示的报警电路中,0002、0003和0004为报警条件,0005为报警解除,输出端子0500接报警设备。

图9KEEP指令的应用

5、前沿微分指令DIFU(FUN13)和后沿微分指令DIFD(FUN14)

DIFU和DIFD指令在梯形图中的符号如图10所示。

图10DIFU和DIFD指令在梯形图中的符号

XXXX为继电器号,DIFU和DIFD指令可使用的继电器为输出继电器、内部辅助继电器和保持继电器。

DIFU指令的功能是在满足条件的输入信号前沿,使指定的继电器ON一个扫描周期。DIFD指令的功能是在满足条件的输入信号后沿,使指定的继电器ON一个扫描周期。DIFU和DIFD指令在一个程序中最多可使用的数量都是48个。

图11说明了DIFU和DIFD的工作情况。

图11DIFU和DIFD

6、移位寄存指令SFT(FUN10)

SFT指令在梯形图中的符号如图12所示。

IN端为数据输入端,CP端为脉冲输入端,R端为复位输入端。

SFT指令的功能相当于一个串行输入移位寄存器,其功能是将从首通道到末通道的n个通道的n×16位数据按位移位。

图12SFT指令在梯形图中的符号

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”。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
USB接口定义图