三菱FX/Q系列PLC工程实例详解: 5.2.1 区间比较指令ZCP(FNC11)

您所在的位置:网站首页 三菱xch指令实例 三菱FX/Q系列PLC工程实例详解: 5.2.1 区间比较指令ZCP(FNC11)

三菱FX/Q系列PLC工程实例详解: 5.2.1 区间比较指令ZCP(FNC11)

2024-07-17 05:59| 来源: 网络整理| 查看: 265

5.2 相关知识点

本节主要介绍区间比较指令、高速计数器的区间比较/置位指令、速度检测指令和边沿信号指令,并介绍了BFM寄存器及其写入/读出指令等相关知识。

5.2.1 区间比较指令ZCP(FNC11)

(1)指令格式

该指令的指令名称、助记符、功能号、操作数及程序步长见表5-1。

表5-1 区间比较指令表

(2)指令说明

区间比较指令ZCP使用说明如图5-3所示。它是将一个数据[S.]与两个源数据[S1.]、[S2.]进行代数比较,比较结果影响目标存储到操作数[D.]中。X0为“ON”,C1的当前值与K100和K120比较,若C1<K100,则M0=1;若K100≤C1≤K120时,则M1=1;若C1>K120时,则M2=1。区间比较指令的数据均为二进制数,且带符号位比较。

图5-3 区间比较指令使用说明

5.2.2 高速计数器区间比较指令HSZ(FNC55)

(1)指令格式

该指令的指令名称、助记符、功能号、操作数及程序步长见表5-2。

表5-2 高速计数器区间比较指令表

(2)指令说明

高速计数器区间比较指令(HSZ)与传送比较功能指令组中的区间比较指令(ZCP)相似。图5-4所示为高速计数器区间比较指令功能说明。当X0合上后,C251计数器的值大小与K1000和K2000比较,满足下列条件时,相应的Y0、Y1、Y2有输出。

图5-4 高速计数器区间比较指令功能说明

当K1000>C251时,Y0=ON,Y1=OFF,Y2=OFF;

当K1000≤C251≤K2000时,Y0=OFF,Y1=ON,Y2=OFF;

当C251>K2000时,Y0=OFF,Yl=OFF,Y2=ON。

HSZ指令是32位专用指令,所以必须以DHSZ指令输入。此外Y0、Y1、Y2的动作仅仅是在计数器C251有脉冲信号输入,其当前值从999~1000或1999~2000变化时,输出Y0、Y1、Y2才有变化。因此在图5-5所示中,若没有脉冲输入,即使X0=ON时,给C251传送K3000,即C251=K3000,输出Y2也不会变为“ON”。

图5-5 脉冲输入指令功能说明

5.2.3 高速计数器置位指令HSCS(FNC53)

(1)指令格式

该指令的指令名称、助记符、功能号、操作数及程序步长见表5-3。

表5-3 高速计数器置位指令表

(2)指令说明

图5-6所示为高速计数器置位指令功能说明。X0为1时,高速计数器C255的当前值由99变为100,或由101变为100,Y0立即置“1”。该指令仅有32位指令操作,即DHSCS操作。

图5-6 高速计数器置位指令功能说明

5.2.4 速度检测指令SPD(FNC56)

(1)指令格式

该指令的指令名称、助记符、功能号、操作数及程序步长见表5-4。

表5-4 速度检测指令表

(2)指令说明

速度检测指令是用来检测在给定时间内编码器脉冲个数的指令。当执行条件满足时,执行速度检测指令,[S1.]指定输入点,[S2.]指定计数时间,单位为ms。[D.]共有3个单元指定存放计数结果。其中D0存放计数个数,D1存放计数当前值,D2存放剩余时间。

通过测定,转速N 即可利用下述公式求出。

5.2.5 边沿信号指令PLS、PLF

(1)指令格式

该组指令的功能、电路表示和可编程元件以及所占的程序步见表5-5。

表5-5 边沿信号指令表

(2)指令说明

PLS用于将指令信号的上升沿进行微分,并将微分结果(接通一个扫描周期的脉冲)送到PLS指令后面所指定的目标编程元件中。在图5-7中,X0即为PLS指令所要进行微分的信号,M0为目标编程元件。

