西門子PLC關於流量的累積如何解決該問題

2022-09-04 02:57:01 字數 1537 閱讀 4356

現在上位機系統中很多要求具備流量計的流量累計功能,由此引出的幾個問題,現在北京天拓四方科技****的技術工程師來跟大家做個詳細的介紹。

問題1:自行編寫流量累計程式

自行編寫流量累計程式的原理,其實就是積分的最原始演算法概念,把單位小間隔時間內的瞬時流量乘以單位間隔時間,得到單位小間隔時間內的流量,再把這些小流量累加起來,就的到了累計流量。

在流量累計程式設計中經常會遇到實數加法問題,實數加法運算的注意事項也應當引起程式設計人員的重視,請看下例程式(假設其在ob35中被呼叫,目的為每隔一定時間間隔就累計一次流量)

l md0 //累計流量儲存值

l md4 //流量瞬時值

+r t md 0

以上的程式是否存在問題?

很多人會認為沒有問題,但實際情況是此程式在執行一段時間後就將出現錯誤。此程式在執行之初是正常的,因為累計流量初始值及流量瞬時值都為乙個很小的浮點數,兩數相加後,結果正確。但是當一段時間後,累計流量的數值逐漸增大,當它與瞬時流量的數值相差很遠的時候,兩者執行加法操作後,瞬時流量的數值將被忽略掉(如9999990.

0與0.2做加法操作)。其實具備計算機常識的人都應當清楚這一點,這是由於浮點數的儲存機制造成的,是所有計算機方面程式設計都需要考慮的問題。

這個問題可以通過使用二次累加或多次累加的方法來解決。所以在程式設計時應避免數量級相差太多的浮點數之間進行運算。很多人反映「加法指令不好用了」,很有可能就是數量級相差很多的實數進行了加法運算。

問題2:累計流量誤差問題

對於積分演算法,取小的矩形對流量進行累計,肯定是矩形劃分越細,誤差越小,不存在誤差是不可能的。

問題3:流量計與plc構成的系統的誤差

流量計有多種多樣,下面舉些例子:

1、流量計本身沒有累計流量功能,但可以把瞬時流量以模擬量的方式(例如4-20ma)輸出。

此時累計流量的最大誤差可以估算為:

流量計本身誤差*流量計d/a誤差*模擬量模組a/d誤差*plc流量累計演算法誤差

假設上面所有誤差都是1%,則最後的誤差約為:4.06%

1.01*1.01*1.01*1.01=1.0406

對於某些流量計,本身的瞬時流量誤差可能就是3%,所以這樣的系統累計流量的誤差可能還要大些。

2、流量計本身沒有累計流量功能,但可以把瞬時流量以數字量的方式輸出。

有些流量計提供數字量介面,可以連線plc的數字量輸入模板,流量計每流過一定流量後(例如0.1噸),此輸入點就導通一次,plc就把累計流量累加0.1噸即可。

此類系統避免了a/d,d/a轉化的誤差,以及plc累計演算法誤差。但是會出現一定時間內累計流量不變化的情況,實時性不好(每0.1噸累積的時間)。

3、流量計本身有累計流量功能,同時可以把瞬時流量以模擬量的方式(例如4-20ma)輸出,但無法將累計流量數值送出。

流量計本身累積流量的數值,最後很有可能與plc的累計流量數值相差很大,原因可能是多方面造成的,除去系統累計流量誤差的因素,如果plc系統檢修時,流量計還計量,則plc無法累積這部分流量。

4、流量計本身有累計流量功能,同時可以通過通訊的方式,把瞬時流量及累計流量數值送給plc。這種情況最理想,但系統的成本也最高。

北京天拓四方科技****

西門子PLC培訓講義

二 s7 300 400系列plc硬體介紹 2 1 s7 300概述 針對不同低效能要求的模組化中小型控制系統 不同檔次的cpu 可選擇不同型別的擴充套件模組 可以擴充套件多達32個模組 網路連線 多點介面 mpi profibus dp或ethernet介面 通過程式設計器pg訪問所有的模組 借助...

西門子PLC基礎知識

一.plc的定義 plc問世以來,儘管時間不長,但發展迅速。為了使其生產和發展標準化,美國電氣製造商協會nema經過四年的調查工作,於1984年首先將其正式命名為pc,並給pc作了如下定義 pc是乙個數字式的電子裝置,它使用了可程式設計序的記憶體儲存指令。用來執行諸如邏輯,順序,計時,計數與演算等功...

西門子plc防干擾的措施

西門子plc的抗干擾措施 1.概述 西門子s7系列可程式設計控制器是專門為工業控制設計的,在設計和製造過程中siemens採取了多層次抗干擾措施,使系統能在惡劣的工業環境下與強電裝置一起工作。執行的穩定性和可靠性很高,plc平均無故障工作時間高達幾萬小時。隨著計算機技術的發展,plc的功能也越來越強...