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

三菱PLC的算术运算指令

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

简介(1) 加法指令 ADD (D) ADD (P) 指令的编号为 FNC20 。它是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。 示例及使用:如图 4-25 所示,当 X0 为 ON 时,执行 (D10) +(D12) (D1

    (1)加法指令ADD    (D) ADD (P)指令的编号为FNC20。它是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。    示例及使用:如图4-25所示,当X0ON时,执行(D10) +(D12)(D14)    (2)减法指令SUB    (D) SUB (P)指令的编号为FNC21。它是将[S1.]指定元件中的内容以二进制形式减去[S2.]指定元件中的内容,其结果存入由[D.]指定的元件中。    示例及使用:如图4-26所示,当X0ON时,执行(D10)-( D12)(D14)
加法指令的使用
    4-25    加法指令的使用
减法指令的使用
    4-26    减法指令的使用    使用加法和减法指令时应该注意:    1)操作数可取所有数据类型,目标操作数可取KnYKnMKnSTCDVZ    2) 16位操作运算时占7个程序步,32位操作运算时占13个程序步。    3)数据为有符号二进制数,最高位为符号位(0为正,1为负)。    4)加法指令有三个标志:零标志( M8020)、借位标志(M8021)和进位标志(M8022)当运算结果超过3276716位运算)或214748364732位运算),则进位标志置1;当运算结果小于- 3276716位运算)或- 214748364732位运算),则借位标志就会置1    (3)乘法指令MUL    乘法指令MUL[S1][S2][D],其中[S1][S2]分别为作为被乘数和乘数的源元件,[ D]为存放相乘积的目标元件。MUL指令的功能是将指定的[S1.][S2.]源元件中的数,进行二进制代数乘法运算,然后将相乘结果积送入指定的目标元件中。16位运算如图4-27a所示,32位运算如图4-27b所示。    示例及使用:在32位运算中,若利用位元件作目标,只能得低32位的结果,不能得到高32位的结果。这时应先将数据移人字元件再进行计算,利用字元件作目标时,不可能同时监视64位数据内容,只能通过监控运算结果的高32位和低32位并利用式:64位结果=(高32位数据)×232+32位数据,来计算4位数据内容,这种情况下,建议最好采用浮点运算。
乘法指令的使用
    4-27    乘法指令的使用    a) 16位运算示例b32位运算示例    (4)除法指令DIV    功能是将[S1]指定为被除数,[ S2]指定为除数,将除得的结果送到[D.]指定的目标元件中,余数送到[D.]的下一个元件中。    示例及使用:如图4-28所示,当XOON(DO)÷(D2)(D4)商,( D5)余数(16位除法);当X1ON(D1D0)÷(D3D2)(D5D4)商,(D7D6)余数(32位除法)。
除法指令的使用
    4-28    除法指令的使用    使用乘法和除法指令时应注意:    1)源操作数可取所有数据类型,目标操作数可取KnYKnMKnSTCDVZ,要注意Z只有在16位乘法时能用,32位则不能用。    2)16位操作运算时占7个程序步,32位操作运算时为13个程序步。    3)32位乘法运算中,如果位元件作目标,则只能得到乘积的低32位,高32位将丢失,这种情况下应先将数据移入字元件再运算;在除法运算中,将位元件指定为[D.],则无法得到余数,除数为0时发生运算错误。    4)积、商和余数的最高位为符号位。    (5)1和减1指令    1指令(D)INC(P)的编号为FNC24;减1指令(D) DEC (P)的编号为FNC25INCDEC指令分别是当条件满足则将指定元件的内容加1或减1    示例及使用:如图4. 29所示,当X0ON时,(D10)+1( D10);当X1ON时,( D11)+1( D11)。若指令是连续指令,则每个扫描周期均做一次加1或减1运算。
加1和减1指令的使用
    4-29    1和减1指令的使用    使用加1和减1指令时应注意:    1)指令的操作数可为KnYKnMKnSTCDVZ    2)当进行16位操作时为3个程序步,32位操作时为5个程序步。    3)INC运算时,如数据为16位,则由+32767再加1变为- 32768,但标志位不能置位;同样,32位运算由+2147483647再加1就变为- 2147483648时,标志位也不能置位。    4)DEC运算时,16位运算由- 327681变为+32767,标志位不能置位;32位运算由- 21474836481变为+2147483647时,标志位也不能置位。