PLC功能指令实例
- 格式:doc
- 大小:59.50 KB
- 文档页数:6
例1:循环灯程序要求:按下启动按钮时,三只灯每隔1s轮流闪亮,并循环。
按下停止I0.1时,三只灯都熄灭。
分析:此程序是简单的循环类程序,循环周期长为3s,即第1s第一只灯亮,第2s第二只灯亮,第3s 第三只灯亮,第4s又变成第一只灯亮(可加N个灯),如此循环。
I/O分配如下:启动按钮,I0.0;停止按钮,I0.1;第一只灯,Q0.0;第二只灯,Q0.1;第三只灯,Q0.2。
控制程序如图1所示。
图1例2:多级皮带控制程序如图2所示是一个四级传送带系统示意图。
整个系统有四台电动机,控制要求如下:(1)落料漏斗YO启动后,传送带M1应马上启动,经6s后须启动传送带M2;(2)传送带M2启动5s后应启动传送带M3;(3)传送带M3启动4s后应启动传送带M4;(4)落料停止后,为了不让齐级皮带上有物料维积,应根据所需传送时间的差别,分别将四台电机停车。
即落料漏斗YO断开后过6s再断M1, M1断开后再过5s断M2,M2断开4s后再断M3,M3断开3s后再断开M4。
此程序为典型的时间顺序控制。
I/O分配如下:启动,I0.0;停止,I0.1;落料YO,Q0.0;传送带M1,Q0.1;传送带M2,Q0.2;传送带M3,Q0.3;传送带M4,Q0.4。
控制程序如图2-1所示,程序中M0.0控制启动过程,M0.1 控制停止过程。
图2-1例3:编写交通信号灯控制程序图3对如图3所示十字路口交通灯进行编程控制,该系统输入信号有:一个启动按钮SB1和一个停止按钮SB2。
输出信号有东西向红灯、绿灯、黄灯,南北向红灯、绿灯、黄灯。
控制要求:按下启动按钮,信号灯系统按图3-1的时序开始工作(绿灯闪烁的周期为1s),并能循环运行。
按一下停止按钮,所有信号灯都熄灭。
图3-1 PLC的I/O分配,I/O接线图如图3-2所示。
图3-2该程序是一个循环类程序,交通灯执行一周的时间为60s,可把周期60s分成0~25s、25~ 28s、28~30s、30~55s、55~58s、58~60s 共6段时间,在25~ 28s、55~58s段编写一个周期为1s 的脉冲程序串入其中。
PLC功能指令实际上就是功能各异的PLC子程序块。
FX2N系列PLC的功能指令有程序流程、传送比较、四则逻辑运算、旋转移位、数据处理、高速处理、方便指令、外部设备处理、浮点数、时钟运算、接点比较等若干类。
本节仅介绍FX2N 系列PLC常用的功能指令。
一、功能指令形式1.功能指令格式功能指令用编号FNC00~FNC246表示,并给出对应的语句名称,每条功能指令都有一个指令表。
例如FNC45是一条数据处理平均值功能的指令,助记符为MEAN,使用简易编程器时输入FNC45,而采用智能编程器或计算机编程时也可输入助记符MEAN。
图1是一条取平均值功能指令的梯形图。
图1 MEAN示例梯形图图中MEAN是功能指令的语句名称,也可使用FNC45(但不直观);D0是源操作数的首元件;D4Z是指定计算结果存放的数据寄存器的地址;K3是指定取值的个数为3。
显然该功能指令的含义是D4Z =(D0+D1+D2)/3,即将(D0+D1+D2)/3的运算结果赋值给D4Z。
功能指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。
2. 功能指令执行方式功能指令有连续执行和脉冲执行两种类型。
图2中第1支路的MOV是连续执行型指令,即当X001接通时,各运算周期都执行一次,而第2支路的MOV(P)是脉冲执行型型指令,(P)就表示当X000由OFF转换为ON时,仅执行一次指令。
图2 功能指令执行方式示例3.可处理数据长度功能指令可处理16位数据,也可处理32位数据,见图3示例梯形图。
第1梯级中,当X000接通,则移位MOV功能指令处理的数据为16位,即将D10 的内容传送至D12;而在第2梯级中,(D)MOV功能指令处理的数据为32位,将D21D20(由D21、D20构成的32位数据)的内容传送到D23D22(由D23、D22组成的32位数据存储单元)。
图3 功能指令处理数据长度示例几个常见和搞错的功能指令:一、BCD指令和BIN指令1、BCD指令BCD码就是用四位二进制数表示一位十进制数的编码,比如十进制12用BCD码表示为:00010010(1=0001,2=0010,合起来就是00010010)所以BCD D0 K1Y0这条指令就是将D0中的值转为BCD码,然后送到K1Y0这个单元中。
PLC功能指令实例
位左移SFTL和位右移SFTR的应用
1、用SFTL实现流水灯的左移(Y0—Y7)
程序说明:
M8002初始脉冲使Y0点亮,M8013过一秒后点亮下一个灯,同时使前一个灯熄灭,当点亮到Y7后过一秒再使Y0点亮,重复以上过程。
思路重点:当Y7点亮后我如何让Y0点亮,并重复上述过程,当Y7点亮后让其常开触点接通下降沿微分脉冲指令,当在过一秒后,Y7失电,这时下降沿微分脉冲指令使M1得电,并点亮Y1。
2、用SFTL实现流水灯逐个点亮(Y0—Y7)
程序说明:M8002初始脉冲使M0置位,并点亮Y0,过一秒后点亮Y1,依次逐个点亮,直到点亮Y7后,过一秒后,再从Y0点亮(同时熄灭其它灯,Y1—Y7),重复以上过程。
思路说明:首先是依次逐个点亮,可以用位左移实现,此后每点亮一盏灯,寄存器D0中就记一次数,目的是当亮至全亮,做一个判断的条件,从而重新开始。
3、用SFTL实现流水灯单数点亮
程序说明:所谓单数点亮就是Y1,Y3,Y5,Y7轮流点亮,M8002初始脉冲使Y1点亮,过一秒后Y3点亮并且关闭之前的灯Y1,依次类推。
直到Y7点亮后,从头使Y1点亮。
思路说明:开始的时候先使单数Y1点亮,过一秒后使左移指令STFL左移两位,从而使Y3点亮,Y1熄灭,一直到Y7点亮的时候,接通下降沿微分脉冲指令,Y7点亮一秒后,先使全部灯熄灭,下降沿微分脉冲指令时M1接通,从而使Y1点亮,重复以上过程。
4、用SFTL实现流水灯双数点亮
程序说明:所谓双数点亮就是Y0,Y2,Y4,Y6轮流点亮,M8002初始脉冲使Y0点亮,过一秒后Y2点亮并且关闭之前的灯Y0,依次类推。
直到Y6点亮后,从头使Y0点亮。
思路说明:开始的时候先使双数Y0点亮,过一秒后使左移指令STFL左移两位,从而使Y2点亮,Y0熄灭,一直到Y6点亮的时候,接通下降沿微分脉冲指
令,Y6点亮一秒后,先使全部灯熄灭,下降沿微分脉冲指令时M1接通,从而使Y0点亮,重复以上过程。
5、用MOV和CML实现全灭全亮
程序说明:全灭全亮就是,先使Y0—Y7全部点亮,然后过一秒后Y0—Y7全部熄灭,重复以上过程。
思路说明:初始脉冲M8002先传送HFF使Y0—Y7点亮,并且把HFF传送给寄存器D0,在M8013的上升沿时,取反传送D0给Y0—Y7,然后在M8013的下降沿时,把D0取反再放到D0,接下去就是重复以上过程。
六、用功能指令编的电机顺启逆停
块传送指令:BMOV
格式: BMOV [S] [D] n
例如: BMOV D0 D10 K3
作用把 D0传送到D10
D1传送到D11
D2传送到D12
也就是把D0开始的连续三个单元传送到D10开始的连续三个单元
多点传送指令:FMOV
例如 FMOV K1 D0 K10
作用:就是把1传送到D0—D9单元
数据交换指令:XCH
格式 XCH [D1] [D2]
例如: XCH D0 D1
作用:把D0与D1的数据想交换
ADD 加法指令 SUB 减法指令 MUL 乘法指令 16位相乘结果为32位,低16位放在指定的目标操作组件,高16位放在下一个目标操作组件
DIV 除法指令:商放到指定的操作组件,余数在下一个操作组件
MEAN 求平均值指令: 如下:
MEAN D0 D1 K50
作用:把D0开始的连续50个源操作数进行求平均值,结果放在D1
[S]为源操作数 [D]为目标操作数 n为其它操作数比较指令 : CMP
格式: CMP [S1] [S2] [D] 例如 CMP D0 D1 M0
1、如果D0 > D1,则M0置位
2、如果D0 = D1,则M1置位
3、如果D0 < D1,则M2置位
PLC中还有触点比较指令,其功能作用与比较指令相似,如下: LD = LD > LD < LD > = LD < = LD< >
区间比较指令: ZCP
格式: ZCP [S1] [S2] [S3] [D] 例如 ZCP D0 D1 K50 M0 1、如果K50 <
D0,则M0置位
2、如果D0 < = K50 < = D1,则M1置位
3、如果K50 > D1,则M2置位
注:[S]可以为所有字符件,[D]为Y、M、S
复位指令: RST
格式: RST [D0]
例如 RST M0
如果上面比较结果D0 > D1则M0置位,RST M0 就是把M0复位
区间复位指令: ZRST
格式 ZRST [D0] [D1]
注:目标操作数可以是,T、C、D或Y、M、S 例如 ZRST M0 M3(M0到M3已经置位) 如果用复位指令RST则需要四条,为此引入了区间复位指令, ZRST M0 M3就是把M0到M3同时复位
编码指令: ENCO
格式: ENCO [S] [D] n 作用:相当于数字电路中编码器
译码指令: DECO
格式: DECO [S] [D] n 作用:相当于数字电路中译码器
程序流程指令 CJ (P0~P127) 跳转指令
FEND 主程序结束指令
CALL (P0~P127) 子程序调用指令 SRET 子程序结束指令
FOR 循环指令
NEXT 循环结束指令
外部中断 IRET:中断返回指令
EI:允许中断指令
DI:禁止中断指令
中断指针:I——(0 — 5)
定时中断定时中断指针:(6 — 8)
与外部中断有关的特殊辅助继电器:M805,(,= 0—5) 与定时中断有关的特殊辅助继电器:M805,(,= 6—8) 当特殊辅助继电器得电时,禁止中断。