PLC中加法计算怎么编程?
加法指令有三种:16位整数加法、32位长整数加法、浮点数加法指令
因为加法是一个数加另外一个数,得到相加结果
如果两个数是16位的整数,如1234、50000(数值必须小于等于65535),则用16位加法器ADDB(结果也为16位整数)如果两个数是32位的整数,如1234567、300000(数值大于65535),则用32位加法器ADBL(结果也为32位整数)如果两个数是浮点数,如723.18、1.3345(大小范围无限制),则用浮点数加法器FADD(结果也为浮点数)如果两个数类型不一样,必须先用转换指令转成同类型,才能用加法指令相加。
一、16位加法器ADDB(结果小于等于16位)
指令说明:
被加数取值范围0到65535(16位)
加数的取值范围0到65535(16位)
结果的取值范围0到65535(16位)
如下图:
图中,节点00200接通时,被加数寄存器(16位)41001的数值与加数寄存器(16位)41002的数值相加,结果放到寄存器41003(16位)。
Q1输出等于I1
Q3进位指示。等于0表示结果无进位(小于65535)。Q3等于ON,表示结果有进位(大于65535)。
二、32位加法器ADBL(结果等于32位)
指令说明:
被加数(32位)
加数(32位)
结果(32位)
如下图:
图中,节点00200接通时,被加数寄存器(32位)41001、41002的数值与加数寄存器(32位)41003、41004的数值相加,结果放到寄存器41005、41006(32位)。
41001是高16位,41002是低16位。(两个寄存器组成32位)
41003是高16位,41004是低16位。(两个寄存器组成32位)
41005是高16位,41006是低16位。(两个寄存器组成32位)
Q3进位指示。
三、浮点加法器FADD(结果等于浮点数)
指令说明:
被加数是浮点数(32位)
加数是浮点数(32位)
结果是浮点数(32位)
如下图:
图中,节点00200接通时,被加数寄存器(浮点数)41001、41002的数值与加数寄存器(浮点数)41003、41004的数值相加,结果放到寄存器41005、41006(浮点数)。
41001和41002两个寄存器组成浮点数
41003和41004两个寄存器组成浮点数
41005和41006两个寄存器组成浮点数
Q1等于I1。
PLC的加、减、乘、除指令有什么用?其实功能十分强大!
大家好,欢迎关注电气技术微课堂!这里会每天更新关于电气自动化、PLC、工业机器人、电子技术的原创文章和微课,如果你感兴趣请关注我
今天我们要谈一谈西门子S7-1200PLC中常用的四则运算指令 !
什么是四则运算指令呢?
四则运算指令包括加法指令ADD、减法指令SUB、乘法指令MUL、除法指令DIV四种。
一、加法指令ADD
执行加法指令ADD将输入IN1的值与输入IN2的值相加,并将加得结果存储在OUT设定的寄存器中。
加法指令功能框各端口的定义如下
EN: 使能输入端,EN为1时执行加法指令,EN为0时不执行。
ENO: 使能输出端,当指令正确执行期间使能输出端ENO为1,指令结果超出输出 OUT指定数据类型的允许范围或浮点数为无效值时ENO为0。
IN1/IN2: 要相加的数值,可以是寄存器的地址或常数,单击ADD指令下的星标可以扩展输入的数目。
OUT: 加法计算结果输出,IN1+IN2=OUT,OUT端一般填写寄存器地址。
加法指令小提示: 可以从指令框的“<???>”下拉列表中选择该指令的数据类型,当地址长度与数据类型不匹配时,会将输入数值隐式转换为指定的数据类型,编译不会报错,但运行过程中可能会出错。
二、减法指令SUB
执行减法指令SUB,将由被减数IN1的值减去减数IN2的值,并将结果存入OUT设定的寄存器地址中。
减法指令功能框各端口的定义如下
EN: 使能输入端,EN为1时执行加法指令,EN为0时不执行。
ENO: 使能输出端,当指令正确执行期间使能输出端ENO为1,指令结果超出输出 OUT 指定数据类型的允许范围或浮点数为无效值时ENO为0。
IN1: 被减数,可以是寄存器地址或常数。
IN2: 减数,可以是寄存器地址或常数。
OUT: 减法计算结果输出,IN1-IN2=OUT,OUT端一般填写寄存器地址。
三、乘法指令MUL
乘法指令MUL将输入 IN1 的值与输入 IN2 的值相乘,并将乘积保存在输出 OUT指定的寄存器中。
乘法指令功能框各端口的定义如下
EN: 使能输入端,EN为1时执行加法指令,EN为0时不执行。
ENO: 使能输出端,指令正确执行期间ENO输出为1,
IN1: 乘数,可以是寄存器地址或常数。
IN2: 乘数,可以是寄存器地址或常数。
Inn: 可以添加多个相乘的数。
OUT: 输出乘积存入指定的寄存器中。
四、除法指令DIV
除法指令DIV将输入 IN1 的值除以输入 IN2 的值,并将除得的商保存在输出 OUT指定的寄存器中。DIV指令支持各种整型和实数型数据。
除法指令功能框各端口的定义如下
EN: 使能输入,EN为1时执行加法指令,EN为0时不执行。
ENO: 使能输出 ,指令正确执行期间ENO状态为1。
IN1: 被除数,可以是寄存器地址、整数或浮点数,需要与所选数据类型匹配。
IN2: 除数,可以是寄存器地址、整数或浮点数,需要与所选数据类型匹配。
OUT: 商值,输出OUT为执行除法指令得到的商,数据类型为无符号整数,余数被省略不计。
除法指令小提示
在使用除法指令DIV时,OUT输出端为除得的商值,数据类型为无符号整型,余数被省略不显示,如果需要求余数需使用MOD指令。
四则运算指令的实际应用举例
例题:温度传感器将采集到的温度值转换为电压信号输入给PLC,测量范围是0~100Co,数值经过被CPU集成的模拟量通道0(地址为IW64)转换为0~27648的数字,假设转换后的数字为T,试求以为Co单位的温度值。
解:0~100Co的温度值经A/D转换后的数字为0~27648,设转换后得到的数字为T,转换公式为
在编辑指令时,为了保证运算精度,应先乘后除。
因为公式中IW64乘以100的运算结果可能会大于16位整数的最大值32767(IW64为16位存储器,模拟值为二进制的补码,最高位为符号位,0为负,1为正),因此应将IW64中的数值数据类型转换为实数再进行乘除运算。
相关问答
plc加法指令都分哪几种?
plc加法指令都分add和addd两种PLC中ADD指令是加法指令。加法指令分为多种,有ADD-I为单精度整数相加,单精度整数使用4个字节存储,一般取值范围-32767~+32767...
plc编程怎样用数据传送指令算加减法?
在PLC编程中,可以使用数据传送指令来进行加减法运算。首先,将需要进行运算的数据存储在不同的寄存器中。然后,使用数据传送指令将其中一个寄存器的值传送到另...
PLC加,减,乘,除,指令实际使用有哪些应用?
举例说明:假如PLC用在机床上面,那么最简单的,机床的工件计数就要用到加法指令假如PLC用在检测设备上面,那么就会有三种计数,一种是合格品,一种是不合格品...
三菱plc加减指令?
三菱plc加法指令add,减法指令sub.三菱plc加法指令add,减法指令sub.
请教大家三菱PLC中的加减法指令怎么使用,谢谢?
三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执行前:加法指令执行后:三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执行...
plc浮点数可以加减吗?
PLC(可编程逻辑控制器)浮点数可以进行加减运算。浮点数主要用于处理实数数据,可以进行加法和减法运算。在PLC编程中,可以使用浮点型变量来存储和处理浮点数数...
三菱PLC怎么完成小数加减运算-懂得
首先需要明确,三菱PLC默认情况下只能进行整数运算,如果需要进行小数运算,需要购买带有模拟量输入输出模块的PLC。假设使用了模拟量输入输出模块,以...
三菱plc多个寄存器相加怎么做?
将多个寄存器的值先存储到某个数据块中,再使用加法指令将数据块中的值相加,得到最终结果。因为在PLC编程中,需要使用类似于数组的数据块来存储多个寄存器的值...
三菱PLC怎么完成小数加减运算?
要完成小数加减运算,首先需要在三菱PLC中使用浮点数数据类型来存储小数数据。接下来,可以使用特定的指令来执行加减运算,例如使用ADD指令来进行加法运算,使用...
西门子plc200如何把我运算的数据放入累加器?
累加器的作用不可低估。几乎你的所有地址操作都要经过累加器,不是你用不用的问题,而是一直在用,比如你做一个加法运算,那么PLC会将加法运算的对象放入累加器...
扫一扫微信交流