您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400的梯形图中的整数数学运算指令

来源:艾特贸易2017-09-21

简介改用整数数学运算指令实现式 (3-1) 的压力 P(kPa) 计算: P= (10000×N)/27 648 (3-2) 在编程时一定要先乘后除,否则会损失原始数据的精度。应根据指令的输入、输出数据可能的最大值选用整数

    改用整数数学运算指令实现式(3-1)的压力P(kPa)计算:

   P= (10000×N)/27 648    (3-2)

    在编程时一定要先乘后除,否则会损失原始数据的精度。应根据指令的输入、输出数据可能的最大值选用整数运算指令或双整数运算指令。

    假设用于测量压力的AI模块的通道地址为PIW320A/D转换后的数字N的值为027 648,乘以10 000以后乘积可能超过16位整数的允许范围,因此应采用双整数的乘法指令MUL_DI。除法指令中的被除数是双整数,因此应采用双整数除法指令DIV_DI

    首先用指令I_DIPIW320中的原始数据(16位整数)转换为双整数(见图3-106和随书光盘中的例程“指令应用”),双字乘、除法指令中的常数应使用“L#”开始的32位的双整数常数。

压力计算程序

    3-106    压力计算程序

    如果某一方框指令的运算结果超出了整数运算指令的允许范围,状态位OVOS将为1,使能输出ENO0,不会执行该方框指令右边的指令。

    双字除法指令DIV_DI的运算结果为双字,但是由式(3-2)可知运算结果实际上不会超过16位正整数的最大值32767,所以运算结果在MD26的低字MW28中。