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加法指令的应用?
四则运算指令包括加法指令ADD、减法指令SUB、乘法指令MUL、除法指令DIV四种。加法指令ADD:执行加法指令ADD将输入IN1的值与输入IN2的值相加,并将加得结果存...
请教大家三菱PLC中的加减法指令怎么使用,谢谢?
三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执行前:加法指令执行后:三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执行...
请教欧姆龙PLC中加法指令+B和+的区别?
+B是不带进位的BCD码递增指令,而+就是普通的自加指令。+B的结果是您上面的第一个结果,+的结果是您上面的第二个结果+B是不带进位的BCD码递增指令,而+就是普通...
西门子plc运算指令?
西门子PLC的运算指令包括算术运算指令,逻辑运算指令,比较运算指令,移位指令和其他特殊函数指令。这些指令用于在PLC程序中对数据进行操作,满足自动化控制系统...
三菱plc中bin加法运算是什么意思?
在三菱PLC(可编程逻辑控制器)中,"BIN"可能指的是二进制(Binary)数据类型。在这种情况下,"BIN加法运算"意味着对两个二进制数进行加法运算。...
plcaddp指令怎么使用?
plcadd指令用法这个指令就是2个值进行加法运算(A+B=C)后得出结果,很简单属于四则逻辑运算的一个,除了它还有减法运算SUB,乘法运算MUL和除法DIV。ADD指令有16...
双向接近开关在plc中怎么写加减计数?
在PLC(ProgrammableLogicController)编程中,实现加减计数通常需要使用PLC的计数器功能。双向接近开关可以用来检测物体的接近和离开,从而控制计数器的增减...
三菱PLC怎么完成小数加减运算?
要在三菱PLC中完成小数加减运算,通常需要使用特定的指令来执行这些操作。以下是一般步骤:读取操作数:首先,从输入寄存器或数据寄存器中读取需要进行加减运...
西门子plc200如何把我运算的数据放入累加器?
累加器的作用不可低估。几乎你的所有地址操作都要经过累加器,不是你用不用的问题,而是一直在用,比如你做一个加法运算,那么PLC会将加法运算的对象放入累加器...
和利时PLCLM系列,加减乘除指令怎么找呀?
和利时PLCLM系列加减乘除指令:ADD-加法指令MUL-乘法指令SUB-减法指令DIV-除法指令MOD-取余指令和利时PLCLM系列加减乘除指令:ADD-加法指令MUL-乘法指令SUB-减...