首页 理论教育 其他功能指令介绍与使用说明

其他功能指令介绍与使用说明

时间:2023-06-26 理论教育 版权反馈
【摘要】:图6-82 可调速脉冲输出指令该指令表6-13 方便指令下面仅对其中部分指令加以介绍。它为16位操作指令,占9个程序步。ARWS指令只能使用一次,而且必须用于晶体管输出型PLC。图6-86 ASCⅡ码转换指令的使用ASCII码打印指令ASCII码打印指令PR的功能是将指令单元的ASCII码送到输出端。

其他功能指令介绍与使用说明

1.方便指令(FNC60~FNC69)

FX系列PLC共有10条方便指令FNC60~FNC69,备有利用最简单的顺控程序进行复杂控制的方便指令。具体包括初始化指令IST(FNC60)、数据搜索指令SER(FNC61)、绝对值式凸轮顺控指令ABSD(FNC62)、增量式凸轮顺控指令INCD(FNC63)、示教定时指令TIMR(FNC64)、特殊定时器指令STMR(FNC65)、交替输出指令ALT(FNC66)、斜坡信号指令RAMP(FNC67)、旋转工作台控制指令ROTC(FNC68)和数据排序指令SORT(FNC69),见表6-13。

978-7-111-40557-3-Chapter06-98.jpg

图6-82 可调速脉冲输出指令该指令

表6-13 方便指令

978-7-111-40557-3-Chapter06-99.jpg

下面仅对其中部分指令加以介绍。

(1)凸轮顺控指令

凸轮顺控指令有绝对值式凸轮顺控指令ABSD(FNC62)和增量式凸轮顺控指令INCD(FNC63)两条。绝对值式凸轮顺控指令ABSD用来产生一组对应于计数值在360°范围内变化的输出波形,输出点的个数由n决定。凸轮顺控指令源操作数[S1.]可取KnX、KnY、KnM、KnS、T、C、D,[S2.]可取C,目标操作数可取Y、M和S。它为16位操作指令,占9个程序步。

(2)定时器指令

定时器指令有示教定时器指令TTMR(FNC64)和特殊定时器指令STMR(FNC65)两条。使用示教定时器指令TTMR时,可用一个按钮来调整定时器的设定时间。特殊定时器指令STMR用来产生延时断开定时器、单脉冲定时器和闪动定时器。

(3)交替输出指令

交替输出指令ALT(P)的编号为FNC66,用于实现由一个按钮控制负载的起动和停止。

2.外部I/O设备指令(FNC70~FNC79)

外部I/O设备指令是FX系列PLC与外设传递信息的指令,共有10条,分别是10键输入指令TKY(FNC70)、16键输入指令HKY(FNC71)、数字开关输入指令DSW(FNC72)、七段译码指令SEGD(FNC73)、带锁存的七段显示指令SEGL(FNC74)、方向开关指令AR-WS(FNC75)、ASCII码转换指令ASC(FNC76)、ASCII码打印指令PR(FNC77)、特殊功能模块读指令FROM(FNC78)和特殊功能模块写指令TO(FNC79),见表6-14。

表6-14 外部I/O设备指令

978-7-111-40557-3-Chapter06-100.jpg

FNC70~FNC79指令主要为使用PLC的I/O设备与外部设备进行数据交换的指令,这些指令通过最小的程序与外部布线可以简单地进行复杂的控制,因此具有与上述方便指令近似的特性。此外,为了控制特殊单元与特殊模块,不可少的FROM、TO指令也包含在其中。

(1)数据输入指令

数据输入指令有10键输入指令TKY(FNC70)、16键输入指令HKY(FNC71)和数字开关输入指令DSW(FNC72)。

10键输入指令TKY的使用如图6-83所示。源操作数[S.]用X000为首元件,10个键X000~X009分别为对应数字0~9。X030接通时执行TKY指令,如果以X002(2)、X009(8)、X003(3)、X00(0)的顺序按键,则[D1.]中存入的数据为2830,实现了将按键变成十进制数。若送入的数大于9999,则高位溢出并丢失。使用32位指令DTKY时,[D1.]和[D2.]组合使用,若高位大于99999999,则高位溢出。

