西门子S7-200plc变量怎么设置(西门子S7-200PLC整数运算指令)
1、整数与双整数加减指令
2、整数乘除指令
3、递增及递减指令
4.实数运算指令
(1) 整数与双整数加减法指令(INT /DINT)
如图
I是16位有符号数,DI是32位有符号数。ADD_I是将两个16位有符号整数相加后产生16位有符号整数,结果大于32767时产生溢出SM1.1置位。
SUB_DI是双整数减法运算,结果为双整数。如果结果为0,则SM1.0置位。
例:
1.加法指令实例
加法运算仿真,ADD_I是两个16位二进制数相加,结果也是16位二进制数。
有符号16位数值范围为
-32768~ 32767之间。
如果结果超过32787则产生进位特殊功能及电器SM1.1=1
如图
2.说明:进入运行状态MW0初值为16#0000,按一下I0.0后执行一次加法指令MW0=1000,在执行一次后又变为MW0=0000,但是进位使得SM1.1=1。
重复操作实现单按钮控制。
也可以用特殊功能继电器SM1.1驱动Q0.0。
如图
(2)整数乘除法指令
如图
整数乘法指令MUL_I将两个16位有符号数相乘,产生16位积从OUT指定单元输出。
MUL则将两个16位有符号整数相乘产生32位积从OUT指定单元输出。双整数乘法则将两个32位数相乘后产生32位积从OUT指定单元输出。
除法指令亦然,其中DIV指令是将两个16位有符号数相除,结果从一个32位输出,其中高16位为余数,低16位为商。
例:用乘法运算实现单按钮控制
说明:MW0由MB0和MB1两个字节组成,MB1是低字节,MB0是高字节,M0.7是最高位。
当初始化MW0=16#5555时折合#01010101,逐次乘2,则M0.7就会出现高低电平的变化。
如图
如图
(3)递增及递减指令
递增指令每执行一次存储单元的内容加1,可以用于控制循环次数,也可以用于加法计数运算。按存储单元长度分为:字节增量指令,字增量指令,双字增量指令三种。
递减指令每执行一次存储单元的内容减1,可以用于控制循环次数,也可以用于减法计数运算。按存储单元长度分为:字节减量指令,字减量指令,双字减量指令三种。
如图
原理:
用于使能输入有效时,输入数IN加1 或减1,得到的结果通过OUT指定的存储器单元输出。
例:
食品加工厂对饮料生产线上的盒装饮料进行计数,每24盒为一箱,要求能记录生产的箱数。
如图
增/减量指令的应用
用增量指令实现单按钮控制起保停控制。
每当I0.0通断一次,M0.0奇偶变化一次,从而使得Q0.0状态随之反转一次。
如图
(4)实数运算指令
实数运算指令一般用于模拟量的运算处理,如PID控制等。常用的实数运算分为以下几种:
1、实数加减运算
2、实数乘除运算
3、函数运算
《1》实数加减乘除指令
将两个实数(32位)相加,产生32位结果从OUT输出。
MOVD IN1,OUT
R IN2,OUT
如图
将两个实数(32位)相减,产生32位结果从OUT输出。
MOVD IN1,OUT
-R IN2,OUT
如图
实数可以理解为带符号的小数,因为是浮点数,小数的点的位置是任意的。注意的是实数是双字数,其地址单元必须是四字节。
《2》实数乘除运算
两个实数IN1和IN2相乘,产生的结果32的积从OUT输出。如果产生结果溢出SM1.1置1。
MOVD IN1,OUT
*R IN2,OUT
如图
两个实数IN1和IN2相乘,产生的结果32的积从OUT输出。如果产生结果溢出SM1.1置1。
MOVD IN1,OUT
*R IN2,OUT
如图
数学函数变换指令
函数运算的应用常常与模拟量模块相关,例如测量电路的电压有效值,电流的有效值,电功率、功率因数及电能
(1)平方根(SQRT)指令
(2)自然对数(LN)指令
(3)自然指数(EXP)指令
(4)三角函数指令(SIN、 COS、 TAN)
《3》函数运算指令
注意当使用三角函数运算指令时,输入角度为弧度值。
如图
使用函数运算指令实现电压电流有效值的测量
假设交流电压从AIW0输入,交流电流从AIW2输入(均应设置为双极性)。
通过PLC内部运行后将电压、电流的有效值、电功率、功率因数及消耗电能从PLC的文本显示器输出,构成组合参数仪表。
如图
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com