西門子PLC關(guān)于流量的累積如何解決該問題
發(fā)布日期:
2023-03-21

現(xiàn)在上位機(jī)系統(tǒng)中很多要求具備流量計(jì)的流量累計(jì)功能,由此引出的幾個(gè)問題,現(xiàn)在來跟大家做個(gè)詳細(xì)的介紹。

問題1:自行編寫流量累計(jì)程序

自行編寫流量累計(jì)程序的原理,其實(shí)就是積分的更原始算法概念,把單位小間隔時(shí)間內(nèi)的瞬時(shí)流量乘以單位間隔時(shí)間,得到單位小間隔時(shí)間內(nèi)的流量,再把這些小流量累加起來,就的到了累計(jì)流量。

在流量累計(jì)編程中經(jīng)常會(huì)遇到實(shí)數(shù)加法問題,實(shí)數(shù)加法運(yùn)算的注意事項(xiàng)也應(yīng)當(dāng)引起編程人員的重視,請(qǐng)看下例程序(假設(shè)其在OB35中被調(diào)用,目的為每隔一定時(shí)間間隔就累計(jì)一次流量)

L MD0 //累計(jì)流量存儲(chǔ)值

L MD4 //流量瞬時(shí)值

+R

T MD 0

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

很多人會(huì)認(rèn)為沒有問題,但實(shí)際情況是此程序在運(yùn)行一段時(shí)間后就將出現(xiàn)錯(cuò)誤。此程序在運(yùn)行之初是正常的,因?yàn)槔塾?jì)流量初始值及流量瞬時(shí)值都為一個(gè)很小的浮點(diǎn)數(shù),兩數(shù)相加后,結(jié)果正確。但是當(dāng)一段時(shí)間后,累計(jì)流量的數(shù)值逐漸增大,當(dāng)它與瞬時(shí)流量的數(shù)值相差很遠(yuǎn)的時(shí)候,兩者執(zhí)行加法操作后,瞬時(shí)流量的數(shù)值將被忽略掉(如9999990.0與0.2做加法操作)。其實(shí)具備計(jì)算機(jī)常識(shí)的人都應(yīng)當(dāng)清楚這一點(diǎn),這是由于浮點(diǎn)數(shù)的存儲(chǔ)機(jī)制造成的,是所有計(jì)算機(jī)方面編程都需要考慮的問題。這個(gè)問題可以通過使用二次累加或多次累加的方法來解決。所以在編程時(shí)應(yīng)避免數(shù)量級(jí)相差太多的浮點(diǎn)數(shù)之間進(jìn)行運(yùn)算。很多人反映“加法指令不好用了”,很有可能就是數(shù)量級(jí)相差很多的實(shí)數(shù)進(jìn)行了加法運(yùn)算。

問題2:累計(jì)流量誤差問題

對(duì)于積分算法,取小的矩形對(duì)流量進(jìn)行累計(jì),肯定是矩形劃分越細(xì),誤差越小,不存在誤差是不可能的。

問題3:流量計(jì)與PLC構(gòu)成的系統(tǒng)的誤差

流量計(jì)有多種多樣,下面舉些例子:

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

此時(shí)累計(jì)流量的更大誤差可以估算為:

流量計(jì)本身誤差*流量計(jì)D/A誤差*模擬量模塊A/D誤差*PLC流量累計(jì)算法誤差

假設(shè)上面所有誤差都是1%,則更后的誤差約為:4.06%

1.01*1.01*1.01*1.01=1.0406

對(duì)于某些流量計(jì),本身的瞬時(shí)流量誤差可能就是3%,所以這樣的系統(tǒng)累計(jì)流量的誤差可能還要大些。

2、流量計(jì)本身沒有累計(jì)流量功能,但可以把瞬時(shí)流量以數(shù)字量的方式輸出。

有些流量計(jì)提供數(shù)字量接口,可以連接PLC的數(shù)字量輸入模板,流量計(jì)每流過一定流量后(例如0.1噸),此輸入點(diǎn)就導(dǎo)通一次,PLC就把累計(jì)流量累加0.1噸即可。

此類系統(tǒng)避免了A/D,D/A轉(zhuǎn)化的誤差,以及PLC累計(jì)算法誤差。但是會(huì)出現(xiàn)一定時(shí)間內(nèi)累計(jì)流量不變化的情況,實(shí)時(shí)性不好(每0.1噸累積的時(shí)間)。

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

流量計(jì)本身累積流量的數(shù)值,更后很有可能與PLC的累計(jì)流量數(shù)值相差很大,原因可能是多方面造成的,除去系統(tǒng)累計(jì)流量誤差的因素,如果PLC系統(tǒng)檢修時(shí),流量計(jì)還計(jì)量,則PLC無法累積這部分流量。

4、流量計(jì)本身有累計(jì)流量功能,同時(shí)可以通過通信的方式,把瞬時(shí)流量及累計(jì)流量數(shù)值送給PLC。這種情況更理想,但系統(tǒng)的成本也更高。

聲明:部分內(nèi)容來源于網(wǎng)絡(luò),如侵權(quán)請(qǐng)后臺(tái)留言聯(lián)系刪除。