M10~M19动作对应于X000~X011。任一键按下,键信号置1直到该键放开(如当按下X002后,M12置1并保持至另一键被按下,其他键也一样)。当两个或更多个键被按下时,则首先按下的键有效。X030变为OFF时,D0中的数据保持不变,但M10~M20全部为OFF。此指令的源操作数可取X、Y、M、S,目标操作数[D.]可取KnY、KnM、KnS、T、C、D、V、Z,[D2.]可取Y、M、S。16位运算时占7个程序步,32运算时占13个程序步。该指令在程序中只能使用一次。

16键输入指令(D)HKY的作用是通过对键盘上的数字键和功能键输入的内容实现输入的复合运算。

978-7-111-40557-3-Chapter06-101.jpg

图6-83 10键输入指令的使用

数字开关输入指令DSW的功能是读入1组或2组4位数字开关的设置值。

(2)数字译码输出指令

数字译码输出指令有七段译码指令SEGD(FNC73)和带锁存的七段显示指令SEGL(FNC74)两条。

七段译码指令SEGD(P)如图6-84所示,将[S.]指定元件的低4位所确定的十六进制数(0~F)经译码后存于[D.]指定的元件中,以驱动七段显示器,[D.]的高8位保持不变。如果要显示0,则应在D0中放入数据3FH。

带锁存的七段显示指令SEGL的作用是,用12个扫描周期的时间来控制一组或两组带锁存的七段译码显示。

(3)方向开关指令

方向开关指令ARWS(FNC75)用于方向开关的输入和显示。如图6-85所示,该指令有4个参数,源操作数[S.]可选X、Y、M、S。图6-85中选择X10开始的4个按钮,位左移键和右移键用来指定输入的位,增加键和减少键用来设定指定位的数值。X0接通时指定的是最高位,按一次右移键或左移键可移动一位。指定位的数据可由增加键和减少键来修改,其值可显示在七段显示器上。目标操作数[D1.]为输入的数据,由7段显示器监视其中的值(操作数可用T、C、D、V、Z),[D2.]只能用Y作操作数,n=0~3的确定方法与SEGL指令相同。ARWS指令只能使用一次,而且必须用于晶体管输出型PLC。

978-7-111-40557-3-Chapter06-102.jpg

图6-84 七段译码指令的使用

978-7-111-40557-3-Chapter06-103.jpg

图6-85 方向开关指令的使用

(4)ASCII码转换指令

ASCII码转换指令ASC(FNC76)的功能是将字符变换成ASCII码,并存放在指定的元件中。如图6-86所示,当X000有效时,则将A~H变成ASCII码并送入D300和D303中。源操作数是8B以下的字母或数字,目标操作数为T、C、D,它只有16位运算,占用11个程序步。

978-7-111-40557-3-Chapter06-104.jpg

图6-86 ASCⅡ码转换指令的使用

(5)ASCII码打印指令

ASCII码打印指令PR(FNC77)的功能是将指令单元的ASCII码送到输出端。通常PR指令只能送8个字符的ASCII码,但令16位字方式标志M8027置1时,PR指令也可以一次送16个字符的ASCII码。ASCII码打印指令的使用如图6-87所示。

978-7-111-40557-3-Chapter06-105.jpg

图6-87 ASCⅡ码打印指令的使用

(6)特殊功能模块读指令

特殊功能模块读指令FROM(FNC78)如图6-88所示。

978-7-111-40557-3-Chapter06-106.jpg

图6-88 特殊功能模块读指令

(7)特殊功能模块写指令

特殊功能模块写指令TO(FNC79)如图6-89所示。

978-7-111-40557-3-Chapter06-107.jpg

图6-89 特殊功能模块写指令

3.外部设备(SER)指令(FNC80~FNC89)

外部设备(SER)指令包括串行数据传送指令RS(FNC80)、八进制数据传送指令PRUN(FNC81)、HEX→ASCII码转换指令ASCI(FNC82)、ASCII码→HEX转换指令HEX(FNC83)、校验码指令CCD(FNC84)、模拟量输入指令VRRD(FNC85)、模拟量开关设定指令VRSC(FNC86)和PID运算指令PID(FNC88)8条指令,见表6-15。

