• <del id="qqie6"><sup id="qqie6"></sup></del>
  • <tfoot id="qqie6"></tfoot>
  • <ul id="qqie6"></ul>
  • 產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


    儀表網>技術中心>應用設計>正文

    歡迎聯系我

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

    HART協議智能儀表自動校驗系統的設計和實現

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

    免責聲明

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

    客服熱線: 15267989561

    加盟熱線: 15267989561

    媒體合作: 0571-87759945

    投訴熱線: 0571-87759942

    關注我們
    • 下載儀表站APP

    • Ybzhan手機版

    • Ybzhan公眾號

    • Ybzhan小程序

    企業未開通此功能
    詳詢客服 : 0571-87759942
    主站蜘蛛池模板: 国产成人精品综合久久久| 成人免费ā片在线观看| 久久亚洲色www成人欧美| 亚洲国产成人久久| 爽爽爽爽爽爽爽成人免费观看| 欧美成人精品一区二区| 成人免费无码大片A毛片抽搐色欲| 成人免费ā片在线观看| 中文字幕成人免费高清在线| 成人三级k8经典网| 久久国产成人精品| 成人午夜私人影院入口| 久久国产精品成人片免费| 成人免费激情视频| 青青国产成人久久91网| 国产成人精品久久综合| 麻豆成人久久精品二区三区免费| 成人免费看片又大又黄| 国产精品成人网| 成人午夜精品无码区久久| 亚洲国产成人精品电影| 成人午夜视频网站| 99国产精品久久久久久久成人热| 国产成人女人毛片视频在线| 成人国产激情福利久久精品| 欧美成人在线视频| 欧美成人精品a∨在线观看 | 亚洲国产成人久久综合一区77| 成人欧美一区二区三区黑人免费| 亚洲国产精品成人精品无码区在线 | 猫咪av成人永久网站在线观看| 久久久久AV综合网成人| 亚洲av午夜成人片| 91成人爽a毛片一区二区| 欧美成人片在线观看| 欧洲成人全免费视频网站 | 国产成人精品久久综合| 国产成人免费福利网站| 国产成人精品福利网站在线观看| 成人免费在线视频| 国产成人精品免费视频大全办公室 |