現在上位機系統中很多要求(demand)具備流量(單位:立方米每秒)計的流量累計功能,由此引出的幾個問題,期望與大家分享。西門子PLC代理商存儲器是具有記憶功能的半導體電路,它的作用是存放系統程序、用戶程序、邏輯變量和其他一些信息。其中系統程序是控制PLC實現各種功能的程序,由PLC生產廠家編寫,并固化到只讀存儲器中,用戶不能訪問。

問題1:自行編寫流量(單位:立方米每秒)累計程序
自行編寫流量累計程序的原理,其實就是積分的最原始算法概念,把單位小間隔時間內的瞬時流量乘以單位間隔時間,得到單位小間隔時間內的流量,再把這些小流量累加起來,就的到了累計流量。西門子PLC在我國的應用也相當廣泛,在冶金、化工、印刷生產線等領域都有應用。西門子公司的PLC產品包括LOGO、S7-200、S7-1200、S7-300、S7-400等。 西門子S7系列PLC體積小、速度快、標準化,具有網絡通信能力,功能更強,可靠性高。
在流量累計編程中經常會遇到實數加法問題(Emerson),實數加法運算的注意(attention)事項也應當引起編程人員的重視,請看下例程序


L MD0 //累計流量存儲值L MD4 //流量瞬時值+RT MD 0
以上的程序是否存在問題(Emerson)?
很多人會認為沒有問題,但實際情況是此程序(procedure)在運行一段時間后就將出現( appear)錯誤。此程序在運行之初是正常的,因為累計流量(單位:立方米每秒)初始值及流量瞬時值都為一個很小的浮點數,兩數相加后,結果正確。但是當一段時間后,累計流量的數值逐漸增大,當它與瞬時流量的數值相差很遠的時候,兩者執行加法操作后,瞬時流量的數值將被忽略掉。

其實具備計算機常識的人都應當清楚這一點,這是由于浮點數的存儲機制造成的,是所有計算機方面編程都需要考慮的問題。這個問題可以通過使用二次累加或多次累加的方法來解決(solve)。所以在編程時應避免數量級相差太多的浮點數之間進行運算。非常多人反映 ;加法指令不好用了 ;很有可能就是數量級相差很多的實數進行了加法運算。


問題2:累計流量偏差問題
對于積分算法,取小的矩形對流量(單位:立方米每秒)進行累計,肯定是矩形劃分越細,誤差越小,不存在誤差是不可能的。

問題(Emerson)3:流量計與PLC構成的系統(system)的誤差
流量計有多種多樣,下面舉些例子:
1、流量計本身沒有累計流量功能,但可以把瞬時流量以模擬(定義:對真實事物或者過程的虛擬)量的方式輸出。
此時累計流量的最大偏差可以估算為:
流量(單位:立方米每秒)計本身誤差 * 流量計D/A誤差 * 模擬量模塊A/D誤差 * PLC流量累計算法誤差假設上面所有誤差都是1%,則最后的誤差約為:4.06% 1.011.011.01*1.01=1.0406
對于某些流量(單位:立方米每秒)計,本身的瞬時流量偏差可能就是3%,所以這樣的系統累計流量的誤差可能還要大些。


2、流量計本身沒有累計流量功能,但可以把瞬時流量以數字量的方式方法輸(shū)出。
有些流量計提供數字量接口,可以連接PLC的數字量輸入模板,流量計每流過一定流量后,此輸入點就導通一次,PLC就把累計流量累加0.1噸即可。
此類系統避免了A/D,D/A轉化的誤差,以及PLC累計算法誤差。但是會出現( appear)一定時間內累計流量不變化的情況(Condition),實時性不好。


3、流量計本身有累計流量功能,同時可以把瞬時流量以模擬量的方式方法輸出,但無法將累計流量數值送出。西門子PLC代理商可編程邏輯控制器實質是一種專用于工業控制的計算機,其硬件結構基本上與微型計算機相同。電源用于將交流電轉換成PLC內部所需的直流電目前大部分PLC采用開關式穩壓電源供電。
流量計本身累積流量的數值,最后很有可能(maybe)與PLC的累計流量數值相差很大,原因(Reason)可能是多方面造成的,除去系統累計流量誤差的因素,如果PLC系統檢修(jiǎn xiū )時,流量計還計量,則PLC沒有辦法累積這部分流量。


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

0 回復

發表評論

想要加入討論嗎?
請自由發表意見!

發表評論

您的電子郵箱地址不會被公開。