PLF用于将指令信号的下降沿进行微分,并将微分结果(接通一个扫描周期的脉冲)送到PLF指令后面所指定的目标编程元件中。在图5-7中,X1即为PLF指令所要进行微分的信号,M1为目标编程元件。

图5-7 PLS、PLF指令功能说明

5.2.6 缓冲寄存器(BFM)介绍

FX-4AD模拟量模块内部有一个数据缓冲寄存器(BFM)区,它由32个16位的寄存器组成,编号为BFM#0~#31,其内容与作用如表5-6所示。数据缓冲寄存器区中的内容可以通过PLC的FROM和TO指令来读、写。

表5-6 FX-4AD缓冲寄存器(BFM)的分配

5.2.7 BFM写入指令TO(FNC79)

(1)指令格式

该指令的指令名称、助记符、功能号、操作数和程序步长见表5-7。

表5-7 特殊功能模块数据写入指令表

(2)指令说明

该指令为PLC向特殊功能模块缓冲器BFM写入数据的指令。当条件满足时,将PLC指定的传送源数据送至特殊功能模块中指定的BFM号中,传送字数在指令中给定。

m 1 表示特殊功能模块号,m 1 =0~7。

m 2 表示缓冲器首元件号,m 2 =0~31。

n 表示待传送数据的字数,n =1~16(16位),M =1~32(32位)。

FROM和TO指令是特殊功能模块编程必须使用的指令。

TOP为脉冲执行型指令。当进行32位数据写入时,采用DTO指令。

5.2.8 BFM读出指令FROM(FNC78)

(1)指令格式

该指令的指令名称、助记符、功能号、操作数和程序步长见表5-8。

表5-8 特殊功能模块数据读出指令表

(2)指令说明

该指令为特殊功能模块缓冲存储器数据读出指令。当执行条件满足时,通过FROM指令将编号为m 1 的特殊功能模块从模块缓冲存储器(BFM)编号为m 2 开始的n 个数据读入PLC,并存入[D.]指定元件中的n 个数据寄存器中。

m 1 表示特殊功能模块号,m 1 =0~7。

m 2 表示缓冲寄存器(BFM)号,m 2 =0~32767。

n 表示待传送数据的字节数,n =1~32767。

接在FX 2N 基本单元右边扩展总线上的功能模块(例如模拟量输入单元、模拟量输出单元、高速计数器单元等),从最靠近基本单元那个开始,顺次编号0~7。

FROMP为脉冲执行型指令。当进行32位数据读出时,采用DFROM指令。

5.2.9 减法、除法、乘法指令SUB(FNC21)、DIV(FNC23)、MUL(FNC22)

(1)指令格式

这3个指令的指令名称、助记符、功能号、操作数及程序步长见表5-9。

表5-9 减法指令、除法指令、乘法指令表

(2)指令说明

① 减法指令(FNC21)。

减法指令SUB将[S1.]指定的元件中的数减去[S2.]指定的元件中的数,将结果送到[D.]指定的目标元件。图5-8中的X1由“OFF”变为“ON”时,执行(D0)-2→(D0)。因运算结果送入存放源操作数的D0,故必须使用脉冲执行方式(即在指令后面加P)。

图5-8 算术运算指令

② 乘法指令(FNC22)。

16位乘法指令MUL将源元件中的二进制数相乘,结果(32位)送入指定的目标元件。图5-8中的X2为“ON”时,执行(D0)×(D2)→(D5、D4),乘积的低位字送到D4,高位字送到D5。32位乘法的结果为64位,只能用两个字节分别监视运算结果的高32位和低32位。目标元件(例如KnM)的位数如果小于运算结果的位数,只能保存结果的低位。

③ 除法指令(FNC23)。

除法指令DIV用[S1.]除以[S2.],商送到目标元件,余数送到[D.]的下一个元件。如图5-8中的X3为“ON”时,执行32位除法运算,(D7、D6)/(D9、D8),商送到D3、D2,余数送到D5、D4。如果除数只有一个字(假设放到D8中),32位除法运算之前应先将除数的高位字D9清零。

若除数为零则出错,不执行该指令。若位元件被指定为目标元件,不能获得余数,商和余数的最高位为符号位。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3