西门子模块6ES7340-1AH02-0AE0技术参数
1.区间复位指令
区间复位指令ZRST(P)的编号为FNC40。它是将指定范围内的同类元件成批复位。如图3-53所示,当M8002由OFF→ON时,位元件M500~M599成批复位,字元件C235~C255也成批复位。
图3-53 区间复位指令的使用
使用区间复位指令时应注意:
1)[D1.]和[D2.]可取Y、M、S、T、C、D,且应为同类元件,[D1]的元件号应小于[D2]指定的元件号,若[D1]的元件号大于[D2]元件号,则只有[D1]指定元件被复位。
2)ZRST指令只有16位处理,占5个程序步,但[D1.][D2.]也可以指定32位计数器。
2.译码和编码指令
(1)译码指令DECO DECO(P)指令的编号为FNC41。如图3-54所示,n=3则表示[S.]源操作数为3位,即为X0、X1、X2。其状态为二进制数,当值为011时相当于十进制3,则由目标操作数M7~M0组成的8位二进制数的第三位M3被置1,其余各位为0。如果为000则M0被置1。用译码指令可通过[D.]中的数值来控制元件的ON/OFF。
图3-54 译码指令的使用
使用译码指令时应注意:
1)位源操作数可取X、T、M和S,位目标操作数可取Y、M和S,字源操作数可取K,H,T,C,D,V和Z,字目标操作数可取T,C和D。
2)若[D.]指定的目标元件是字元件T、C、D,则n≦4;若是位元件Y、M、S,则n=1~8。译码指令为16位指令,占7个程序步。
(2)编码指令ENCO ENCO(P)指令的编号为FNC42。如图3-55所示,当X1有效时执行编码指令,将[S.]中高位的1(M3)所在位数(4)放入目标元件D10中,即把011放入D10的低3位。
图3-55 编码指令的使用
使用编码指令时应注意:
1)源操作数是字元件时,可以是T、C、D、V和Z;源操作数是位元件,可以是X、Y、M和S。目标元件可取T、C、D、V和Z。编码指令为16位指令,占7个程序步。
2)操作数为字元件时应使用n≦4,为位元件时则n=1~8,n=0时不作处理。
3)若指定源操作数中有多个1,则只有高位的1有效。
3. ON位数统计和ON位判别指令
(1)ON位数统计指令SUM (D)SUM(P)指令的编号为FNC43。该指令是用来统计指定元件中1的个数。如图3-56所示,当X0有效时执行SUM指令,将源操作数D0中1的个数送入目标操作数[D2中,若D0中没有1,则零标志M8020将置1。
图3-56 ON位数统计和ON位判别指令的使用
使用SUM指令时应注意:
1)源操作数可取所有数据类型,目标操作数可取KnY,KnM,KnS,T,C,D,V和Z。
2)16位运算时占5个程序步,32位运算则占9个程序步。
(2)ON位判别指令BON (D)BON(P)指令的编号为FNC44。它的功能是检测指定元件中的指定位是否为1。如图3-56所示,当X1为有效时,执行BON指令,由K4决定检测的是源操作数D10的第4位,当检测结果为1时,则目标操作数M0=1,否则M0=0。
使用BON指令时应注意:
1)源操作数可取所有数据类型,目标操作数可取Y、M和S。
2)进行16位运算,占7程序步,n=0~15;32位运算时则占13个程序步,n=0~31。
4.平均值指令
平均值指令(D)***N(P)的编号为FNC45。其作用是将n个源数据的平均值送到指定目标(余数省略),若程序中指定的n值超出1~64的范围将会出错。
5.报警器置位与复位指令
报警器置位指令ANS(P)和报警器复位指令ANR(P)的编号分别为FNC46和FNC47。如图3-57所示,若X0和X1为ON时超过1S,则S900置1;当X0或X1变为OFF,虽定时器复位,但S900仍保持1不变;若在1S内X0或X1变为OFF则定时器复位。当X2接通时,则将S900~S999之间被置1的报警器复位。若有多于1个的报警器被置1,则元件号低的那个报警器被复位。
图3-57 报警器置位与复位指令的使用
使用报警器置位与复位指令时应注意:
1)ANS指令的源操作数为T0~T199,目标操作数为S900~S999,n=1~32767’;ANR指令无操作数。
2)ANS为16位运算指令,占7的程序步;ANR指令为16位运算指令,占1个程序步。
3)ANR指令如果用连续执行,则会按扫描周期依次逐个将报警器复位。
6.二进制平方根指令
二进制平方根指令(D)SQR(P)的编号为FNC48。如图3-58所示,当X0有效时,则将存放在D45中的数开平方,结果存放在D123中(结果只取整数)。
图3-58 二进制平方根指令的使用
使用SQR指令时应注意:
1)源操作数可取K、H、D,数据需大于0,目标操作数为D。
2)16位运算占5个程序步,32位运算占9个程序步。
7.二进制整数→二进制浮点数转换指令
二进制整数→二进制浮点数转换指令(D)FLT(P)的编号为FNC49。如图3-59所示,当X1有效时,将存入D10中的数据转换成浮点数并存入D12中。
图3-59 二进制整数→二进制浮点数转换指令的使用
使用FLT指令时应注意:
1)源和目标操作数均为D。
2)16位操作占5个程序步,32位占9个程序步。
外部I/0设备指令是FX系列与外设传递信息的指令,共有10条。分别是10键输入指令TKY(FNC70)、16键输入指令HKY(FNC71)、数字开关输入指令DSW(FNC72)、七段译码指令SEGD(FNC73)、带锁存的七段显示指令SEGL(FNC74)、方向开关指令ARWS(FNC75)、ASCII码转换指令ASC(FNC76)、ASCII打印指令PR(FNC77)、特殊功能模块读指令FROM(FNC78)和特殊功能模块写指令T0(FNC79)。
(1)数据输入指令 数据输入指令有10键输入指令TKY(FNC70)、16键输入指令HKY(FNC71)和数字开关输入指令DSW(FNC72)。
10键输入指令(D)TKY的使用如图3-72所示。源操作数[S.]用X0为首元件,10个键X0~X11分别为对应数字0~9。X30接通时执行TKY指令,如果以X2(2)、X9(8)、X3(3)、X0(0)的顺序按键,则[D1.]中存入数据为2830,实现了将按键变成十进制的数字量。当送入的数大于9999,则高位溢出并丢失。使用32位指令DTKY时,D1和D2组合使用,高位大于99999999则高位溢出。
图3-72 10键输入指令的使用
当按下X2后,M12置1并保持至另一键被按下,其它键也一样。M10~M19动作对应于X0~X11。任一键按下,键信号置1直到该键放开。当两个或更多的键被按下时,则按下的键有效。X30变为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的作用是通过对键盘上的数字键和功能键输入的内容实现输入的复合运算。如图3-73所示,[S.]指定4个输入元件,[D1.]指定4个扫描输出点,[D2.]为键输入的存储元件。[D3.]指示读出元件。十六键中0~9为数字键,A~F为功能键,HKY指令输入的数字范围为0~9999,以二进制的方式存放在D0中,如果大于9999则溢出。DHKY指令可在D0和D1中存放大为99999999的数据。功能键A~F与M0~M5对应,按下A键,M0置1并保持。按下D键M0置0,M3置1并保持。其余类推。如果按下多个键则先按下的有效。
图3-73 16键输入指令的使用
该指令源操作数为X,目标操作数[D1.]为Y。[D2]可以取T、C、D、V和Z,[D3.]可取Y、M和S。16位运算时占9个程序步,32位运算时为占17个程序步。扫描全部16键需8个扫描周期。HKY指令在程序中只能使用一次。
数字开关指令DSW的功能是读入1组或2组4位数字开关的设置值。如图3-74所示,源操作数[S]为X,用来指定输入点。[D1]为目标操作数为Y,用来指定选通点。[D2]指定数据存储单元,它可取T、C、D、V和Z。[n]指定数字开关组数。该指令只有16位运算,占9个程序步,可使用两次。图中,n=1指有1组BCD码数字开关。输入开关为X10~X13,按Y10~Y13的顺序选通读入。数据以二进制数的形式存放在D0中。若n=2,则有2组开关,第2组开关接到X14~X17上,仍由Y10~Y13顺序选通读入,数据以二进制的形式存放在D1中,第2组数据只有在n=2时才有效。当X1保持为ON时,Y10~Y13依次为ON。一个周期完成后标志位M8029置1。
图3-74 数字开关指令的使用
(2)数字译码输出指令 数字译码输出指令有七段译码指令SEGD(FNC73)和带锁存的七段显示指令SEGL(FNC74)两条。
七段译码指令SEGD(P)如图3-75所示,将[S.]指定元件的低4位所确定的十六进制数(0~F)经译码后存于[D.]指定的元件中,以驱动七段显示器,[D.]的高8位保持不变。如果要显示0,则应在D0中放入数据为3FH。
图3-75 七段译码指令的使用
带锁存的7段显示指令SEGL的作用是用12个扫描周期的时间来控制一组或两组带锁存的七段译码显示。
(3)方向开关指令 方向开关指令ARWS(FNC75)是用于方向开关的输入和显示。如图3-76所示,该指令有四个参数,源操作数[S]可选X、Y、M、S。图中选择X10开始的4个按钮,位左移键和右移键用来指定输入的位,增加键和减少键用来设定指定位的数值。X0接通时指定的是高位,按一次右移键或左移键可移动一位。指定位的数据可由增加键和减少键来修改,其值可显示在7段显示器上。目标操作数[D1]为输入的数据,由7段显示器监视其中的值(操作数可用T、C、D、V、和Z),[D2]只能用Y做操作数,n=0~3其确定的方法与SEGL指令相同。ARWS指令只能使用一次,必须用晶体管输出型的PLC。
图3-76 方向开关指令的使用
(4)ASEII码转换指令 ASCII码转换指令ASC(FNC76)的功能是将字符变换成ASCII码,并存放在指定的元件中。如图3-77所示,当X3有效时,则将FX2A变成ASCII码并送入D300和D301中。源操作数是8个字节以下的字母或数字,目标操作数为T,C,D。它只有16位运算,占11个程序步。
图3-77 ASEII码转换指令说明
特殊功能模块读指令FROM(FNC78)和特殊功能模块写指令T0(FNC79)将在后面介绍