關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > plc在流量計量方面中的應用

        plc在流量計量方面中的應用

        作者: 時間:2010-08-19 來源:網絡 收藏

          對于高速計數器是否達到最大計數值時需要判斷,s7-200cpu的高速計數器是可以周而復始地進行累計的,最高位為符號位,最小值為7fffffff。由于計數器是一直累加的,不可能出現本次讀取的計數值小于上次計數值的情況,因此判斷計數器當前值是否小于前一次的計數值,就可以判斷計數是否達到最大值的拐點(7fffffff),如果達到,則執行特殊的計算以便消除計算錯誤,程序如圖2所示(此程序應放在定時中斷子程序中執行)。

          當當前計數值大于等于上次計數值時,兩個計數值做差,就得到程序兩次掃描時間間隔內的計數差值,同時將當前計數值賦值到上次計數值上;當當前計數值小于上次計數值時,計算上次計數值與7fffffff之間的差值(用減法),以及當前計數值和7fffffff之間的差值(用加法),然后將兩個結果相加就是程序兩次掃描時間間隔內的計數差值,從而實現對累計計數值達到拐點時的正確計算。

          

          圖2 消除計算錯誤程序

          實際上,在現場中定時中斷子程序是采用250ms中斷一次執行的,使用smb34進行控制的。需要注意的是,系統中必須只保證這個中斷是唯一存在的,不會受到其他中斷的影響,否則可能會因其它中斷的影響使周期性中斷不準時,從而影響精度。

          通過以上計算就得到了250ms內計發過來的脈沖個數,這個數值乘以脈沖當量就是250ms內的值,再除以時間就是瞬時。另外,在250ms內再執行累加程序就可以計算累積流量了。在計算累積流量過程中需要避免累積過程的計算誤差,我們知道,流量累積量是一直累積的一個數值,一般會累積到8位數,而內部浮點數的有效位數是6位,當累積量數值很大的時候就會造成一個大數和一個小數相加,勢必導致小數的有效位數丟失,造成很大的累積誤差,因此,要避免大數和小數相加的情況出現。解決方法是采用多個流量累積器,只允許同數量級的數值相加,從而避免數值有效位數損失,實際編程中采用了5個累積器,根據常用流量情況下,在周期中斷時間間隔(250ms)內流過的流量乘以15作為第一個累積器的上限,當達到這個累積器的上限值后,將這個累積器的值累加到第2個累積器中,并把第一個累積器清零,對于第三個累積器也同樣處理,第4個累積器用于保存累積量小數部分數值,第5個累積器用于保存累積量整數部分數值,這樣在顯示總累積量時只需顯示整數部分和小數部分就可以了,整個過程充分避免了累積過程中大數與小數相加的情況出現。在實際工程中,需根據流量的大小、周期中斷的時間間隔來確定所用累積器的個數,而累積器的整數部分用雙整數來表示,雙整數的范圍是-2,147,483,648到+2,147,483,647,可以使累積器的整數位數達到9位。這樣,在顯示累積量時就可以最多顯示9位整數的累積量和6位小數的累積量,總計15位,從而省略累積器倍乘系數,使讀數更簡便。

          對累積器需要在一定條件下復位,累積到最大數值或手動復位,在中斷程序中判斷累積量是否達到或超過最大位數,當超過最大數值時,將各個累積器清零,清零的觸發信號也可以是手動觸發。

          3 結束語

          本文列出了在中計算和顯示瞬時流量和計算累積量時可能遇到的問題,并以西門子s7-200 cpu 224系列探討了解決辦法,值得進行該工作的工程人員借鑒。

        塵埃粒子計數器相關文章:塵埃粒子計數器原理

        上一頁 1 2 下一頁

        關鍵詞: 應用 方面 計量 流量 plc

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金秀| 宜兴市| 丘北县| 丰县| 伊宁县| 聊城市| 武山县| 三亚市| 吴旗县| 肥乡县| 盖州市| 绥棱县| 青浦区| 文成县| 突泉县| 双江| 新建县| 长丰县| 梨树县| 博乐市| 商南县| 桂东县| 晋江市| 杭锦后旗| 灵武市| 淅川县| 文安县| 绵阳市| 沛县| 祁东县| 竹北市| 兴安县| 博客| 闽清县| 隆子县| 乾安县| 云梦县| 揭东县| 柯坪县| 宁武县| 宁津县|