FX3U、FX3UC和FX3G系列增加了大量的应用指令,本节只对增加的应用指令作简要的分类介绍,详细的使用方法见随书光盘中的《FX3G、FX3U、FX3UC微型可编程控制器编程手册》。有部分指令不能用于FX3G系列,详细的情况见附录A。
1.外部设备指令
RS2(FNC 87)是串行数据传送2指令,用于安装在基本单元上的RS-232C或RS-485串行通信口进行无协议通信。FX3G也可以使用该指令,通过内置的RS-422编程接口进行无协议通信。RS2和RS的使用方法基本上相同,RS2增加了一个用来指定通道编号的参数n1。
2.数据传送2指令
ZPUSH(FNC 102)指令用于成批保存变址寄存器V0~V7、Z0~Z7的当前值,ZPOP(FNC 103)指令将暂时成批保存的变址寄存器的值返回到原来的变址寄存器中。
3.浮点数指令
EMOV(FNC 112)是二进制浮点数数据传送指令。ESTR(FNC 116)指令用于将二进制浮点数转换为字符串,EVAL(FNC 117)指令用于反向的转换。
EXP(FNC 124)、LOGE(FNC 125)和LOG10(FNC 126)分别是二进制浮点数自然指数、自然对数和常用对数运算指令。ENEG(FNC 128)是二进制浮点数符号翻转指令。
ASIN(FNC 133)、ACOS(FNC 134)和ATAN(FNC 135)分别是二进制浮点数反正弦、反余弦和反正切运算指令。RAD(FNC 136)和DEG(FNC 137)分别是二进制浮点数角度→弧度和二进制浮点数弧度→角度转换指令。
4.浮点数运算例程
要求将D10中的二进制整数转换为(D12,D13)中的二进制浮点数,用(D14,D15)中的二进制浮点数除以(D12,D13)中的二进制浮点数,乘以浮点数常数34.57后,运算结果转换为(D20,D21)中的32位二进制整数。
打开随书光盘中的例程“FX3U例程”,程序如图4-102所示。打开GX Simulator后,打开软元件监视视图。从D0开始,用浮点数显示格式监视十进制多点字(见图4-103),双击监视表的第二行,用出现的“Device write”(软元件写入)对话框,设置D10中的16位整数值为96,设置(D14,D15)中的浮点数值为23760.0,将X6强制为ON。从图4-102的程序监控中可以看到运算的中间结果和(D20,D21)中的整数运算结果。
图4-102 浮点数运算程序
图4-103 软元件监视视图
读者可以设置D10和(D14,D15)为其他的值,运行程序,用计算器检验程序运行结果是否正确。
5.三角函数运算例程
打开随书光盘中的“FX3U例程”,程序见图4-104。启动GX Simulator后,打开软元件监视视图(见图4-103),从D0开始,用浮点数显示格式监视十进制多点字,双击监视表的第一行,用出现的软元件写入对话框设置D0中的浮点数值为30.0(30°),将X4强制为ON。从图4-104的程序监控中可以看到(D2,D3)中的弧度值为0.524弧度,D4,D5)中的正弦值为0.500。浮点数常数E0.5对应的反余弦值为1.047弧度,用DEG指令转换后得到的角度值为60°。图4-104中的监视值为十进制浮点数,有效位数为十进制的4位,软元件监视视图(见图4-103)中显示的是二进制浮点数的值,有效位数为十进制的6位。
图4-104 浮点数函数运算程序
6.数据处理2指令
WSUM(FNC 140)指令用于求连续的16位或32位数据的累加值。WTOB(FNC 141)指令将连续的16位数据分离为字节,存放到连续的16位数据的低8位(低位字节),高8位为0。BTOW(FNC 142)指令将连续的16位数据的低8位组合为连续的16位的数据。
UNI(FNC 143)将连续的16位数据的低4位组合为连续的16位的数据。DIS(FNC 144)将连续的16位数据以4位为单位分离后,存放到连续的16位数据的低4位,高12位为0。
SORT2(FNC 149)是数据排序2指令。
7.定位控制指令
DSZR(FNC 150)是带DOG(近点信号)搜索的原点回归指令,使机械位置与PLC内的当前值寄存器一致。DVIT(FNC 151)是执行单速中断定长进给的指令,TBL(FNC 152)是通过表格设定方式进行定位的指令。
8.时钟运算指令(www.xing528.com)
HTOS(FNC 164)指令将时、分、秒为单位的时间转换为以秒为单位的数据,STOH(FNC 165)指令用于实现反向的转换。
9.其他指令
COMRD(FNC 182)指令用于读出软元件的注释数据,RND(FNC 184)指令用于产生随机数。DUTY(FNC 186)指令用于产生ON、OFF时间以扫描周期数为单位的脉冲列。
CRC(FNC 188)是循环冗余校验运算指令。HCMOV(FNC 189)指令用于传送指定的高速计数器或环形计数器(D8099,D8398)的当前值。
10.数据块指令
BK+(FNC 192)和BK−(FNC 193)分别是数据块的加、减法运算指令。
BKCMP=、BKCMP>、BKCMP<、BKCMP<>、BKCMP<=、BKCMP>=(FNC 194~FNC 199)是数据块比较指令。
11.字符串控制指令
STR(FNC 200)和VAL(FNC 201)分别是BIN→字符串和字符串→BIN的转换指令。
$+(FNC 202)和LEN(FNC 203)分别是字符串组合和检测字符串长度的指令。
RIGHT(FNC 204)、LEFT(FNC 205)和MIDR(FNC 206)分别用于从字符串的右侧、左侧开始和任意位置取出指定字符数的字符。MIDW(FNC 207)用指定的字符串中任意位置的字符串去替换指定的字符串。
INSTR(FNC 208)是字符串的检索指令,从源字符串的左起(起始字符)第n个字符开始,检索与(S1·)指定的字符串相同的字符串,检索结果为源字符串中检索到的字符的位置信息。$MOV(FNC 209)是字符串传送指令。
12.数据处理指令3
FDEL(FNC 210)指令用于删除数据表中任意的数据,FINS(FNC 211)指令用于在数据表中的任意位置插入数据。
POP(FNC 212)用于读取用先入后出的移位写入指令SFWR(FNC 38)最后写入的数据。
SFR(FNC 213)和SFL(FNC 214)分别将16位数据右移、左移n位,最后移出的位进入进位标志位M8022。
13.数据表处理指令
LIMIT(FNC 256)和BAND(FNC 257)分别是上下限限位控制和死区控制指令。ZONE(FNC 258)是区域控制指令,输入值为负数时,输出值等于输入值加上负的偏差值;输入值为正数时,输出值等于输入值加上正的偏差值。SCL(FNC 259)和SCL2(FNC 269)分别是不同点坐标数据和X/Y坐标数据的定坐标指令,用来实现非线性特性的线性化。
DABIN(FNC 260)和BINDA(FNC 261)分别是十进制ASCII→BIN和BIN→十进制ASCII的转换指令。
14.外部设备通信(变频器通信)指令
IVCK(FNC 270)、IVDR(FNC 271)、IVRD(FNC 272)、IVWR(FNC 273)和IVBWR(FNC 274)分别是变频器的运行监视、运行控制、读取变频器参数、写入变频器参数和成批写入变频器参数的指令。EXTR(FNC 180)是用于FX2N、FX2NC的替换指令,用来替换上述的FNC 270~FNC 274指令。
15.数据传送3指令
RBFM(FNC 278)是BFM分割读出指令,WBFM(FNC 279)是BFM分割写入指令,它们分别用于分几个扫描周期,将数据读出和写入特殊功能模块/单元中连续的缓冲存储区(BFM)。
16.高速处理2指令
HSCT(FNC 280)是高速计数器表格比较指令,它比较表格中的数据和高速计数器的当前值,根据比较的结果,对最多16点输出进行置位和复位。
17.扩展文件寄存器控制指令
LOADR(FNC 290)、SAVER(FNC 291)、LOGR(FNC 293)、RWER(FNC 294)、INITER(FNC 295)分别是扩展文件寄存器读出、成批写入、登录、删除/写入和初始化指令。INITR(FNC 292)是扩展寄存器初始化指令。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。