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中加法计算怎么编程?
加法指令有三种: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中的加减法指令使用方法如下:1、加法指令ADD是将指定源地址中的二进制数相加,其结果送到指定目标地址中。当X0=ON时,源地址[S1]、[S2]的两个数据寄存...
西门子plc加减乘除指令实例?
举例说明:1.假如PLC用在机床上面,那么最简单的,机床的工件计数就要用到加法指令2.假如PLC用在检测设备上面,那么就会有三种计数,一种是合格品,一种是不...
plc加法器说明书?
PLC加法器是一种基于可编程逻辑控制器(PLC)的数字电路,用于实现两个二进制数相加的功能。加法器可以将两个二进制数相加,并输出其和。PLC加法器的结构通常采...
三菱PLC中的ADD到底指令加法,到底怎么用,具体含义及实例?
三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执行前:加法指令执行后:三菱PLC中的ADD加法指令使用方法如下:下面举一个实例。加法指令执...
plc增减计数器原理讲解?
描述1)当plc为RUN方式时,K20被送入预置值寄存器SV100中,如果此时复位行为OFF,则SV100中的K20又被送到经过值寄存器EV100中。2)每检测到一个计...描述.....
西门子plc中add指令?
西门子PLC中ADD指令是加法指令。加法指令分为多种,有ADD-I为单精度整数相加,单精度整数使用4个字节存储,一般取值范围-32767~+32767。ADD-DI为双精度整数相加...
三菱plc多个寄存器相加怎么做?
内容延伸:除了使用指令进行运算,也可以通过编写函数块或使用现成的函数来实现多个寄存器的相加,提高编程效率和可读性。同时,还需要注意编写程序时的数据安全...
三菱PLC里面ADD加法指令运算得出的结果是错的怎么办?
如果三菱PLC里面ADD加法指令运算得出的结果是错的,需要进行以下步骤进行排查:首先,检查输入数据是否正确,引脚接线是否正确;其次,检查程序是否正确,是否...
plc里ADD是什么?
plcadd指令用法这个指令就是2个值进行加法运算(A+B=C)后得出结果,很简单属于四则逻辑运算的一个,除了它还有减法运算SUB,乘法运算MUL和除法DIV。ADD指令有16...
PLc恒压供水原理?
PLC恒压供水系统原理该系统主要是由PLC、变频器、动力控制线路以及水泵等组成。通过安装在出水管网上的压力传感器,把出口压力信号通过A/D变换变成标准数字信...