三菱PLC算术运算指令的介绍
肖菲
发布于2023-09-04 15:54
777
31
标签:PLC,三菱PLC,PLC运算指令
在上一篇文章介绍了FX5U PLC比较运算指令的使用,这一篇文章继续讲讲别的一些指令吧,讲算术运算指令的使用。FX 5U PLC的算术运算指令包括加减乘除运算指令 - * /、BCD码加减乘除运算指令B B- B* B/、块数据加减法指令BK BK-、数据递增递减指令INC DEC,其中B B- B* B/、BK BK-指令是FX5U新增的指令,我们就分别介绍一下这些指令的使用。(更多PLC课程试看)
1、加减乘除运算指令 - * /
在FX5U PLC中,加法运算有 指令与ADD指令,减法运算有-指令与SUB指令,乘法运算有*指令与MUL指令,除法运算有/指令与DIV指令。加减乘除运算指令同样有16位指令和32位指令之分、连续执行型和脉冲执行型指令之分、有符号数和无符号数指令之分,注意:指令还有操作数为2个和操作数为3个的区分,这也是FX5U与FX3U等老系列PLC的区别。
当操作数为2个,且使用脉冲执行型指令时可以做数值累加功能。下图程序中的 P K10 D0实际上是驱动条件每接通一次,就执行一次递加10的功能,和 P K10 D30 D30的功能是一样的,只不过是2个操作数和3个操作数的不同而已,当有3个操作数时要实现递加功能需要有两个软元件地址是一样的,当软元件地址不相同时,执行的就是普通的加法运算。
加减乘除运算指令除了有整数运算指令,也有浮点数运算指令。浮点数运算指令使用也是较多的,比如模拟量或运动控制中涉及的运算,一般都是采用浮点数运算指令。
① 浮点数运算指令:DEADD、DESUB、DEMUL、DEDIV、E 、E-、E*、E/
② 浮点数传送与比较指令:DEMOV、DECMP、DEZCP、浮点数触点比较指令。该部分指令的功能跟前面讲解的是一样的,只不过在指令的前面多带了个DE即可。
2、递增递减指令INC/DEC
数据递增指令INC是对指定的软元件的数据进行 1,数据递减指令DEC是对指定的软元件的数据进行-1。如果使用连续执行型指令,则每个运算周期都将进行加减法运算。这两个指令的递增减是属于环形计数的,当数据为32767时执行了INC(P)指令将变成-32768,数据为65535时执行了INC(P)_U指令将变成0,数据为-32768时执行了DEC(P)指令将变成32767,数据为0时执行了DEC(P)_U指令将变成65535,我们可以用如下程序进行验证。
3、BCD码加减乘除运算指令B B- B* B/
BCD码加减乘除运算指令B B- B* B/与加减乘除运算指令一样,同样可以区分2个操作数和3个操作数的情况,下面以BCD码加法运算指令为例讲解。
B (P)在操作数为2个的情况下,是将d中指定的BCD4位数据与s中指定的BCD4位数据进行加法运算,将结果存储到d中指定的软元件中。B (P) 在操作数为3个的情况下,是将s1中指定的BCD4位数据与s2中指定的BCD4位数据进行加法运算,将运算结果存储到d中指定的软元件中。
注意该指令源址和终址的数据范围是0~9999,当加法运算结果超过了9999的情况下,位数上升将被忽略,在此情况下,进位标志(SM700)不变为ON。当减法运算结果发生了下溢时,其情况如下所示,在此情况下,进位标志(SM700)不变为ON。
4、块数据加法/减法运算指令BK BK-
将s1中指定的软元件开始的n点的BIN16位数据与s2中指定的软元件开始的n点的BIN16位数据进行加法/减法运算,将结果存储到d中指定的软元件中,注意块数据运算指令没有乘法和除法运算的指令。以块数据加法运算指令为例:
运算结果发生了下溢及上溢时,其情况如下所示,在此情况下,进位标志不变为ON。
对于FX5U PLC的BCD码加减乘除运算指令、块数据加法/减法运算指令,我们可以用下图的程序进行测试指令的执行效果和功能哦~