本次课程主要内容:介绍FX2N的实数运算指令的使用方法介绍FX2N的数据处理指令的使用方法编程举例实数运算指令(主要用于实数的加减乘除运算)实数记数的格式实数加法(DEADDFNC120)功能:将(S1.)(S2.)中浮点数相加,和存在(D.)中。注意:1、实数运算指令只能进行32位运算,但可以脉冲执行;2、运算结果会影响各个标志位。例如:实数减法(DESUBFNC121)功能:将(S1.)(S2.)中浮点数相减,差存在(D.)中。注意:1、实数运算指令只能进行32位运算,但可以脉冲执行;2、运算结果会影响各个标志位。例如:实数乘法(DEMULFNC122)功能:将(S1.)(S2.)中浮点数相乘,差存在(D.)中。注意:1、实数运算指令只能进行32位运算,但可以脉冲执行;2、运算结果只有32位。例如:实数除法(EDIVFNC123)功能:将(S1.)(S2.)中浮点数相除,商存在(D.)中。注意:1、实数运算指令只能进行32位运算,但可以脉冲执行;2、运算结果只有32位。例如:变换指令(主要用于各种格式数据之间的转换)BCD变换(BCDFNC18)功能:将(S.)中二进制数转换成BCD码,存在(D.)中。注意:1、16位运算时,如果超过9999,则出错;2、32位运算时,如果超过99999999,则出错。例如:BIN变换(BINFNC19)功能:将(S.)中BCD码转换成二进制数,存在(D.)中。注意:1、16位运算时,如果超过9999,则出错;2、32位运算时,如果超过99999999,则出错。例如:整数-实数变换(FLTFNC49)功能:将(S.)中二进制数转换为浮点数,存在(D.)中。注意:1、可以做16位运算或32位运算;2、结果只有32位。例如:实数-整数变换(INTFNC129)功能:将(S.)中浮点数转换为二进制数,存在(D.)中。注意:1、可以做16位运算或32位运算;2、结果有32位、16位两种。例如:浮点数-科学记数变换(EBCDFNC118)功能:将(S.)中二进制浮点数转换为十进制浮点数,存在(D.)中。注意:1、只能做32位运算。例如:科学记数-浮点数变换(EBINFNC119)功能:将(S.)中十进制浮点数转换为二进制浮点数,存在(D.)中。注意:1、只能做32位运算。例如:例1:例2:用自动台秤对邮包称重,并计算费用。费用分10个等级区,从而可以计算不同远近程度所需邮费。例3数据的保存与取出数据处理指令(用于与其它指令配合处理复杂数据)全部复位指令(ZRST(P)FNC40)功能:将(D1.)(D2.)之间的元件全部复位。注意:1、(D1.)应小于(D2.);2、且(D1.)与(D2.)应该为同类元件。例如:功能:将(S.)的n位二进制数译码,给(D.)的第2的n次方个元件置1。例如:译码指令(DECO(P)FNC41)编码指令(ENCO(P)FNC42)功能:对(S.)中2的n次方个元件为1的最高位进行编码,存在(D.)低n位。例如:计算1的个数指令((D)SUM(P)FNC43)功能:计算(S.)中1的个数,存入(D2.)。注意:1、没有1时,零标志位M8020=1;2、做32位运算时,结果存在低字节,高字节置0。例如:置1位判断指令((D)BON(P)FNC44)功能:判断(S.)中第n位是1还是0,是1则(D.)=1,否则(D.)=0。例如:平均值指令((D)MEAN(P)FNC45)功能:计算(S.)开始的n个字节的均值,存在(D.)中。注意:计算平均值时,余数被舍弃。例如:报警器置位指令(ANSFNC46)功能:条件满足时,(S.)定时m后,将报警元件(D.)置位。注意:1、条件信号消失后,定时器复位,但报警元件保持;2、当S900-S999任一个动作时,M8048=1;3、如果M8049=1(报警器有效),则S900-S999中最小报警器号将被存入D8049.例如:报警器复位指令(ANRFNC47(P))功能:条件满足时,对报警元件S900-S999复位。注意:1、条件满足时,连续指令每1个扫描周期复位1个报警元件;2、脉冲指令只复位1个报警元件;3、复位报警元件时,从最小编号开始。例如: