您现在的位置是:首页 > PLC技术 > PLC技术

三菱FX系列PLC的算数运算指令

来源:艾特贸易2017-06-04

简介算术运算包括 ADD 、 SUB 、 MUT 和 DIV (二进制加、减、乘、除)指令,源操作数可取所有的数据类型,目标操作数可取 KnY 、 KnM 、 KnS 、 T 、 C 、 D 、 V 和 Z(32 位乘除指令中 V 和 Z 不能

    算术运算包括ADDSUBMUTDIV(二进制加、减、乘、除)指令,源操作数可取所有的数据类型,目标操作数可取KnYKnMKnSTCDVZ(32位乘除指令中VZ不能用作[D·])16位运算占7个程序步,32位运算占13个程序步。

    (1)加法指令

    加法指令ADD (Addition)的功能指令编号为FNC20。加法指令将源元件中的二进制数相加,结果送到指定的目标元件。每个数据的最高位为符号位(0为正,1为负),加减运算为代数运算。图4-19中的X0ON时,执行(D10)+(D12)(D14)

 二进制加减法运算

    4-19  二进制加减法运算

    32位运算中用到字编程元件时,被指定的字编程元件为低位字,下一个编程元件为高位字。为了避免错误,建议指定操作元件时采用偶数元件号。

    如果运算结果为0,则零标志M80201;若运算结果超过32 76716bit运算)或214748364732bit运算),则进位标志M80221;若运算结果小于-3276716bit运算)或-214748364732bit运算),则借位标志M80231。标志的ON/OFF状态与数值正负的关系如图4-20所示。

 标志的状态与数值正负的关系

    4-20  标志的状态与数值正负的关系

    若源元件号和目标元件号相同,并采用连续执行的ADD指令,那么每一个扫描周期加法的结果都会改变。

    (2)减法指令

    减法指令SUB (Subtraction)的功能指令编号为FNC21,减法指令将[S1·]指定的元件中的数减去[S2·]指定的元件中的数,结果送到[D·]指定的目标元件。每个标志的功能、32位运算元件的指定方法、连续执行和脉冲执行的区别等均与加法指令中的相同。图4-19中的X1ON时,执行(D1D0)-22 (D1D0)

    用脉冲执行的加减指令来加/减1与脉冲执行的INC(加1),DEC(减1)指令的执行结果相似,其不同之处在于INC指令和DEC指令不影响零标志、借位标志和进位标志。

    (3)乘法指令

    乘法指令MUL (Multiplication)的功能指令编号为FNC22,每个数据的最高位为符号位(0为正,1为负)

 二进制乘除法运算

    4-21  二进制乘除法运算

    16位乘法指令将源元件中的二进制数相乘,结果(32位)送到指定的目标元件。图4-21中的X0ON时,执行(D0)×(D1)(D4)。即将D0D2中的数相乘,乘积的低位字送到D4,高位字送到D5

    目标位元件(KnM)可用K1K8来指定位数。如果用K4来指定位数,则只能得到乘积的低16位。

    32位乘法运算指令(D) MUL,如用位元件作目标,则只能得到乘积的低32位,高32位丢失。在这种情况下,应先将数据移入字元件再进行运算。用字元件时,不能监控64位数据的内容,因此,建议采用浮点运算。

    (4)除法指令

    除法指令DIV (Division)的功能指令编号为FNC23,用[S1·]指定被除数,[S2·]指定除数,商送到[D·]指定的目标元件,余数送到[D·]的下一个元件。图4-21中的X30N时,执行(D7D6)÷(D9D8),商送到(D3D2),余数送到(D5D4)

    若除数为0则出错,不执行该指令。若位元件被指定为目标元件,则不能获得余数,商和余数的最高位为符号位。