UniMAT亿维:模拟量计算与编程

我们进行模拟量计算和编程之前,首先要清楚一些概念和计算依据即转换公式,搞清楚这些我们才能顺畅的进行编程。下文以200CPU模拟量输入为例进行介绍。

我们进行模拟量计算和编程之前,首先要清楚一些概念和计算依据即转换公式,搞清楚这些我们才能顺畅的进行编程。下文以200CPU模拟量输入为例进行介绍。

1、概念说明
工程值即为变送器对应的实际工程量,如压力值、温度值、流量值等。
信号值即为通过万用表检测到的电流值、电压值。
通道读数即为CPU所读取通道的数值。
2、转换公
对于CPU读取或输出的模拟量数值,可读性差,一般需要工程转换,转换成工程值便于分析和利用。可通过下面的公式1(该公式收集于网络)对其进行转换:
公式1 Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov:换算结果 Iv:换算对象 Osh:换算结果的高限 Osl:换算结果的低限
Ish:换算对象的高限  Isl:换算对象的低限
3、转换实例
以一电流型的变送器为例,对上述公式进行讲解。变送器输出为电流型,电流范围为4到20mA,对应的工程值为0到100KPa。由此可以得出:4到20mA对应0到100KPa,对应6400到32000.即4mA对应0KPa对应6400,三者的关系是线性的。对应上述公式:Ov=压力值;Iv=CPU模拟量通道读数;Osh=100KPa;Osl=0KPa;Ish=32000;Isl=6400。当CPU模拟量通道读数为N,对应的压力为P,代入上述公式:P=(100-0)*(N-6400)/(32000-6400)+0.同样利用该公式我们可以算出CPU模拟量通道读数为N时对应的电流值I:I=(20-4)*(N-6400)/(32000-6400)+4.已知模拟量输入信号值(如检测到的电流值)、模拟量通道读数、工程值其中的一项,通过上述公式可以很方便的计算出另外两项的值。
4 编程实例
可通过两种方式对模拟量数据进行处理,调用封装好的库文件或手动编写程序。调用库文件适用于模拟数据较多时,可直接调用库文件;手头没有库文件,模拟量数据较少时可采用手动编程。推荐前者,简洁、快速。
(1)Scale库应用
通过调用库文件,可以很方便对模拟量数据经行处理。选用的库为Scale。Scale库有三个子项,S_ITR即整数转换成实数,模拟量输入数据处理用的比较多;S_RTR即实数转换成实数,PID数据处理用的较多;S_RTI即实数转换成整数,模拟量输出数据处理用的较多。
该库是根据公式1进行编写的,引脚定义与公式1类似,不同的是Ov代码改成Output,Iv代码改成Input。
上个例子中,模拟量通道为AIW0,计算后的数据即VD0与实际值有偏差时,可以引用偏差VD4,两者相加得到与实际值较为接近的数值VD8.程序示例见图1.

图1 库文件调用
(2)手动编写转换程序
为了保证精度,手动编写程序的原则是先乘后除。程序示例见图2.

图2 转换程序
计算后的数据即VD12与实际值有偏差时,可以引用偏差VD16,两者相加得到与实际值较为接近的数值VD20.
5 说明
(1)200的库文件同样适用于模拟量输出编程;
(2)300的模拟量输入计算可调用FC105,输出计算可调用;
(3)以电流为例,300模块采集到的变送器信号,0-20mA或4-20mA,通道数据字对应皆为0-27648,需要注意的是通道硬件组态要设置正确;
(4)RTD和TC模块通道读数为实际温度的10倍,不需要转换计算,例通道读数为500,对应的实际温度为50.0℃。(转发暗号:亿维公司口号:信赖,源自品质;信任,铸就品牌)


我们进行模拟量计算和编程之前,首先要清楚一些概念和计算依据即转换公式,搞清楚这些我们才能顺畅的进行编程。下文以200CPU模拟量输入为例进行介绍。


精彩评论 0

还可以输入100个字,评论长度3个中文字符以上
95919000:2017-06-24 04:50:47