目前,具有眾多不同品牌的儀器儀表,用來測量工業(yè)現(xiàn)場液體或者固體的瞬時流量,然后通過4-20mA信號傳遞給PLC,作為控制或監(jiān)控的數(shù)據(jù)標(biāo)準(zhǔn)。PLC根據(jù)瞬時流量積算一定時間內(nèi)的累積流量,對于流程工業(yè)控制領(lǐng)域液體或固體流量的數(shù)據(jù)分析和產(chǎn)量計算應(yīng)用具有重要的意義。
1、PLC系統(tǒng)中實現(xiàn)流量積算的方法
首先必須明確,用PLC做流量累計的精度遠不如電磁流量計等本身自帶累計功能的流量計。對有累積功能的流量計轉(zhuǎn)換器,一般流量轉(zhuǎn)換器的流量累積輸出是脈沖輸出,可通過PLC的高速脈沖輸入端進行高速計數(shù),從而得出累積流量。
對只有瞬時流量輸出的流量計,才考慮在PLC中進行流量累積加法運算。在 PLC內(nèi)做流量累積的時候,不應(yīng)使用定時器來做,因為定時器受到PLC掃描周期的影響,沒法做到十分精確,累加出來數(shù)據(jù)的誤差很大。
目前,一般的中大型PLC都直接或者間接提供了“Totalizer”功能塊,實質(zhì)都是把每個采集周期的瞬時流量進行簡單累加。本文提供了一種將定積分計算引入到流量累積的具體方法,以供參考。
2、定積分計算法引入流量積算的幾何意義
設(shè)瞬時流量q=q(t)在時間段t的[a,b]區(qū)間連續(xù),那么流量累積計算公式為:


