如何对温度流量等非线性信号进行量程变换
概述
要对一个信号进行测量,直接测量往往是比较困难的,如要测量一个反应炉的温度,在高达几百度的环境中直接用水银或酒精温度计测量是不可能的,因为在此温度下温度计本身可能已经损坏,即使在常温下,而且其测量精度也达不到工业控制的需要。因此此时一般采用热电偶、热电阻等测量元件进行温度监测。在传感器的测量元件(尤其是敏感元件)有许多具有非线性的静特性。例如,热电偶、热电阻在温度的检测和控制中得到了非常广泛的应用。然而,这些传感器都具有非线性特性。热电偶、热电阻的非线性特性由相应的分度表给出。可见,为了保证测量输出信号(如0-5V电压信号)和实际测量的物理信号之间一致,必须对传感器输出进行非线性的变换。
如前所述,分段线性化的输入和输出之间存在着非线性的关系。它的基本原理是把输入信号分成若干段,在每一段上都可以认为是输入和输出之间存在着线性的关系,对于这些量而言,在整个量程范围内是非线性的,但是就输入的某一个局部范围之内,其输出和输入可以近似的认为是线性关系。理论证明,只要段的间距足够的小,分段的数量足够的多,对于任何连续函数,在误差允许的范围内,都可以用分段线性化来处理。但是在实际的应用中,分段的数量不宜太多,往往根据测量精度的实际要求,权衡使用分段的数量。
公式:假设在输入x分成n段:X1,X 2,X 3,…….,X n,输出y分别对应于:Y1,Y2,Y3,……,Yn,则输出的计算公式是:
输入 |
输出 |
小于X1 |
等于Y1 |
等于Xi |
等于Yi |
Xi<x<Xi+1 |
|
大于Xn |
等于Yn |
如下图示:
如下图示:
分段线性化表的组态:
分段线性化表是模拟IO点的一个参数,要进行分段线性化必须建立分段线性化表。从组态环境中的导航树“数据库/点组态”进入数据库组态,在数据库组态程序菜单中选择“工程/分段线性化表”,进入到分段线性化表的管理界面:
点击增加,则进入到分段线性化表组态:
表名是分段线性化的索引,在整个数据库系统中唯一,由字母和数字组成,最多不超过64个字符。
前面说过,分段线性化表是把输入分成若干段,每一个分隔点都有一个输入和输出与之对应。因此,在组态时,要设计其分隔点的输入和输出,在分段设置框中分别输入合适的输入值和输出值,点击增加,则在分段线性化表中就增加一个分隔点。因为分段线性化对于一个输入只能有一个输出,如果增加时相同的输入已经存在,则增加无效。
修改时如果当前选中了一个分隔点,则修改时只修改当前选中分隔点的输出值。
删除时删除当前表的选中的分隔点。
对于一个分段线性化表而言,最少需要有两个分隔点。
建立一个分段线性化表之后,就可以在模拟IO点中引用了,在点表中选择一个模拟IO点,在其基本参数页中进行分段线性化组态:
注意,如果要进行分段线性化,必须首先让该点分段线性化使能。在分段线性化表中选择已经组态好的分段线性化表,如果没有组态,则点击按钮 新增加一个分段线性化表,也可以通过点击按钮 对已经建立的分段线性化表进行修改。
这样,在系统运行时,DB将自动对输入变量进行分段线性化。