基于SOPC的在線分析儀器的信息管理設(shè)計(jì)
0 引 言
基于SOPC 的在線分析儀器平臺(tái)從數(shù)據(jù)采集到顯示已經(jīng)可以完成分析儀器的基本功能,但是隨著儀表在線檢測(cè)、顯示、傳送等要求逐漸提高,以及方便儀器與PLC、DCS 等生產(chǎn)過(guò)程自動(dòng)化的儀表相連,有必要為分析儀器設(shè)計(jì)信息管理系統(tǒng)。
1 信息管理系統(tǒng)界面設(shè)計(jì)
測(cè)量界面采用雙緩存圖片。把一個(gè)圖像作為緩存,兩個(gè)圖像就是雙緩存了。一個(gè)作為前臺(tái)緩存,一個(gè)作為后臺(tái)緩存。即:
創(chuàng)建一個(gè)繪制緩沖區(qū),以bufImage 表示,先將主要的圖形元素一個(gè)一個(gè)地繪制到此緩沖圖像上,再將此緩沖圖像一次性繪到代表屏幕的Graphics 對(duì)象上。
本設(shè)計(jì)在Visual C++ 界面編程中使用了Skin++.Skin++是一款通用的軟件換膚套件,目前支持各種版本操作系統(tǒng),Windows9x、Windows2000、WindowsXP、Windows2003 等,并支持VC、VB、C#、PB、Delphi、C++Builder 等各種開(kāi)發(fā)語(yǔ)言。
Skin++ 換膚的效果較好,程序本身也比較穩(wěn)定。
另外,本文在界面設(shè)計(jì)中也采用了復(fù)合文件,結(jié)構(gòu)化存儲(chǔ),這是微軟組件思想的起源。
系統(tǒng)的功能模塊包括用戶管理、成分選擇、儀器狀態(tài)、參數(shù)設(shè)置、非線性驗(yàn)證、TCP/IP 傳輸?shù)取V鹘缑嫒鐖D1 所示,對(duì)應(yīng)的分析儀器測(cè)量界面如圖2 所示。
1.1 系統(tǒng)登錄界面
系統(tǒng)登錄界面用戶分為兩級(jí):管理員和普通用戶。當(dāng)輸入完用戶名和密碼并按下“確定”按鈕后,程序會(huì)在數(shù)據(jù)庫(kù)中查詢用戶名和密碼是否匹配。在確認(rèn)匹配之后,程序根據(jù)用戶的級(jí)別分配權(quán)限,然后進(jìn)入主界面等待用戶下一步的操作。
在登錄成功后,系統(tǒng)會(huì)進(jìn)入測(cè)量界面。如果用戶名輸入錯(cuò)誤,則會(huì)提醒用戶輸入的不是用戶名而不能進(jìn)入系統(tǒng),系統(tǒng)也會(huì)給出相應(yīng)的提示信息。
1.2 用戶管理
管理員可以通過(guò)“用戶管理”界面添加、刪除、更改普通用戶的設(shè)置,普通用戶也可以修改密碼。圖3 所示是系統(tǒng)用戶管理界面。管理員和用戶都能根據(jù)實(shí)際情況,點(diǎn)擊列表頭可以實(shí)現(xiàn)用戶的升降序重新排列。操作可使得用戶管理界面更加人性化。
1.3 成分選擇
通過(guò)圖4 所示的成分選擇界面,可以根據(jù)不同的要求選擇不同的通道號(hào)(通道1 ~通道4)和選擇不同的成分(H2、CO、SO2、NO、NO2),單位也可以選擇。因?yàn)楸容^常用的氣體單位為“%”和“ppm”,所以單位設(shè)置了這兩個(gè)選擇。選擇確定后,在測(cè)量界面也會(huì)有相應(yīng)的更新。
1.4 儀器狀態(tài)和參數(shù)讀取
本系統(tǒng)的儀器狀態(tài)和參數(shù)讀取界面如圖5 所示。儀器狀態(tài)界面的主要功能就是讓用戶可以方便地知道儀器信息,便于下一步操作。
1.5 非線性驗(yàn)證
本設(shè)計(jì)采用5 次方程代替能斯特方程的方法來(lái)求出氣體組分含量,并在上位機(jī)通信這一塊設(shè)計(jì)了直接利用能斯特方程來(lái)驗(yàn)證數(shù)據(jù),這一驗(yàn)證方法對(duì)于用戶來(lái)說(shuō)更具有說(shuō)服力。圖6 所示是系統(tǒng)的非線性驗(yàn)證界面。
其中C++ 中部分代碼如下:
1.6 TCP/IP 傳輸
TCP/IP 傳輸是方便數(shù)據(jù)能夠通過(guò)互聯(lián)網(wǎng)把實(shí)時(shí)數(shù)據(jù)傳到本地監(jiān)控中心或環(huán)境監(jiān)測(cè)中心,其TCP/IP 通訊界面如圖7 所示。在基于SOPC 的在線分析儀器平臺(tái),可以利用 NiosII 這個(gè)用戶可定制的CPU 來(lái)增加新的外設(shè)、新的指令,分配外設(shè)的地址等。用戶可以直接在客戶端通過(guò)IE 瀏覽器訪問(wèn)服務(wù)器,瀏覽存儲(chǔ)在Flash 中的信息。根據(jù)Web 服務(wù)器的原理, Altera公司新提供的Nichestack TCP/IP Stack 協(xié)議設(shè)計(jì)實(shí)現(xiàn)了應(yīng)用程序提供的標(biāo)準(zhǔn)的Socket 接口以及TCP/IP 等協(xié)議。
由于設(shè)計(jì)采用了Altera 公司低端的一款FPGA,數(shù)據(jù)存儲(chǔ)能力比較有限,所以在設(shè)計(jì)中通過(guò)RS232 讀出數(shù)據(jù),再通過(guò)上位機(jī)傳輸給網(wǎng)絡(luò)。TCP/IP 通訊功能已經(jīng)在某公司實(shí)時(shí)監(jiān)控視頻傳輸中成功實(shí)現(xiàn)。
2 系統(tǒng)調(diào)試和數(shù)據(jù)驗(yàn)證
圖8 所示是最小二乘法擬合氧含量和輸出電壓的曲線圖。
操作時(shí)可選取10 個(gè)數(shù)據(jù)點(diǎn),在最常用的Excel 中實(shí)現(xiàn)最小二乘曲線擬合。(x,y)是根據(jù)樣氣濃度選擇的待測(cè)氣體的測(cè)量點(diǎn),x 為傳感器輸出電壓值,y 為對(duì)應(yīng)的樣氣中的氧含量值,n為擬合多項(xiàng)式的次數(shù)。其中x 和y 取值分別為表2 中的標(biāo)準(zhǔn)氣值和傳感器輸出電壓。從n=2 即二次多項(xiàng)式擬合開(kāi)始,經(jīng)過(guò)試驗(yàn),當(dāng)n=5 時(shí),即擬合多項(xiàng)式的格式為:
設(shè)計(jì)以該5 次方程替代能斯特方程,能夠精確地計(jì)算出氧氣含量,精度滿足儀器設(shè)計(jì)要求[3].Excel 最小二乘法實(shí)現(xiàn)氧含量與對(duì)應(yīng)輸出電壓曲線擬合如圖8 所示。圖中曲線為輸出電壓的擬合曲線。擬合多項(xiàng)式系數(shù)和擬合精度評(píng)定如表1所列。
將擬合多項(xiàng)式系數(shù)a,b,c,d,e 通過(guò)儀表鍵盤(pán)輸入到儀表系統(tǒng)中,當(dāng)開(kāi)啟儀表“非線性校準(zhǔn)”功能時(shí),儀表將根據(jù)5 次方程將檢測(cè)到的電壓信號(hào)換算成濃度信號(hào)并顯示在測(cè)量界面。將氧化鋯傳感器加熱到700 ℃,控制標(biāo)準(zhǔn)氣體流量280 ml/min,分別通入五組標(biāo)準(zhǔn)樣氣,測(cè)量結(jié)果如表2 所列。
由表2 可見(jiàn),用最小二乘原理擬合曲線代替能斯特計(jì)算公式,儀器測(cè)量的氧含量整體誤差小于0.5%,達(dá)到0.5 級(jí)表的要求。換幾組氣測(cè)試,測(cè)試結(jié)果也在誤差范圍內(nèi)。其測(cè)試結(jié)果如表3 所列。
3 結(jié) 語(yǔ)
本文首先對(duì)上位機(jī)的信息管理的核心做了部分設(shè)計(jì),包括了非線性驗(yàn)證和TCP/IP 通訊的實(shí)現(xiàn);然后對(duì)基于SOPC 的在線分析儀器智能平臺(tái)的數(shù)據(jù)處理做了驗(yàn)證,結(jié)果表明,本儀表能達(dá)到0.5 級(jí)表的要求。