電磁流量計軟件抗干擾措施
對于現場的各種干擾(例如類似快速脈沖群的干擾),軟件上的抗干擾措施主要是考慮程序跑飛問題。針對程序跑飛的問題,已經有了不少的研究[11]。我們對在現場的故障問題中“顯示屏死機或畫屏”,“累計流量值無故損失”等問題也使用了部分抗干擾技術, 為此我們主要使用了看門狗,數字濾波,自檢程序,軟件陷阱等的方法以提高流量計的抗力。這里針對2.3.3 節中累計量異常問題的解決,重點對軟件陷阱的方法加以介紹。
4.2.1 干擾信號影響信號處理模塊工作電源的方法
如 2.3.3 節中的描述,流量計的信號處理模塊中使用了電源監視芯片用于監視電源的異常波動,同時也是使用了非易失性NVRAM 在掉電時存儲流量計數據。 電路結構如圖4-5: 圖4-5:電源監視和掉電時數據存儲電路 Fig.4-5: The circuit of power watches and data store in power-off 其中NVRAM 的結構[12]如圖4-6: 圖4-6:NVRAM 的結構 Fig.4-6: NVRAM structure NVRAM 的結構中存在一個EEPROM,在STORE 信號下將RAM 中的數據存入EEPROM 中,在Recall 信號下將EEPROM 中的數據存入RAM 中。以實現數據在斷電/上電時的使用 電源檢測芯片N209(Max709)上的小于1V 時,將給CPU 發出一個復位信號,CPU 在結束工作前將觸發NVRAM 的STORE 信號完成數據保存。 我們的電磁流量計的結構中,將信號處理模塊中模擬電路的電源的“地”做作為了信號的“地”(參見2.1.1),它通過信號電纜,從信號轉換器中直接接到傳感器中的地電位電極中,作為流量信號的參考地電位。在以前的設計中,數字電路電源與模擬電路的電源不分開。這樣由于共電源,當信號的“地”也就是電源“地”受外部干擾下,如果5VD 的電源上受到干擾(如地電位被瞬間臺高等)使N209(Max709)發出復位信號,CPU 來不及完成觸發NVRAM 的STORE 信號就直接非正常的重新啟動。這時候由于數據沒有保存,開機時讀取的NVRAM 中EEPROM 數據上再上一次保存的數據。這樣累計量異常損失,參數數據丟失等問題就會發生。
對于這個問題我們的解決方法:
1. 硬件上:將數字電路電源于模擬電路的電源分開。(參見4.2.2)
2. 軟件上:在主程序中,每隔一定的時間(15S)強制CPU 完成一次觸發NVRAM 的STORE 信號的工作。使數據能在時間得到保存。 由于數字電路電源于模擬電路的電源分開,現場的干擾通過信號地竄入電路的情況將大大的被避免。同時如果cpu 確實受到得干擾沒有及時存儲NVRAM 中EEPROM 數據, 也最多損失15s 的流量數據。這在常規口徑,正常流速(3-5m/s)下,用戶是可以接受的。
4.2.2 干擾信號影響信號處理模塊中的 CPU 的方法-軟件陷阱
如 2.3.3 節中的描述:正常情況下內部的存儲器和累加器中的數據不允許被破壞的。但是在現場的干擾下,程序執行異常(如跑飛)時,看門狗會重啟動系統。但在看門狗動作之前,程序是失控的,這個時候如果累加器中的數據沒有被存儲起來,就有可能引起累加器的數據丟失。
1. 為了抑制程序跑飛的情況對開封電磁流量計流量積算產生的影響我們采用了以下措施:
1) 在程序(特別是主程序)中加入判斷 SP 指針、PC 指針是否出錯,堆棧是否出錯。 如果存在出錯的情況,直接將PC 指針置為0000H ,SP 指針為0031H,并重新啟動流量計。
2) 在未用的 EPROM 程序空間中填充020000 數據。 由于020000 數據是指令“LJMP 0000H”的機器碼,所以當程序飛入這些未用的程序空間時,程序能從零地址重新執行
2. 為了防止失控的程序對累加器進行誤操作,我們在對RAM 進行讀寫時,增加了以
下條件陷阱:
1) 讀寫操作前,對 RAM 中的數據進行檢查。
判斷RAM 中的數據是否正確,判斷RAM 芯片本身是否正常。如果檢查發現有異常情況,則立即報錯,并進入陷阱形成死循環,通過看門狗來恢復運行狀態。
2) 讀寫操作前,對于累加器中的數據也進行一次檢查。
流量計累加器中的數據不會無限增加下去,通常來說的情況下經過60s 的數據累加,必定會有一次需要存儲的時機。這樣根據流量計實際的口徑/流速/量程等運行參數,累加器中的數據就存在一個上限,超過這個上限就可以認為是由于干擾引起的錯誤數據。同樣如果累加器中的數據是負值,也認為是由于干擾引起的錯誤數據。 如果檢查發現流量計累加器中的數據存在異常變化,則忽略本次的數據,并使程序進入陷阱形成死循環,通過看門狗來恢復運行狀態。
3. 為了防止失控的程序對 EEPROM 進行誤操作,我們在對EEPROM 進行讀寫時,增加了以下條件陷阱:
1) 讀寫操作前,對 EEPROM 中的數據進行檢查。 EEPROM 存放的數據都是流量計的參數數據,特定地址存放特定參數。由于參數存在一定的范圍,可以通過檢查部分特定數據是否符合范圍來測定EEPROM 中的數據和EEPROM 本身是否異常。 如果檢查發現有異常情況,則立即報錯,并進入陷阱形成死循環,通過看門狗來恢復運行狀態。
2) 讀寫操作前,對于待寫入的數據也進行一次檢查。
如果待存入的數據為負,也認為是它是由于干擾引起的錯誤數據。 如果檢查發現流量計累加器中的數據存在異常變化,則忽略本次的數據,并使存續進入陷阱形成死循環,通過看門狗來恢復運行狀態。
4. 除零操作的軟件陷阱。
在CPU處理除法操作指令時,特別加上判斷其除數是否為0。如果發現除數為0, 則認為,這是外部的干擾引起的內部數據出錯。同時忽略本次的操作,并使程序進入陷阱形成死循環,通過看門狗來恢復運行狀態。 通過上述這些軟件陷阱的方法,可以有效地將干擾引起的跑飛程拉回到正確的程序運行狀態,對于數據異常等情況可起到有效的抑制,避免出現流量計瞬時流量/累計流量的異常變化。
4.3 智能型電磁流量計中特別使用抗干擾措施
工頻跟蹤技術是我們為電磁流量計專門設計的一種用于消除工頻干擾的技術,分為硬件電路和軟件算法兩部分。 硬件電路上的構成如下圖4-7: 圖4-7:工頻跟蹤電路原理 Fig.4-7: The circuit principle of 50Hz track
我們在電源模塊中工頻通過光藕(圖中元件U01)將50hz 的工頻信號隔離、提取為工頻的相位信號輸入CPU(D206)。CPU 在參考工頻的相位信號后,向電源模塊中的勵磁回路發出同一相位的勵磁信號,以驅動勵磁回路向傳感器發出勵磁電流。信號之間的相互關系如圖4-8: 圖4-8:工頻與勵磁信號 Fig.4-8: the wave of power and excitation 軟件程序中我們設置有兩個中斷:跟蹤工頻中斷和發勵磁控制信號中斷,用于跟蹤和指導勵磁信號。 在此過程我們使用二個PCA 計數器,他們都享有高優先級的中斷。他們分別負責檢測工頻信號和指導CPU 發出勵磁控制信號。每隔一定的時間對工頻進行校驗并且調整勵磁信號的相位。軟件中這樣做的好處即可以以使AD 采樣與工頻同步,以消除正交干擾二,也可以消除工頻本身的變化對影響。 試驗表明(由一個脈沖發生器接至檢測工頻信號的PCA 端口,脈沖頻率時時變化), 即使工頻信號突然發生干擾(以頻率突變模擬),轉換器也絲毫不受干擾。--擴展閱讀:開封中儀流量儀表有限公司專業生產電磁流量計、孔板流量計、渦街流量計、文丘里流量計、v錐流量計、v型錐流量計、噴嘴流量計、插入式電磁流量計、智能電磁流量計、分體式電磁流量計、一體式電磁流量計、標準孔板流量計、標準孔板、一體化孔板流量計、標準噴嘴流量計、長徑噴嘴流量計、標準噴嘴、長徑噴嘴、插入式渦街流量計、智能渦街流量計、錐型流量計、v錐型流量計、節流裝置、節流孔板、限流孔板等流量產品,更多有關電磁流量計、孔板流量計、渦街流量計的信息請訪問開封中儀網站:
免責聲明
客服熱線: 13199863987
加盟熱線: 13199863987
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機版
Ybzhan公眾號
Ybzhan小程序