发布人:厦门海为科技有限公司 发布时间:2012-10-24
目前,很多模拟量的输入与输出存在着非线性的关系,而在计算这两者之间的关系时,总不能找到一个符合或者相近的公式来进行计算。对此常见的解决方法是把非线性的模拟量输入分割成多段,并将每段进行线性化处理,然后进行相应的模拟量输出。
下面是用海为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与上表的温度值相对应,如下图所示:
主程序如下图所示:
子程序如下图所示:
总结:通过这个例子,我们知道非线性曲线通过多段线性变送可以使输出逼近非线性曲线。逼近非线性曲线的程度取决于段数的多少,段数越多,就越逼近,反之,则偏离越远。而段数的多少应如何取决呢?因为当段数较少时,误差会相对较大;段数较多时,误差小,但是程序量大,会影响运行的速度。所以段数的多少需要根据工程的实际情况进行分割。使工程在允许的误差范围内程序尽可能的小。
海为公众号
海为云APP
厦门海为科技有限公司
0592-3278716 (技术) | 4000-360-362 (商务)
海为总部:厦门市集美区软件园三期C03栋13-14层 | 制造中心:厦门市翔安区火炬高新区(翔安)产业区垵边南路336-2号4楼