模拟量处理程序,经典模板,拿去直接编译使用
发表时间:2018-07-09
一、开始之前献给大家普及一下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