西门子6ES7350-2AH01-0AE0详细说明
FX系列共有10条方便指令:初始化指令IST(FNC60)、数据搜索指令SER(FNC61)、值式凸轮顺控指令ABSD(FNC62)、增量式凸轮顺控指令INCD(FNC63)、示教定时指令TIMR(FNC64)、特殊定时器指令STMR(FNC65)、交替输出指令ALT(FNC66)、斜坡信号指令RAMP(FNC67)、旋转工作台控制指令ROTC(FNC68)和数据排序指令SORT(FNC69)。以下仅对其中部分指令加以介绍。
(1)凸轮顺控指令 凸轮顺控指令有值式凸轮顺控指令ABSD(FNC62)和增量式凸轮顺控指令INCD(FNC63)两条。
值式凸轮顺控指令ABSD是用来产生一组对应于计数值在3600范围内变化的输出波形,输出点的个数由n决定,如图3-67a所示。图中n为4,表明[D.]由M0~M3共4点输出。预先通过MOV指令将对应的数据写入D300~D307中,开通点数据写入偶数元件,关断点数据放入奇数元件,如表3-15所示。当执行条件X0由OFF变ON时,M0~M3将得到如图3-67b所示的波形,通过改变D300~D307的数据可改变波形。若X0为OFF,则各输出点状态不变。这一指令只能使用一次。
图3-67 绝值式凸轮顺控指令的使用
a) 绝值式凸轮顺控指令 b) 输出波形
表3-15 旋转台旋转周期M0~M3状态
增量式凸轮顺控指令INCD也是用来产生一组对应于计数值变化的输出波形。如图3-68所示,n=4,说明有4个输出,分别为M0~M3,它们的ON/OFF状态受凸轮提供的脉冲个数控制。使M0~M3为ON状态的脉冲个数分别存放在D300~D303中(用MOV指令写入)。图中波形是D300~D303分别为20、30、10和40时的输出。当计数器C0的当前值依次达到D300~D303的设定值时将自动复位。C1用来计复位的次数,M0~M3根据C1的值依次动作。由n指定的后一段完成后,标志M8029置1,以后周期性重复。若X0为OFF,则C0、C1均复位,同时M0~M3变为OFF,当X0再接通后重新开始工作。
图3-68 增量式凸轮顺控指令的使用
凸轮顺控指令源操作数[S1.]可取KnX、KnY、KnM、KnS、T、C和D,[S2.]为C,目标操作数可取Y、M和S。为16位操作指令,占9个程序步。
(2)定时器指令 定时器指令有示教定时器指令TTMR(FNC64)和特殊定时器指令STMR(FNC65)两条。
使用示教定时器指令TTMR,可用一个按钮来调整定时器的设定时间。如图3-69所示,当X10为ON时,执行TTMR指令,X10按下的时间由M301记录,该时间乘以10n后存入D300。如果按钮按下时间为t存入D300的值为10n×t 。X10为OFF时,D301复位,D300保持不变。TTMR为16位指令,占5个程序步。
图3-69 示教定时器指令说明
特殊定时器指令STMR是用来产生延时断开定时器、单脉冲定时器和闪动定时器。如图3-70所示,m=1~32767,用来指定定时器的设定值;[S.]源操作数取T0~T199(100ms定时器)。T10的设定值为100ms×100=10s,M0是延时断开定时器,M1为单脉冲定时器,M2,M3为闪动而设。
图3-70 特殊定时器指令的使用
(3)交替输出指令 交替输出指令ALT(P)的编号为FNC66,用于实现由一个按钮控制负载的启动和停止。如图3- 71所示,当X0由OFF到ON时,Y0的状态将改变一次。若用连续的ALT指令则每个扫描周期Y0均改变一次状态。 [D.]可取Y、M和S。ALT为16为运算指令,占3个程序步。
图3-71 交替输出指令的使用
浮点数运算指令包括浮点数的比较、四则运算、开方运算和三角函数等功能。它们分布在指令编号为FNC110~FNC119、FNC120~FNC129、FNC130~FNC139之中。
(1)二进制浮点数比较指令ECMP(FNC110) DECMP(P)指令的使用如图3-83所示,将两个源操作数进行比较,比较结果反映在目标操作数中。如果操作数为常数则自动转换成二进制浮点值处理。该指令源操作数可取K、H和D,目标操作数可用Y、M和S。为32位运算指令,占17个程序步。
图3-83 二进制浮点数比较指令的使用
(2)二进制浮点数区间比较指令EZCP(FNC111) EZCP(P)指令的功能是将源操作数的内容与用二进制浮点值指定的上下二点的范围比较,对应的结果用ON/OFF反映在目标操作数上,如图3-84所示。该指令为32位运算指令,占17个程序步。源操作数可以是K,H和D;目标操作数为Y、M和S。[S1.]应小于[S2.],操作数为常数时将被自动转换成二进制浮点值处理。
图3-84 二进制浮点数区间比较指令的使用
(3)二进制浮点数的四则运算指令 浮点数的四则运算指令有加法指令EADD (FNC120)、减法指令ESUB(FNC121)、乘法指令EMVL(FNC122)和除法指令EDIV(FNC123)四条指令。四则运算指令的使用说明如图3-85所示,它们都是将两个源操作数中的浮点数进行运算后送入目标操作数。当除数为0时出现运算错误,不执行指令。此类指令只有32位运算,占13个程序步。运算结果影响标志位M8020(零标志)、M8021(借位标志)、M8022(进位标志)。源操作数可取K、H和D,目标操作数为D。如有常数参与运算则自动转化为浮点数。
图3-85 二进制浮点数四则运算指令的使用
二进制的浮点运算还有开平方、三角函数运算等指令,在此不一一说明。
外围设备(SER)指令包括串行通信指令RS(FNC80)、八进制数据传送指令PRUN(FNC81)、HEX→ASCII转换指令ASCI(FNC82)、ASCII→HEX转换指令HEX(FNC83)、校验码指令CCD(FNC84)、模拟量输入指令VRRD(FNC85)、模拟量开关设定指令VRSC(FNC86)和PID运算指令PID(FNC88)8条指令。
(1)八进制数据传送指令 八进制数据传送指令(D)PRUN(P)(FNC81)是用于八进制数的传送。如图3-78所示,当X10为ON时,将X0~X17内容送至M0~M7和M10~M17(因为X为八进制,故M9和M8的内容不变)。当X11为ON时,则将M0~M7送Y0~Y7,M10~M17送Y10~Y17。源操作数可取KnX、KnM,目标操作数取KnY、KnM,n=1~8,16位和32位运算分别占5个和9个程序步。
图 3-78 八进制数据传送指令的使用
(2)16进制数与ASCII码转换指令 有HEX→ASCII转换指令ASCI(FNC82)、ASCII→HEX转换指令HEX(FNC83)两条指令
HEX→ASCII转换指令ASCI(P)的功能是将源操作数[S.]中的内容(十六进制数)转换成ASCII码放入目标操作数[D.]中。如图3- 79所示,n表示要转换的字符数(n=1~256)。M8161控制采用16位模式还是8位模式。16位模式时每4个HEX占用1个数据寄存器,转换后每两个ASCII码占用一个数据寄存器;8位模式时,转换结果传送到[D.]低8位,其高8位为0。PLC运行时M8000为ON,M8161为OFF,此时为16位模式。当X0为ON则执行ASCI。如果放在D100中的4个字符为OABCH则执行后将其转换为ASCII码送入D200和D201中,D200高位放A的ASCII码41H,低位放0的ASCII码30H,D201则放BC的ASCII码,C放在高位。该指令的源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C和D。只有16位运算,占用7个程序步。
图 3-79 HEX→ASCII码转换指令的使用
ASCII→HEX指令HEX(P)的功能与ASCI指令相反,是将ASCII码表示的信息转换成16进制的信息。如图3-80所示,将源操作数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。
图3-80 ASCII→HEX指令的使用
(4)校验码指令 校验码指令CCD(P)(FNC84)的功能是对一组数据寄存器中的16进制数进行总校验和奇偶校验。如图3-81所示,是将源操作数[S.]指定的D100~D102共6个字节的8位二进制数求和并“异或”,结果分别放在目标操作数D0和D1中。通信过程中可将数据和、“异或”结果随同发送,对方接收到信息后,先将传送的数据求和并“异或”,再与收到的和及“异或”结果比较,以此判断传送信号的正确与否。源操作数可取KnX、 KnY、KnM、KnS、T、C和D,目标操作数可取KnM、KnS、T、C和D,n可用K、H或D,n=1~256。为16位运算指令,占7个程序步。
图 3-81 校验码指令的使用
以上PRUN、ASCI、HEX、CCD常应用于串行通信中,配合RS指令。
(5)模拟量输入指令 模拟量输入指令VRRD(P)(FNC85)是用来对FX2N-8AV-BD模拟量功能扩展板中的电位器数值进行读操作。如图3-82所示,当X0为ON时,读出FX2N-8AV-BD中0号模拟量的值(由K0决定),将其送入D0作为T0的设定值。源操作数可取K、H,它用来指定模拟量口的编号,取值范围为0~7;目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。该指令只有16位运算,占5个程序步。
图3-82 模拟量输入指令的使用
(6)模拟量开关设定指令 模拟量开关设定指令VRSC(P)(FNC86)的作用是将FX-8AV中电位器读出的数四舍五入整量化后以0~10之间的整数值存放在目标操作数中。它的源操作数[S.]可取K和H,用来指定模拟量口的编号,取值范围为0~7;目标操作数[D.]的类型与VRRD指令相同。该指令为16位运算,占9个程序步。