国产精品成人网站,日韩视频二区,亚洲成人手机电影,怡红院国产

產(chǎn)品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質(zhì)分析|光譜儀|試驗機|試驗箱


儀表網(wǎng)>技術(shù)中心>應用設計>正文

歡迎聯(lián)系我

有什么可以幫您? 在線咨詢

HART協(xié)議智能儀表自動校驗系統(tǒng)的設計和實現(xiàn)

   2012年02月22日 14:49  
  摘要:文章簡單介紹了HART協(xié)議智能儀表的自動校驗系統(tǒng)的設計思想和實現(xiàn)的方法,提出了應用HART通信技術(shù)、計算機測控技術(shù)和數(shù)據(jù)庫技術(shù)來實現(xiàn)比較新型的自動校驗系統(tǒng)。系統(tǒng)已經(jīng)在現(xiàn)場得到應用。
    
  1、引言
  
  HART(HighwayAddressableRemoteTransducer)協(xié)議是zui早由Rosemount公司開發(fā)并得到眾多儀表公司支持的通信協(xié)議,其實現(xiàn)了在現(xiàn)有模擬信號傳輸線上的數(shù)字通信。
  
  在對HART協(xié)議智能儀表的校準和檢驗過程中,工作人員需要使用多種標準的儀器,HART協(xié)議手操器等設備來完成,其中操作過程比較復雜,對工作人員的要求比較高,效率難以滿足生產(chǎn)的需要,而且還有人為誤差,校準和檢驗的數(shù)據(jù)紀錄、存檔的不便等缺點。
  
  所以,我們考慮如何利用HART通信技術(shù)、計算機測控技術(shù)和數(shù)據(jù)庫技術(shù)來實現(xiàn)HART協(xié)議智能儀表的自動校準、檢驗及數(shù)據(jù)管理為一體的系統(tǒng)。
  
  2、系統(tǒng)分析
  
  通過對系統(tǒng)的分析,確定了系統(tǒng)的總體要求以及所需要的硬件環(huán)境和支撐軟件,以及用戶對系統(tǒng)的功能、性能等方面的要求,簡單的概述為如下幾個方面:
  
 ?。到y(tǒng)功能的要求:對HART協(xié)議智能變送器的校準,檢驗,出廠設置。
  
 ?。到y(tǒng)數(shù)據(jù)的要求:數(shù)據(jù)的自動采集、存儲和輸出。
  
 ?。到y(tǒng)運行的要求:需要構(gòu)建一個容易實現(xiàn)的軟、硬件平臺。
  
 ?。到y(tǒng)性能的要求:高精度,高可靠性,率,極易操作。
  
 ?。惓L幚淼囊螅焊鞣N異常事件的處理,保護,自動診斷。
  
 ?。獙砜赡芴岢龅囊螅罕A舫浞值目蓴U充性。
  
  3、自動校驗系統(tǒng)的硬件集成
  
  自動校驗系統(tǒng)的硬件集成主要考慮到較好的可擴充性、性能價格比和易于升級,為此我們采用一臺帶有ISA插槽的計算機作為主要控制的部分,如圖(1)所示:
  
  利用安裝在計算機內(nèi)部的一塊ISA總線的GPIB接口卡,就可以連接帶GPIB模塊的標準電壓/電流信號發(fā)生器、標準壓力信號發(fā)生器(壓力信號發(fā)生器可以通過級聯(lián)多臺設備的方法來滿足量程和精度的需求)、高精度數(shù)字萬用表等,就可以自動完成模擬信號發(fā)生和模擬信號的采集。
  
  通過連接在計算機串行口上的HART信號的調(diào)制解調(diào)器,來取代HART手操器,可以實現(xiàn)由計算機自動完成與儀表間的Hart通信。
  
  通過計算機控制的一塊ISA接口I/O卡驅(qū)動一塊繼電器輸出卡,實現(xiàn)各接口之間的自動轉(zhuǎn)換和信號燈的控制等。同時I/O卡還負責接收校驗系統(tǒng)面板上用戶的開關輸入。
  
  4、自動校驗系統(tǒng)的軟件設計
  
  4.1概述
  
  自動校驗系統(tǒng)的軟件設計要除了要能夠?qū)崿F(xiàn)系統(tǒng)的各種功能的實現(xiàn),還有能夠有很良好的人機界面,可靠的性能等要求。為此,軟件的支撐和運行平臺選擇WindowsNTWorkStation4.0,WindowsNT是一個32位,搶先式多任務的操作系統(tǒng),工作穩(wěn)定可靠,具有很強的防崩潰機制,通過多進程和多線程的新機制可以實現(xiàn)應用程序的并行處理,對實現(xiàn)通信應用程序的快速響應有很大的幫助。
  
  軟件設計采用面向?qū)ο蟮姆椒ǎ浖_發(fā)的平臺采用MicrosoftVisualC++6.0,主要是它有功能強大MFC類庫和Win32API的支持,使用也相當靈活,既容易開發(fā)出良好的Windows圖形界面的應用程序,又可以支持底層的各種通訊協(xié)議的定義和封裝等,還提供多種對數(shù)據(jù)庫操作的方法等。
  
  由于自動校驗系統(tǒng)還包含了產(chǎn)品的信息管理系統(tǒng),我們采用MicrosoftSqlServer2000構(gòu)建產(chǎn)品信息數(shù)據(jù)庫,SQLServer是Microsoft公司推出的一個大型數(shù)據(jù)庫系統(tǒng),使用非常廣泛,與WindowsNT達到了的組合,如果企業(yè)實現(xiàn)了ERP系統(tǒng),也可以很方便的利用這個數(shù)據(jù)庫。對數(shù)據(jù)庫存取使用VisualC++6.0提供的ADO(ActiveXDataObject)方式,ADO定義了一組COM對象以操作不同數(shù)據(jù)源的數(shù)據(jù),為不同類型的數(shù)據(jù)提供了一個非常通用的接口,不管這些接口是在單機還是在分布式的網(wǎng)絡上,可以在花費較少的時間的前提下開發(fā)客戶/服務器應用系統(tǒng)。
  
  4.2模塊化的設計
  
  根據(jù)自動校驗系統(tǒng)需要實現(xiàn)的功能和性能,在實現(xiàn)階段對其進行了模塊化的劃分,主要包括4個子系統(tǒng)和8個模塊(如圖2所示):
  
  圖(2)
  
  1)操作員子系統(tǒng)主要面向于使用校驗系統(tǒng)進行儀表校準檢驗的人員,他們將使用操作員賬號登陸系統(tǒng)的用戶,共有4個模塊。
  
  a.設備驅(qū)動及控制模塊主要向自動校驗系統(tǒng)軟件提供了所有設備的接口,屬于校驗系統(tǒng)軟件的zui底層部分和支撐部分,主要描述和定義了系統(tǒng)各個設備的“語言”,正是由于設備比較多,不同廠家設備的通訊方式和指令格式相差也比較大,為了正確而又簡單的完成的與各個設備的對話,我們采用了C++語言以面向?qū)ο蟮姆椒▽PIB通訊,I/O控制,HART通訊,儀器控制和驅(qū)動等封裝成一個個類,將其所有數(shù)據(jù)成員私有化,把具體指令的數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)等的細節(jié)放到類的內(nèi)部,對這些設備的讀寫等操作只要使用這些設備自身提供的方法,實現(xiàn)了數(shù)據(jù)的安全性和代碼的可重用性,而且非常的簡單方便。
  
  對HART協(xié)議進行了封裝,定義了HART通訊所用到的數(shù)據(jù)類型和結(jié)構(gòu),如HART的浮點數(shù),ASCII碼的壓縮,長地址,短地址,以及通用的HART數(shù)據(jù)幀(包括前導符、分界符、地址、命令號、字節(jié)數(shù)、數(shù)據(jù)、校驗字節(jié)、響應碼等)的組裝、發(fā)送以及接收的方法,這樣需要發(fā)某一條HART命令時,只要根據(jù)HART協(xié)議查出這條命令需要的數(shù)據(jù),用HART數(shù)據(jù)幀組裝的方法填入數(shù)據(jù),再分別使用HART數(shù)據(jù)幀發(fā)送以及接收的方法就可以了。
  
  對GPIB接口卡和I/O卡提供的DLL函數(shù)進行了重新封裝,如在GPIB接口卡的類包含了PC需要的講、聽和控制的方法,對GPIB接口的標準的儀器進行的封裝,就可以繼承GPIB接口類,這樣定義儀器所支持讀、寫操作時,就可以使用GPIB接口卡提供的函數(shù)。
  
  定義了對各種儀器及設備的讀/寫的操作和方法。包括對標準電壓/電流信號發(fā)生器,標準壓力信號發(fā)生器,頻率信號發(fā)生器,數(shù)字萬用表并口、串口通訊類封裝了打開端口,配置端口,以及讀,寫的操作的WindowsAPI函數(shù),需要配置的結(jié)構(gòu)有DCB,COMMTIMEOUTS等,主要使用函數(shù)的有CreateFile,ReadFile,WriteFile等。
  
  b.數(shù)據(jù)發(fā)送和采集模塊主要是通過對設備驅(qū)動模塊的訪問,完成了所有需要的對數(shù)據(jù)發(fā)送和采集的的方法的封裝,這些方法基本上都是使用設備驅(qū)動模塊定義了的設備或儀表自身提供的方法,并將這些方法提供給變送器檢驗檢驗模塊。
  
 ?。x及實現(xiàn)了對HART變送器進行電流微調(diào)的方法如調(diào)整DAC零點,首先將發(fā)送HART40號命令,參數(shù)為4.0,將輸出電流鎖定為當前零點,然后采集電流表的讀數(shù)并類型將其轉(zhuǎn)換成HART的浮點數(shù),再發(fā)送45號命令將電流表的讀數(shù)發(fā)送給HART變送器進行校準,然后再次采集電流表的讀數(shù),判斷實際電流輸出是否滿足精度要求,如果滿足精度要求,則發(fā)送40號命令,參數(shù)為0.0,退出校準,否則重復上述步驟。
  
 ?。x及實現(xiàn)了對HART變送器進行出廠校準的方法,如對于1151壓力/差壓變送器,通過發(fā)送特殊命令132號命令設定的傳感器類型和量程范圍,發(fā)送133號命令確定校驗點為0,進入出廠標定狀態(tài),然后進行零點標定(標定第1點),發(fā)送GPIB指令使得壓力信號發(fā)生器加零壓力,待壓力穩(wěn)定后(延時)發(fā)送命令133設定校驗點為1,還有當前儀表工程量單位和零點的校驗值為0.0,然后類似的進行60%,的點以及負區(qū)的標定。
  
 ?。x及實現(xiàn)了對HART變送器進行出廠檢驗的方法,如對于熱電偶溫度變送器,需要輸入8個分度號,根據(jù)量程每個分度號取5個點的mV值,向電壓/電流信號發(fā)生器發(fā)送指令,讓其輸出的m號,然后用HART1號命令讀取主變量的值,與標準值比較,得出HART的數(shù)字精度,同時讀取數(shù)字萬用表的測量值,與標準值比較,得出4—20mA輸出的模擬精度。
  
  *定義及實現(xiàn)了對HART變送器進行各種信息設定的方法,寫組態(tài)信息,如用HART18號指令寫入工位、描述、時間,17號命令寫入信息值,19號命令寫入裝配號等。
  
  c.變送器校準檢驗模塊主要是為了完成對變送器校準檢驗的具體操作,包含了針對不同變送器校驗檢驗的步驟,并向數(shù)據(jù)打印及入庫模塊提供數(shù)據(jù)源。這個模塊還根據(jù)管理員子系統(tǒng)中功能設置模塊對系統(tǒng)需要自動完成的操作的定義,自動將數(shù)據(jù)采集和發(fā)送模塊的方法進行組裝,以實現(xiàn)對校驗系統(tǒng)的自定義功能。
  
  d.數(shù)據(jù)打印及入庫模塊主要是完成校驗結(jié)果的打印和進入數(shù)據(jù)庫,是操作員子系統(tǒng)的所要完成的zui后一個功能,主要是將校驗過程中采集的數(shù)據(jù)、運算的結(jié)果、產(chǎn)品的出廠編號等信息以打印報表和進入數(shù)據(jù)庫的兩種方式進行處理。
  
  打印報表可以利用對并口讀寫的封裝,直接將格式化的字符串輸出到連接在并口上的打印機就可以了。
  
  與SQLServer數(shù)據(jù)庫的連接采用ADO的方式,這樣可以滿足本地和遠程訪問數(shù)據(jù)庫的需要,這里主要是將校驗得到的數(shù)據(jù)和產(chǎn)品信息等存儲到SQLServer的數(shù)據(jù)庫中去。
  
  2)管理員子系統(tǒng)主要面向校驗系統(tǒng)的管理員,他們使用管理員的賬號登陸系統(tǒng),管理員的權(quán)限大于操作員,可以完成系統(tǒng)功能設置和數(shù)據(jù)庫管理的功能。
  
  功能設置模塊主要是通過彈出得對話框,使得系統(tǒng)的管理員可以定制系統(tǒng)的操作步驟、選擇需要完成的校驗內(nèi)容,以及可以自動寫入變送器的一些信息,功能設置完成后,在操作員模式,當系統(tǒng)檢測到有變送器接入時候,可以自動完成設置好檢驗項目等內(nèi)容。功能的可定制使得自動校驗系統(tǒng)能夠適應多種場合的需求。
  
  數(shù)據(jù)庫管理模塊主要是完成對操作員子系統(tǒng)進入數(shù)據(jù)庫的數(shù)據(jù)進行管理,可以對產(chǎn)品的信息進行檢索,還可以方便對各個時期產(chǎn)品的性能指標進行評測比較,來研判企業(yè)的生產(chǎn)水平。
  
  3)人機界面子系統(tǒng)的功能主要完成系統(tǒng)和用戶的界面,由于適用了VisualC++作為開發(fā)工具,大量MFC類庫作為基礎,所以比較容易開發(fā)出很友好的Windows圖形界面。
  
  由于變送器的校驗過程要占用系統(tǒng)很多的時間,存在著比較多得延時,而用戶界面需要實時接受用戶的操作和實時顯示對用戶輸入面板的監(jiān)控,為此采用了多線程的技術(shù)解決了這一問題,主線程主要完成校驗功能的實現(xiàn),由輔助線程來實時更新用戶的界面,對I/O端口進行輪詢。
  
  4)異常處理子系統(tǒng)主要是為了解決系統(tǒng)中使用得設備比較多,由于每一個設備出現(xiàn)問題都會引起系統(tǒng)的異常問題。為了保證校驗系統(tǒng)的可靠性,在對各種可能出現(xiàn)的人為的誤操作和各個設備可能出現(xiàn)的情況進行了分析以后,編寫了大量的異常處理的方法,使得這個模塊的內(nèi)容覆蓋了整個系統(tǒng),當系統(tǒng)使用過程中出現(xiàn)異常情況,會立即轉(zhuǎn)入到這個模塊進行處理,使得校驗系統(tǒng)可以對異常情況進行保護和報錯,使得系統(tǒng)的智能化和可靠性得到很大的提高。
  
  4.3軟件的工作過程
  
  軟件開始執(zhí)行后,首先初始化及系統(tǒng)自檢工作,主要是初始化GPIB接口卡,并將GPIB接口卡上的設備設成遠程工作方式,初始化48回路I/O卡,將I/O設置為40路輸出,8路輸入,打開并配置計算機串口和并口。
  
  完成了系統(tǒng)自檢后,將開啟一個輔助線程用于監(jiān)控I/O操作,做為軟件工作過程的主要部分,下面將比較詳細的介紹一些這部分內(nèi)容。
  
  為了實現(xiàn)多線程之間的同步控制關系,創(chuàng)建一個手工的事件對象(手工的事件對象顯式得使用ResetEvent來改變信號量的狀態(tài))。
  
  m_hEvent=CreateEvent(NULL,TRUE,TRUE,NULL)
  
  然后創(chuàng)建并開啟一個輔助線程,
  
  m_pThread=AfxBeginThread(MyThreadFunction,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED,NULL);
  
  if(m_pThread!=NULL)
  
 ?。鹠_pThread->ResumeThread();}
  
  輔助線程是以函數(shù)的形式出現(xiàn)在程序中,它的代碼是整個進程代碼的一部分,并可以共享進程的全局變量等。
  
  UINTMyThreadFunction(LPVOIDpParam)
  
 ?。?br />  
  while(1){
  
  m_Test.SCANDin();///讀取I/O卡的狀態(tài)
  
  WaitForSingleObject(m_hEvent,200);///等待并檢查事件對象的狀態(tài)
  
  ResetEvent(m_Test.m_hEvent);
  
  PostMessage((HWND)pParam,WM_MYMESSAGE,0,0);
  
  //發(fā)送自定義消息給主線程通報I/O狀態(tài)
  
  continue;
  
 ?。?br />  
  return0;
  
  }
  
  這樣就由輔助線程完成了讀取I/O口狀態(tài),判斷用戶在操作面板的動作,實現(xiàn)了對I/O端口的監(jiān)視,
  
  在主線程中定義消息映射機制,在頭文件中添加對自定義消息及消息處理函數(shù)的定義,
  
  #defineWM_MYMESSAGE(WM_USER+100)
  
  afx_msgLONGOnMyMessage(WPARAMw,LPARAMl);
  
  DECLARE_MESSAGE_MAP()
  
  在CPP文件中添加消息處理函數(shù)的實現(xiàn)
  
  BEGIN_MESSAGE_MAP()
  
  ….
  
  ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
  
  ….
  
  END_MESSAGE_MAP()
  
  LONGCMyApp::OnMyMessage(WPARAMw,LPARAMl)
  
 ?。?br />  
  /////對輔助線程中檢測到的端口數(shù)據(jù)進行處理,判斷并進入變送器校驗操作。
  
  SetEvent(m_hEvent);////通過設置事件信號,表示數(shù)據(jù)處理完畢,輔助線程得到事件信號的狀態(tài)后就可以繼續(xù)了
  
  return0l;
  
 ?。?br />  
  通過事件對象對多線程的同步控制,就可以使得耗時的I/O操作與程序的主線程分開,既保證了I/O監(jiān)視的實時性,又可以使主線程可以自由的處理其他的事情,充分利用了CPU的處理能力,使得各操作可以并行進行。
  
  5、結(jié)束語
  
  HART協(xié)議在儀表中的應用為儀表的自動化校準檢驗及信息管理提供了基礎,本文闡述了較為通用的HART智能變送器校驗檢驗系統(tǒng)的設計思想和實現(xiàn)方法,針對不同廠家的HART變送器,只要添加數(shù)據(jù)發(fā)送及采集模塊中關于變送器校準的HART協(xié)議的特殊指令,就可以完成,具有一定的通用性,較好的實現(xiàn)了HART協(xié)議智能變送器的出廠校準檢驗及產(chǎn)品信息管理。產(chǎn)品已經(jīng)在現(xiàn)場實際運行,使用效果良好。

免責聲明

  • 凡本網(wǎng)注明“來源:儀表網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-儀表網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應在授權(quán)范圍內(nèi)使用,并注明“來源:儀表網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其它來源(非儀表網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或和對其真實性負責,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責任。
  • 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權(quán)利。
聯(lián)系我們

客服熱線: 15267989561

加盟熱線: 15267989561

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業(yè)未開通此功能
詳詢客服 : 0571-87759942