您现在的位置是:首页 > PLC技术 > PLC技术
三菱FX系列PLC的算数运算指令
来源:艾特贸易2017-06-04
简介算术运算包括 ADD 、 SUB 、 MUT 和 DIV (二进制加、减、乘、除)指令,源操作数可取所有的数据类型,目标操作数可取 KnY 、 KnM 、 KnS 、 T 、 C 、 D 、 V 和 Z(32 位乘除指令中 V 和 Z 不能
算术运算包括ADD、SUB、MUT和DIV(二进制加、减、乘、除)指令,源操作数可取所有的数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z(32位乘除指令中V和Z不能用作[D·])。16位运算占7个程序步,32位运算占13个程序步。
(1)加法指令
加法指令ADD (Addition)的功能指令编号为FNC20。加法指令将源元件中的二进制数相加,结果送到指定的目标元件。每个数据的最高位为符号位(0为正,1为负),加减运算为代数运算。图4-19中的X0为ON时,执行(D10)+(D12)→(D14)。
图4-19 二进制加减法运算
在32位运算中用到字编程元件时,被指定的字编程元件为低位字,下一个编程元件为高位字。为了避免错误,建议指定操作元件时采用偶数元件号。
如果运算结果为0,则零标志M8020置1;若运算结果超过32 767(16bit运算)或2147483647(32bit运算),则进位标志M8022置1;若运算结果小于-32767(16bit运算)或-2147483647(32bit运算),则借位标志M8023置1。标志的ON/OFF状态与数值正负的关系如图4-20所示。
图4-20 标志的状态与数值正负的关系
若源元件号和目标元件号相同,并采用连续执行的ADD指令,那么每一个扫描周期加法的结果都会改变。
(2)减法指令
减法指令SUB (Subtraction)的功能指令编号为FNC21,减法指令将[S1·]指定的元件中的数减去[S2·]指定的元件中的数,结果送到[D·]指定的目标元件。每个标志的功能、32位运算元件的指定方法、连续执行和脉冲执行的区别等均与加法指令中的相同。图4-19中的X1为ON时,执行(D1,D0)-22→ (D1,D0)。
用脉冲执行的加减指令来加/减1与脉冲执行的INC(加1),DEC(减1)指令的执行结果相似,其不同之处在于INC指令和DEC指令不影响零标志、借位标志和进位标志。
(3)乘法指令
乘法指令MUL (Multiplication)的功能指令编号为FNC22,每个数据的最高位为符号位(0为正,1为负)。
图4-21 二进制乘除法运算
16位乘法指令将源元件中的二进制数相乘,结果(32位)送到指定的目标元件。图4-21中的X0为ON时,执行(D0)×(D1)→(D4)。即将D0和D2中的数相乘,乘积的低位字送到D4,高位字送到D5。
目标位元件(如KnM)可用K1~K8来指定位数。如果用K4来指定位数,则只能得到乘积的低16位。
32位乘法运算指令(D) MUL,如用位元件作目标,则只能得到乘积的低32位,高32位丢失。在这种情况下,应先将数据移入字元件再进行运算。用字元件时,不能监控64位数据的内容,因此,建议采用浮点运算。
(4)除法指令
除法指令DIV (Division)的功能指令编号为FNC23,用[S1·]指定被除数,[S2·]指定除数,商送到[D·]指定的目标元件,余数送到[D·]的下一个元件。图4-21中的X3为0N时,执行(D7,D6)÷(D9,D8),商送到(D3,D2),余数送到(D5,D4)。
若除数为0则出错,不执行该指令。若位元件被指定为目标元件,则不能获得余数,商和余数的最高位为符号位。
点击排行
