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

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

来源:艾特贸易2017-06-05

简介梯形图的数学运算指令实现的数学运算为: IN1+IN2=OUT,IN1-IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT 梯形图的整数乘法指令的输出为 16 位整数地址,累加器 1 中乘积的低 16 位被送给输出地址。所以梯形图

    梯形图的数学运算指令实现的数学运算为:

   IN1+IN2=OUT,IN1-IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT

    梯形图的整数乘法指令的输出为16位整数地址,累加器1中乘积的低16位被送给输出地址。所以梯形图中的整数乘法指令的乘积为16位整数,而不是32位。

    【例3-7】压力变送器的量程为010MPa,输出信号为4~20mAS7-300的模拟量输入模块的量程为4~20mA,转换后的数字量为027648,设转换后的数字为Ⅳ,试求以kPa为单位的压力值。

    解:0~10MPa(0~10000kPa)对应于转换后的数字0~27648,转换公式为

   P= (10000×N)/27648 kPa    (3-1)

    值得注意的是在运算时一定要先乘后除,否则会损失原始数据的精度。假设A/D转换后的数据NMD6中,以kPa为单位的运算结果存放在MW10。图3-59是实现式(3-1)中的运算的梯形图程序。

压力测量值计算程序

    3-59    压力测量值计算程序

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

   MUL 1指令的运算结果为16位整数。A/D转换后的最大数字为27648,乘以10000以后可能超过16位整数的允许范围,所以需要使用双字乘法指令MUL DI。双字除法指令DIV DI的运算结果为双字,但是由式(3-1)可知运算结果实际上不会超过16位正整数的最大值32767,所以用MOVE指令将MD20的低字MW22中的16位整数运算结果传送到MW10中。

    【例3-8  某变频器的频率给定信号是来自人机界面的1000~5000的整数,单位为0.01HzPLC的模拟量输出(AO)模块将0~27648的整数转换为010V的电压后送给变频器,变频器对应的输出频率为10~50Hz。试求频率给定值厂对应的送给AO模块的数字值N

频率-数字关系图

    3-60    频率-数字关系图

    解:由图3-60所示的比例关系可得

    设频率给定值在MW10中,实现上述运算的梯形图程序如图3-61所示。运算结果在MD20的低字MW22中。

模拟量输出计算程序

    3-61    模拟量输出计算程序