中文字幕精品无码亚洲字精舞,爱丫爱丫影院在线观看免费,a片毛片免费看,337P日本欧洲亚洲大胆人人

怎樣在PLC中實現流量積算和流量累計功能

2020/7/14 19:49:35 人評論 次瀏覽 分類:PLC應用  文章地址:http://m.wxmqjy.com/tech/3224.html

目前,具有眾多不同品牌流量積算儀用來測量工業現場液體或者固體的瞬時流量,然后通過4-20mA信號傳遞給PLC,作為控制或監控的數據標準。PLC根據瞬時流量積算一定時間內的累積流量,對于流程工業控制領域液體或固體流量的數據分析和產量計算應用具有重要的意義。

1、PLC系統中實現流量積算的方法

首先必須明確,用PLC做流量累計的精度遠不如電磁流量計等本身自帶累計功能的流量計和流量積算儀。對有累積功能的流量計轉換器,一般流量轉換器的流量累積輸出是脈沖輸出,可通過PLC的高速脈沖輸入端進行高速計數,從而得出累積流量。

對只有瞬時流量輸出的流量計,才考慮在PLC中進行流量累積加法運算。在PLC內做流量累積的時候,不應使用定時器來做,因為定時器受到PLC掃描周期的影響,沒法做到十分精確,累加出來數據的誤差很大。


目前,一般的中大型PLC都直接或者間接提供了“Totalizer”功能塊,實質都是把每個采集周期的瞬時流量進行簡單累加。昌暉儀表提供一種將定積分計算引入到流量累積的具體方法,以供參考。


2、定積分計算法引入流量積算的幾何意義

設瞬時流量q=q(t)在時間段t的[a,b]區間連續,那么流量累積計算公式為:

圖1 瞬時流量


有定積分的幾何意義,求時間a到時間b區間內的總流量Q,只需要計算曲線q=q(t),直線t=a,直線t=b和時間軸t所圍成的曲邊梯形面積。在區間a,b內插入若干個平分點:a=t0<t1<t2<…<tn-1<tn=b,把區間[a,b]分成n個小區間:[ti-1,ti],求每個區間長度Δt上的區間累積流量,只需求第i個小曲邊梯形的面積。我們可以把每個小曲邊梯形近似看作是小梯形,見圖2:


圖2 瞬時流量分割圖


面積計算:

如果分割無限加細,區間個數n趨向于無窮(n→∞)時,總流量計算為:

3、TIA Portal V15具體實現積分累積流量的方法

以下以Siemens PLC系統的TIA Portal V15為例,實現積分累積流量的方法:
①在程序目錄下添加新的FB函數塊,確定名稱如“Totalizer”,為了實現數值計算的簡單性,這個功能塊的編程語言選擇結構化文本語言SCL。

在程序目錄下添加新的FB函數塊

②打開新建功能塊,并建立臨時變量,如下圖所示


建立臨時變量

變量定義

◆變量名:Reset,數據類型:Bool,分組:Input,作用:FB接收外部傳遞的累積清零命令;
變量名:Value,數據類型:Real,分組:Input,作用:FB接受外部傳遞的瞬時流量數據,需要注意的是:一般流量計瞬時流量單位是m3/h,這里需要統一換算成m3/s,即PLC接收的瞬時流量除以3600后再輸入此處;
◆變量名:Cycle,數據類型:TIME,分組:Input,作用:FB接受程序循環時間,單位:秒,
在這里,Cycle值為0B30中斷循環塊的循環時間。
變量名:Last_Value,數據類型:Real,分組:Static,作用:靜態存儲上一掃描周期的瞬時流量值;
變量名:Accum,數據類型:Real,分組:Static,作用:靜態存儲流量累積值;
變量名:Cycle_DInt,數據類型:Dint,分組:Temp,作用:在FB中零時存儲Cycle轉換為Dint數據類型后的值;
變量名:Cycle_Real,數據類型:Real,分組:Temp,作用:在FB中臨時存儲Cycle_DInt轉換為Real數據類型后的值;
變量名:Total,數據類型:Real,分組:Output,作用:FB向外部傳送流量累積值。

③程序編寫,如下圖所示:




程序編寫完成后,進行編譯,編譯沒有錯誤時,可供調用。


④在流量計算功能的FC中調用名字為“Totalizer”的FB塊,并對輸入輸出參數賦值,如下圖所示:


流量計算功能FC

⑤在OB30中調用流量計算FC功能塊,OB30中斷塊是循環中斷塊,循環時間設置為100ms,如下圖所示:


在OB30中調用流量計算FC功能塊

⑥程序解讀


PLC實現流量積算的程序

4、PLC系統中流量計算的其它問題

上述程序只是簡單示例,實際應用中,需要根據實際情況考慮更復雜的問題,比如:
◆對于積分算法,取小的矩形對流量進行累計,肯定是矩形劃分越細(也就是OB30的循環時間越短),誤差越小,不存在誤差是不可能的。
◆流量計本身有累計流量功能,同時可以把瞬時流量以模擬量的方式(例如4-20mA)輸出,但無法將累計流量數值送出。那么,流量計本身累積流量的數值,最后很有可能與PLC的累計流量數值相差很大,原因可能是多方面造成的,除去系統累計流量誤差的因素,如果PLC系統停電檢修或者更換相關模塊時,流量計還在計量,則PLC無法累積這部分流量。
◆累積數值的自動和手動清零,以免數據溢出。其中自動清零的時機要結合程序考慮好。
◆在流量累積編程時應避免數量級相差太多的浮點數之間進行運算。如果沒有適時清零,流量累積程序在運行之初是正常的,因為累計流量初始值及流量瞬時值都為一個很小的浮點數,兩數相加后,結果正確。但是當一段時間后,累計流量的數值逐漸增大,當它與瞬時流量的數值相差很遠的時候,兩者執行加法操作后,瞬時流量的數值將被忽略掉(如9999990.0與0.2做加法操作)。其實具備計算機常識的人都應當清楚這一點,這是由于浮點數的存儲機制造成的,這個問題可以通過使用二級累加或多級別累加的方法來解決,比如每一級累加器只能進行規定級別大小的數據累加,當一級累加器的累積數據大到一定程度時,立刻把數據傳送到二級累加器,然后把一級累加器清零。

下面是昌暉儀表生產的高精度高性能智能流量積算儀


智能流量積算儀
相關閱讀

YR-GFK流量積算儀校準方法及流量積算儀接線
不同品牌流量積算儀Modbus通訊的一些小問題
蒸汽流量測量為什么要用帶溫壓補償流量積算儀

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?
主站蜘蛛池模板: 凌云县| 潍坊市| 阿克陶县| 民乐县| 伊金霍洛旗| 株洲市| 马龙县| 手游| 大洼县| 奉化市| 龙江县| 南通市| 宝清县| 米泉市| 错那县| 甘孜县| 曲松县| 永城市| 信宜市| 大洼县| 庐江县| 乡宁县| 集安市| 山丹县| 文山县| 叶城县| 长治市| 错那县| 大田县| 孝昌县| 山西省| 大邑县| 霍山县| 延川县| 南宫市| 朝阳区| 济源市| 渝北区| 乳源| 积石山| 邮箱|