模拟量处理程序,经典模板,拿去直接编译使用

一、开始之前献给大家普及一下S7200模拟量编程原理模拟量值和A/D转换值的转换

假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0 —Dm(如:*00—32000),设模拟量的标准电信号是A,A/D转换后的相应数值 为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0。

根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出 函数关系D=f(A)可以表示为数学方程:D=(A-A0)×(Dm-D0)/(Am-A0)+D0。

具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的 数值是*00—32000,即A0=4,Am=20,D0=*00,Dm=32000,代入公式,得 出: A=(D-*00)×(20-4)/(32000-*00)+4。

假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号 是*00×16/25600+4=8mA。

二、模拟量经典编程案例源码,拿去直接编译使用

SIEMENS S7-200系列模拟量算法程序,模拟量扩展模块EM231 ,温度传感器为1-5V 对应温度为-30-70度,此算法程序如下:

LD AIW0, VW2012

MOVD &VB2012, AC1

MOVW *AC1, VW2024

DIV +320, VD2022

MUL +10, VD2020

DIV +320, VD2020

MOVW VW2022, VW2026

MOVW +0, VW2022

MUL +10, VD2022

+I VW2024, VW2026

-I +300, VW2026

MOVW VW2026, *AC2 通过AC2显示温度值

本程序已在工业应用中,可拷贝后直接粘贴到程序中使用.友情奉献.

D SM0.0

MOVW AIW0, VW2012