圖1 瞬時流量
有定積分的幾何意義,求時間a到時間b區(qū)間內(nèi)的總流量Q,只需要計算曲線q=q(t),直線t=a,直線t=b和時間軸t所圍成的曲邊梯形面積。在區(qū)間a,b內(nèi)插入若干個平分點:a=t0
圖2 瞬時流量分割圖
面積計算:
如果分割無限加細,區(qū)間個數(shù)n趨向于無窮(n→∞)時,總流量計算為:
3、TIA Portal V15具體實現(xiàn)積分累積流量的方法
以下以Siemens PLC系統(tǒng)的TIA Portal V15為例,實現(xiàn)積分累積流量的方法:
3.1 在程序目錄下添加新的FB函數(shù)塊,確定名稱如“Totalizer”,為了實現(xiàn)數(shù)值計算的簡單性,這個功能塊的編程語言選擇結(jié)構(gòu)化文本語言SCL。
3.2 打開新建功能塊,并建立臨時變量,如下圖所示
變量定義:
變量名:Reset,數(shù)據(jù)類型:Bool,分組:Input,作用:FB接收外部傳遞的累積清零命令;
變量名:Value,數(shù)據(jù)類型:Real,分組:Input,作用:FB接受外部傳遞的瞬時流量數(shù)據(jù),需要注意的是:一般流量計瞬時流量單位是m3/h,這里需要統(tǒng)一換算成m3/s,即PLC接收的瞬時流量除以3600后再輸入此處;
變量名:Cycle,數(shù)據(jù)類型:TIME,分組:Input,作用:FB接受程序循環(huán)時間,單位:秒,
在這里,Cycle值為0B30中斷循環(huán)塊的循環(huán)時間。
變量名:Last_Value,數(shù)據(jù)類型:Real,分組:Static,作用:靜態(tài)存儲上一掃描周期的瞬時流量值;
變量名:Accum,數(shù)據(jù)類型:Real,分組:Static,作用:靜態(tài)存儲流量累積值;
變量名:Cycle_DInt,數(shù)據(jù)類型:Dint,分組:Temp,作用:在FB中零時存儲Cycle轉(zhuǎn)換為Dint數(shù)據(jù)類型后的值;
變量名:Cycle_Real,數(shù)據(jù)類型:Real,分組:Temp,作用:在FB中臨時存儲Cycle_DInt轉(zhuǎn)換為Real數(shù)據(jù)類型后的值;
變量名:Total,數(shù)據(jù)類型:Real,分組:Output,作用:FB向外部傳送流量累積值。
3.3 程序編寫,如下圖所示:
程序編寫完成后,進行編譯,編譯沒有錯誤時,可供調(diào)用。
3.4 在流量計算功能的FC中調(diào)用名字為“Totalizer”的FB塊,并對輸入輸出參數(shù)賦值,如下圖所示:
3.5 在OB30中調(diào)用流量計算FC功能塊,OB30中斷塊是循環(huán)中斷塊,循環(huán)時間設(shè)置為100ms,如下圖所示:
3.6 程序解讀
4、PLC系統(tǒng)中流量計算的其它問題
上述程序只是簡單示例,實際應(yīng)用中,需要根據(jù)實際情況考慮更復(fù)雜的問題,比如:
對于積分算法,取小的矩形對流量進行累計,肯定是矩形劃分越細(也就是OB30的循環(huán)時間越短),誤差越小,不存在誤差是不可能的。
流量計本身有累計流量功能,同時可以把瞬時流量以模擬量的方式(例如4-20mA)輸出,但無法將累計流量數(shù)值送出。那么,流量計本身累積流量的數(shù)值,最后很有可能與PLC的累計流量數(shù)值相差很大,原因可能是多方面造成的,除去系統(tǒng)累計流量誤差的因素,如果PLC系統(tǒng)停電檢修或者更換相關(guān)模塊時,流量計還在計量,則PLC無法累積這部分流量。
累積數(shù)值的自動和手動清零,以免數(shù)據(jù)溢出。其中自動清零的時機要結(jié)合程序考慮好。
在流量累積編程時應(yīng)避免數(shù)量級相差太多的浮點數(shù)之間進行運算。如果沒有適時清零,流量累積程序在運行之初是正常的,因為累計流量初始值及流量瞬時值都為一個很小的浮點數(shù),兩數(shù)相加后,結(jié)果正確。但是當(dāng)一段時間后,累計流量的數(shù)值逐漸增大,當(dāng)它與瞬時流量的數(shù)值相差很遠的時候,兩者執(zhí)行加法操作后,瞬時流量的數(shù)值將被忽略掉(如9999990.0與0.2做加法操作)。其實具備計算機常識的人都應(yīng)當(dāng)清楚這一點,這是由于浮點數(shù)的存儲機制造成的,這個問題可以通過使用二級累加或多級別累加的方法來解決,比如每一級累加器只能進行規(guī)定級別大小的數(shù)據(jù)累加,當(dāng)一級累加器的累積數(shù)據(jù)大到一定程度時,立刻把數(shù)據(jù)傳送到二級累加器,然后把一級累加器清零。
來源/中華工控網(wǎng),轉(zhuǎn)載請聯(lián)系









-
plc
+關(guān)注
關(guān)注
5051文章
14602瀏覽量
487056 -
定時器
+關(guān)注
關(guān)注
23文章
3368瀏覽量
123713
原文標(biāo)題:【原創(chuàng)分享】PLC系統(tǒng)的流量積算方法參考
文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
流量補償積算記錄儀
流量積算控制設(shè)備設(shè)計開發(fā)
流量積算儀的校準(zhǔn)方法
項目實踐|XSFT-A4流量積算儀與modbus485網(wǎng)關(guān)通訊
流量積算儀的工作原理
智能流量積算儀與流量計的關(guān)系
流量積算儀測量誤差的影響因素有哪些
流量積算儀如何進行標(biāo)定
XSFT-A4流量積算儀與Modbus485網(wǎng)關(guān)通訊案例
XSFT-A4流量積算儀與Modbus485網(wǎng)關(guān)通訊案例
XSFT-A4流量積算儀與modbus485網(wǎng)關(guān)的通訊案例
PLC系統(tǒng)中實現(xiàn)流量積算的方法
評論