|
目前,很多模擬量的輸入與輸出存在著非線性的關系,而在計算這兩者之間的關系時,總不能找到一個符合或者相近的公式來進行計算。對此常見的解決方法是把非線性的模擬量輸入分割成多段,并將每段進行線性化處理,然后進行相應的模擬量輸出。
下面是用海為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與上表的溫度值相對應,如下圖所示:

主程序如下圖所示:

子程序如下圖所示:


總結:通過這個例子,我們知道非線性曲線通過多段線性變送可以使輸出逼近非線性曲線。逼近非線性曲線的程度取決于段數的多少,段數越多,就越逼近,反之,則偏離越遠。而段數的多少應如何取決呢?因為當段數較少時,誤差會相對較大;段數較多時,誤差小,但是程序量大,會影響運行的速度。所以段數的多少需要根據工程的實際情況進行分割。使工程在允許的誤差范圍內程序盡可能的小。
|