表6-15 外部设备指令

978-7-111-40557-3-Chapter06-108.jpg

FNC80~FNC89指令用于对连接于串行口的特殊适配器进行控制的指令。另外,PID运算指令也包含在其中。

(1)八进制数据传送指令

八进制数据传送指令(D)PRUN(P)(FNC81)用于八进制数的传送。如图6-90所示,当X030为ON时,将X000~X017内容送至M0~M7和M10~M17(因为X为八进制,故M9和M8的内容不变)。源操作数可取KnX、KnM,目标操作数取KnY、KnM,n=1~8,16位和32位运算分别占用5个和9个程序步。

978-7-111-40557-3-Chapter06-109.jpg

图6-90 八进制数据传送指令的使用

(2)十六进制数与ASCII码转换指令

十六进制数与ASCII码转换指令包括HEX→ASCII码转换指令ASCI(FNC82)和ASCII→HEX转换指令HEX(FNC83)。

HEX→ASCII码转换指令ASCI(P)的功能是将源操作数[S.]中的内容(十六进制数)转换成ASCII码放入目标操作数[D.]中。如图6-91所示,n表示要转换的字符数(n=1~256)。M8161控制采用16位或8位模式:16位模式时,每4个HEX占用1个数据寄存器,转换后每两个ASCII码占用一个数据寄存器;8位模式时,转换结果传送到[D.]的低8位,其高8位为0。PLC运行时M8000为ON,M8161为OFF,此时为16位模式。当X010为ON时,则执行ASCI指令。如果放在D100中的4个字符为OABC,则执行后将其转换为ASCII码送入D200和D201中,D200高位放A的ASCII码41H,低位放O的ASCII码30H,D201则放BC的ASCII码,C放在高位。该指令的源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D。它只有16位运算,占用7个程序步。

ASCII码→HEX转换指令HEX(P)的功能与ASCI指令相反,是将ASCII码表示的信息转换成十六进制的信息。如图6-92所示,将源操作数D200~D203中放的ASCII码转换成16进制放入目标操作数D100和D101中。它只有16位运算,占用7个程序步。源操作数为K、H、KnX、KnY、KnM、KnS、T、C、D,目标操作数为KnY、KnM、KnS、T、C、D、V、Z。

978-7-111-40557-3-Chapter06-110.jpg

图6-91 HEX→ASCII码转换指令的使用

978-7-111-40557-3-Chapter06-111.jpg

图6-92 ASCII码→HEX转换指令的使用

(3)校验码指令

校验码指令CCD(P)(FNC84)的功能是对一组数据寄存器中的十六进制数进行总校验和奇偶校验。如图6-93所示,它将源操作数[S.]指定的D100~D102共6B的8位二进制数求和并异或,结果分别放在目标操作数[D0.]和[D1.]中。通信过程中可将数据和、异或结果随同发送,对方接收到信息后,先将传送的数据求和并异或,再与收到的和及异或结果比较,以此判断传送信号的正确与否。源操作数可取KnX、KnY、KnM、KnS、T、C、D,目标操作数可取KnM、KnS、T、C、D,n可用K、H、D,n=1~256。它为16位运算指令,占用7个程序步。

978-7-111-40557-3-Chapter06-112.jpg

图6-93 校验码指令的使用

以上PRUN、ASCI、HEX、CCD指令常应用于串行通信中,配合RS指令使用。

(4)模拟量输入指令

模拟量输入指令VRRD(P)(FNC85)是用来对FX2N-8AV-BD PLC模拟量功能扩展板中的电位器数值进行读操作。如图6-94所示,当X000为ON时,读出FX2N-8AV-BD PLC中0号模拟量的值(由K0决定),将其送入D0作为T0的设定值。源操作数可取K、H,它用来指定模拟量口的编号,取值范围为0~7;目标操作数可取KnY、KnM、KnS、T、C、D、V、Z。该指令只有16位运算,占用5个程序步。

