谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > 新聞中心>詳情頁

高精度測力傳感器測試係統的研製

發布時間:2019-12-20 09:08:51 |來源:網絡轉載

隨著微處理器在工業測控中的廣泛應用和性價比的降低,出現了以微處理器為核心的高精度的智能壓力變送器,這就對壓力變送器的生產、檢驗提出了更高的要求。為了提高精度,通過軟件和硬件結合的方法,這就需要對壓力變送器和傳感器的參數進行大量的檢測,形成軟件補償用的表格和判斷變送器、傳感器精度是否滿足要求。本文就是為了滿足這一需要,建立以工業控製計算機為主的變送器測試係統。

1  係統結構

  主要包括某公司的DP1520係列標準壓力發生器3台,某公司的數字萬用表2700係列1個,某公司的可編程控製器(PLC)C200H1台,智能溫箱1個,繼電器組和變送器、傳感器陣列等幾部分。由於這些智能儀表上均帶有RS232通訊口,而通常的工業控製計算機隻帶有2個232通訊口,為了增加串口,我們采用某公司的C168H係列的一拖八的多串口卡

2  係統工作原理與功能

    整個測試係統的工作原理為:利用工控機的人機交互界麵  進行設置要檢測的變送器或傳感器組、壓力大小的設置和溫度,  通過PLC對所選擇的變送器或傳感器順序檢測;把采集來的放  在數據庫裏,然後進行相應的計算。

    一般情況下,對於壓力傳感器在使用前,要對其進行溫漂補償和非線性校正,傳統的方法就是測試幾個溫度點下對應壓力下輸出值根據經驗值選用補償用的電阻,這使得整個補償後的精度不高。要在全溫度範圍內得到高精度的補償效果,需要對傳感器在各個溫度下的參數進行大量測量,通過公式計算出補償電阻的大小,提高傳感器的精度和可靠性。本測試係統功能之一就是一次最多可以對64個傳感器進行測試,並計算出相應的補償電阻阻值,同時也可以計算出傳感器的非線性、重複性和遲滯性,在此基礎上得到其精度,並判斷其是否滿足要求。

    隨著智能變送器的出現,對變送器的溫漂補償和非線性校正的方法也有原來以單純的模擬電路調節變為以軟件調節為主。軟件調節的主要原理就是生產變送器時,對變送器在不同溫度、標準壓力下的輸出進行計算,形成補償參數預先存儲到變送器的程序存儲器裏,在生產現場,實際應用時,程序根據現場溫度和壓力自動調用補償參數,從而完成了補償過程。本係統的功能之二就是可以對最多64台變送器進行測試,進行相關處理後就可以得到補償用的參數。

    通過使用本係統,一方麵可以提高生產和檢驗傳感器的生產效率,另一方麵通過對傳感器和變送器進行補償,使得它們的精度大大提高。

3係統軟件設計

    由於係統要求多個人機交互界麵對大量參數進行設置和監視,我們選用選用了Microsoft Visual C++6.0開發軟件係統,操作係統為Windows 2000,充分利用其強大的網絡功能和穩定性。係統的軟件設計主要人機界麵的設置、多串口通訊和數據庫處理等。人機界麵的設置主要是利用VC++中的控件進行編程,數據庫部分主要是存儲數據和計算相應的參數,比較簡單,這裏就不做介紹,下麵重點介紹一下多串口通訊的程序設計。

3.1封裝串口類

    Visual C++的微軟基礎類(MFC)裏沒能提供通用的串口通信代碼,並且采用32位Windows API函數對串口進行操作又十分繁瑣。由於係統中的大量數據傳送都采用串行口,所以對串口的操作就尤其頻繁。我們主要采取麵向對象的設計方法,在VC6.0下對常用的串口操作實現一個串口類CSeriaIPort封裝了相關的屬性和方法,增加對串口操作的透明度,提高串口傳輸數據的可靠性,屏蔽了底層的細節,方便了對串口操作的編程實現,它可以對一個串口進行讀、寫和監視其運行狀況,並把在串口發生事件傳遞給主機。

    為了對串口進行操作,我們在SeriaIPort.cpp源文件中定義了一係列函數:如用於初始化串口和設置串口屬性的InitPort()函數;用於對線程進行啟動和停止的StartMonitoring()、RestartMonitoring()、StopMonitoring()函數;用於對串口進行讀寫操作的ReceiveChar()和WriteToPort()函數。

3.2通訊協議的實現

    係統采用的智能儀表,由於是不同的廠家生產的,所使用的協議也是不同的,這就給軟件設計帶來了一定的困難。采用麵向對象的方法從所有的智能儀表中抽象出一些共同的性質(如:端口號、儀表序號、下位機地址,功能描述等等),將歸納起來的共同性質組合起來形成一個智能儀表基類CCommen類,還定義了一組標準的儀表訪問和數據存取接口,以虛函數的形式給出,再對每一個實際的儀表派生出與自身相匹配的儀表類。對於各個智能儀表我們采用相應廠家提供的通訊協議。

3.3多線程串口通訊的實現

由於工控機要與4個以上的智能儀表進行通訊,而且要長期動態穩定的運行,是整個變送器檢測係統的樞紐,其可靠性、魯棒性要求較高,因此整個整個數據采集的驅動程序對各個串口讀寫協調顯得尤為重要,我們使用了多線程技術。再啟動串口數據采集驅動程序之前先根據實際儀表連接情況對儀表進行配置,設置每個串口連接的儀表類型和個數,以及基本的串口通訊參數,並進行存儲。驅動程序的主線程的任務是負責人機交互的界麵操作和各個串口操作線程的啟動與協調,線程間的通信采用Windows的消息機製

4結束語

    係統采用了多串口擴展控製器,組建稱重壓力變送器檢測係統,通過對變送器、傳感器參數進行測試,計算出對傳感器補償用的電阻阻值和對變送器補償用的參數,把補償用的參數下載到變送器的程序存儲器中,提高了變送器的精度和可靠性。串口數據采集軟件設計采用了麵向對象的設計(OOP)方法抽象出了通用的串口類和儀表基類;利用Windows多線程和消息機製實現了多串口的通信與同步。該係統在淄博某公司已穩定運行,提高了生產效率,為生產高性能的智能變送器提供了可靠的保證。

參考文獻

1  Michael J.Young.Visual C++6從入門到精通[M].邱仲潘等譯北  京:電子工業出版社,1999.

2 Peter W.Gofton.精通串行通信[M],王仲文等譯.北京:電子工業出版  社,1995   

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8