非线性转成多段线性变送
非线性转成多段线性变送
目前,很多模拟量的输入与输出存在着非线性的关系,而在计算这两者之间的关系时,总不能找到一个符合或者相近的公式来进行计算。对此常见的解决方法是把非线性的模拟量输入分割成多段,并将每段进行线性化处理,然后进行相应的模拟量输出。
下面是用海为PLC编程软件将频率与温度的非线性关系转成多段线性变送的例子。其多段频率对应的温度值如下表所示:
频率(Hz) |
温度(℃) |
639.4 |
210.0 |
626.9 |
200.0 |
614.2 |
190.0 |
601.6 |
180.0 |
588.8 |
170.0 |
576.0 |
160.0 |
563.1 |
150.0 |
550.2 |
140.0 |
537.2 |
130.0 |
524.1 |
120.0 |
511.0 |
110.0 |
497.7 |
100.0 |
484.6 |
90.0 |
471.3 |
80.0 |
457.9 |
70.0 |
444.5 |
60.0 |
431.0 |
50.0 |
417.4 |
40.0 |
403.8 |
30.0 |
390.1 |
20.0 |
376.3 |
10.0 |
362.5 |
0.0 |
建立两个名称分别为“频率表”和“温度表”的初始寄存器表,地址V1100~V1121与上表的频率值相对应,地址V1200~V1221与上表的温度值相对应,如下图所示:
主程序如下图所示:
子程序如下图所示:
总结:通过这个例子,我们知道非线性曲线通过多段线性变送可以使输出逼近非线性曲线。逼近非线性曲线的程度取决于段数的多少,段数越多,就越逼近,反之,则偏离越远。而段数的多少应如何取决呢?因为当段数较少时,误差会相对较大;段数较多时,误差小,但是程序量大,会影响运行的速度。所以段数的多少需要根据工程的实际情况进行分割。使工程在允许的误差范围内程序尽可能的小。
文章版权归西部工控xbgk所有,未经许可不得转载。