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加法指令的应用?
四则运算指令包括加法指令ADD、减法指令SUB、乘法指令MUL、除法指令DIV四种。加法指令ADD:执行加法指令ADD将输入IN1的值与输入IN2的值相加,并将加得结果存...
plc编程怎样用数据传送指令算加减法?
在PLC编程中,可以使用数据传送指令来进行加减法运算。首先,将需要进行运算的数据存储在不同的寄存器中。然后,使用数据传送指令将其中一个寄存器的值传送到另...
plc中32位加法指令是?
数据顺序错啦应该是D2D1,D6D5D4D3,寄存器编号小的是低位,大的是高位!指令前面加了D,就表示执行32位指令,相应的操作数自动变成32位格式,比如DMOVK100...
三菱PLC中的ADD到底指令加法,到底怎么用,具体含义及实例?
三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执行前:加法指令执行后:三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执...
西门子plc数据如何连续加减运算?
西门子plc数据使用DIV指令来连续加减运算。DIV指令即两个整数类型的数据进行除法运算(目标为双整数,其中高16位字存余数、低16位字存商)。当条件I0.1接通时...
请教欧姆龙PLC中加法指令+B和+的区别?
+B是不带进位的BCD码递增指令,而+就是普通的自加指令。+B的结果是您上面的第一个结果,+的结果是您上面的第二个结果+B是不带进位的BCD码递增指令,而+就是普通...
plc加减计数器怎么用?
使用西门子PLC加减计数器需要按照以下步骤进行:1.明确可以使用西门子PLC加减计数器进行计数操作。2.西门子PLC加减计数器是一种可编程逻辑控制器,能够实现对...
西门子plc运算指令?
西门子PLC的运算指令包括算术运算指令,逻辑运算指令,比较运算指令,移位指令和其他特殊函数指令。这些指令用于在PLC程序中对数据进行操作,满足自动化控制系统...
三菱plc多个寄存器相加怎么做?
将多个寄存器的值进行相加需要使用到寄存器间的数据传输指令和算术运算指令。首先,使用数据传输指令将需要相加的寄存器值传送到一个特定的寄存器中,然后再使...