(5)模拟量开关设定指令

模拟量开关设定指令VRSC(P)(FNC86)的作用是,将FX-8AVPLC中电位器读出的数四舍五入整量化后,以0~10之间的整数值存放在目标操作数中。它的源操作数[S.]可取K和H,用来指定模拟量口的编号,取值范围为0~7;目标操作数[D.]的类型与VRRD指令相同。该指令为16位运算,占用9个程序步。

(6)PID运算指令

用于进行PID控制的PID运算程序,如图6-95所示。

978-7-111-40557-3-Chapter06-113.jpg

图6-94 模拟量输入指令的使用(www.xing528.com)

978-7-111-40557-3-Chapter06-114.jpg

图6-95 PID运算指令

执行程序时,运算结果(MV)被存入(D)中。

4.浮点运算指令

浮点数运算指令包括浮点数的比较、四则运算、开方运算和三角函数等功能,它们分布在指令编号为FNC110~FNC119、FNC120~FNC129、FNC130~FNC139之中。浮点运算指令见表6-16。

表6-16 浮点运算指令

978-7-111-40557-3-Chapter06-115.jpg

(1)二进制浮点数比较指令ECMP(FNC110)、DECMP(P)

指令的使用如图6-96所示,将两个源操作数进行比较,比较结果反映在目标操作数中。如果操作数为常数,则自动转换成二进制浮点数处理。该指令源操作数可取K、H、D,目标操作数可用Y、M、S。它为32位运算指令,占用17个程序步。

(2)二进制浮点数区间比较指令EZCP(FNC111)、EZCP(P)

指令的功能是将源操作数的内容与用二进制浮点数指定的上下两点的范围进行比较,对应的结果用ON/OFF反映在目标操作数上,如图6-97所示。该指令为32位运算指令,占用17个程序步。源操作数可以是K、H、D;目标操作数为Y、M、S。[S1.]应小于[S2.],操作数为常数时,将被自动转换成二进制浮点数进行处理。

(3)二进制浮点数的运算指令

浮点数的四则运算指令有加法指令EADD(FNC120)、减法指令ESUB(FNC121)、乘法指令EMUL(FNC122)和除法指令EDIV(FNC123)这4条指令,它们都将两个源操作数中的浮点数进行运算后送入目标操作数。当除数为0时出现运算错误,不执行指令。此类指令只有32位运算,占用13个程序步。运算结果影响标志位M8020(零标志)、M8021(借位标志)、M8022(进位标志)。源操作数可取K、H、D,目标操作数为D。如有常数参与运算则自动转化为浮点数。

978-7-111-40557-3-Chapter06-116.jpg

图6-96 二进制浮点数比较指令的使用

978-7-111-40557-3-Chapter06-117.jpg

图6-97 二进制浮点数区间比较指令的使用

二进制浮点数运算还有开方、三角函数运算等指令,在此不一一说明,见表6-17。

5.定位指令(FNC150~FNC159)

在FNC150~FNC159指令中,有可用于执行PLC内置式脉冲输出功能的定位指令,见表6-18。

6.时钟运算指令(FNC160~FNC169)

FNC160~FNC169指令是对时钟数据进行运算和比较的指令,另外还能对PLC内置的实时时钟进行时间校准和时钟数据格式化操作,见表6-19。

表6-17 二进制浮点数运算指令

978-7-111-40557-3-Chapter06-118.jpg

表6-18 定位指令

978-7-111-40557-3-Chapter06-119.jpg

表6-19 时钟运算指令

978-7-111-40557-3-Chapter06-120.jpg

(1)时钟数据比较指令TCMP(FNC160)、TCMP(P)

它的功能是用来比较指定时刻与时钟数据的大小。如图6-98所示,将源操作数[S1.]、[S2.]、[S3.]中的时间与[S.]起始的3点时间数据比较,根据它们的比较结果决定目标操作数[D.]中起始的3点单元中取ON还是OFF的状态。该指令只有16位运算,占用11个程序步。它的源操作数可取T、C、D,目标操作数可以是Y、M、S。

(2)时钟数据加法运算指令TADD(FNC162)、TADD(P)

978-7-111-40557-3-Chapter06-121.jpg

图6-98 时钟数据比较指令的使用

指令的功能是将两个源操作数的内容相加结果送入目标操作数。源操作数和目标操作数均可取T、C、D。TADD为16位运算,占用7个程序步。如图6-99所示,将[S1.]指定的D10~D12和D20~D22中所放的时、分、秒相加,把结果送入[D.]指定的D30~D32中。当运算结果超过24h时,进位标志位变为ON,将进行加法运算的结果减去24h后作为保存结果。

978-7-111-40557-3-Chapter06-122.jpg

图6-99 时钟数据加法运算指令的使用

(3)时钟数据读取指令TRD(FNC166)、TRD(P)

该指令为16位运算,占用7个程序步。[D.]可取T、C、D。它的功能是读出内置实时时钟的数据放入由[D.]开始的7个字内。如图6-100所示,当X000为ON时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序存放在特殊辅助寄存器D8013~8019中)传送到D0~D6中。

7.格雷码转换及模拟量模块专用指令(见表6-20)

(1)格雷码转换和逆转换指令

978-7-111-40557-3-Chapter06-123.jpg

图6-100 时钟数据读取指令的使用

这类指令有2条,即GRY(FNC170)和GBIN(FNC171),常用于处理光电码盘的数据。(D)GRY(P)指令的功能是将二进制数转换为格雷码,(D)GBIN(P)指令则是GRY指令的逆变换。如图6-101所示,GRY指令是将源操作数[S.]中的二进制数变成格雷码放入目标操作数[D.]中,而GBIN指令与其相反。它们的源操作数可取任意数据格式,目标操作数为KnY、KnM、KnS、T、C、D、V、Z。16位操作时占用5个程序步,32位操作时占用9个程序步。

表6-20 格雷码转换及模拟量模块专用指令

978-7-111-40557-3-Chapter06-124.jpg

978-7-111-40557-3-Chapter06-125.jpg

图6-101 格雷码转换指令的使用

(2)模拟量模块读写指令

这类指令有2条,即RD3A(FNC176)和WR3A(FNC177),其功能是对FX0N-3A模拟量模块输入值读取和对模块写入数字值。如图6-102所示,[m1.]为特殊模块号K0~K7,[m2.]为模拟量输入通道K1或K2,[D.]为保存读取的数据,[S.]为指定写入模拟量模块的数字值。指令均为16位运算,占用7个程序步。

8.触点比较指令(FNC224~FNC246)

FNC224~FNC246是使用LD、AND、OR触点符号进行触点比较的指令,见表6-21。

978-7-111-40557-3-Chapter06-126.jpg

图6-102 模拟量模块读指令的使用

表6-21 触点比较指令

978-7-111-40557-3-Chapter06-127.jpg

(续)

978-7-111-40557-3-Chapter06-128.jpg

触点比较指令共有18条。

(1)LD触点比较指令

该类指令见表6-22。

表6-22 LD触点比较指令

978-7-111-40557-3-Chapter06-129.jpg

图6-103所示为LD=指令的使用,当计数器C10的当前值为200时驱动Y010。其他LD触点比较指令不在此一一说明。

(2)AND触点比较指令

978-7-111-40557-3-Chapter06-130.jpg

图6-103 LD=指令的使用

该类指令见表6-23。

表6-23 AND触点比较指令

978-7-111-40557-3-Chapter06-131.jpg

图6-104所示为AND=指令的使用,当X000为ON且计数器C10的当前值为200时,驱动Y010。

978-7-111-40557-3-Chapter06-132.jpg

图6-104 AND=指令的使用

(3)OR触点比较指令

该类指令见表6-24。

OR=指令的使用如图6-105所示,当X001处于ON或计数器的当前值为200时,驱动Y000。

表6-24 OR触点比较指令

978-7-111-40557-3-Chapter06-133.jpg

978-7-111-40557-3-Chapter06-134.jpg

图6-105 OR=指令的使用

触点比较指令源操作数可取任意数据格式。16位运算占用5个程序步,32位运算占用9个程序步。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