杜文艷 馬潔光


摘要:基于虛擬儀器技術設計并實現了一種兩線制流量計出廠檢測系統。該系統以PC機作為檢測控制主單元,采用MODBUS通信協議控制檢測裝置同步采樣標準和被檢流量計輸出的4~20mA電流信號;在LabWindows/CVI開發環境下開發了測試分析軟件,實現了出廠檢測數據的自動生成。該系統通過實際應用表明增強了產品出廠檢驗的可靠性,且操作簡單快捷,提高了生產效率。
關鍵詞:LabWindows/CVI;MODBUS;兩線制流量計;出廠檢測系統
中圖分類號:TP311 ? 文獻標識碼:A
文章編號:1009-3044(2019)15-0272-02
對于生產4~20mA兩線制方式的流量計儀表廠商來說,在進行儀表標校和出廠檢測時,必須通過同時讀取標準和被檢流量計的瞬時流量來完成。傳統的標校和檢測方法,一般采用人工測量輸出電流或讀取表頭示數,再通過人工處理來完成。這不僅需要多名檢測人員協同操作,且步驟煩瑣,測量結果還須進行人工處理,不僅消耗了大量的人力物力,且人為影響了測量精度。
本文給出的采用虛擬儀器技術設計實現簡易智能兩線制流量計檢測系統的方法,避免了檢測過程中人為因素的影響。系統以PC機作為檢測控制單元,通過采用MODBUS協議讀取檢測模塊測試的兩路流量計輸出的4~20mA瞬時流速信號,經計算分析實現了對模擬流速信號的統計和分析,以及測試記錄的記錄和檢測報告的自動生成功能。用戶通過操作軟件平臺就可以快速完成所需的檢測任務,并實現測量數據、檢測報告的數字化、文檔化,提高了工作效率。
1 系統概述
系統工作示意圖如圖1所示。檢測時,流速測量裝置與PC機采用MODBUS協議接收工作PC機的測量指令,執行測量任務,采集兩路流速模擬量信號送回PC機。PC機再按檢測要求對測量數據進行整理、分析、顯示和電子檢測報告的生成。
出廠檢測系統軟件基于Labwindows/CVI虛擬儀器軟件開發平臺進行開發,它是National Instruments公司推出的一種交互式C語言開發平臺。LabWindows/CVI 將功能強大、使用靈活的C 語言平臺與用于數據采集分析和顯示的測控專業工具有機地結合起來,利用它的集成化開發環境、交互式編程方法、函數面板和豐富的庫函數大大增強了C語言的功能,為熟悉C語言的開發設計人員編寫檢測系統、自動測試環境、數據采集系統、過程監控系統等應用軟件提供了一個理想的軟件開發環境。
2 流量計出廠檢驗系統軟件
2.1 主要功能
軟件主要功能包括:(1)采用MODBUS協議讀取兩路流量計的瞬時電流值(4~20mA);(2)對獲取的測量數據進行分析處理得到被校表的精度等級;(3)實現了工作PC機與兩路流量計瞬時流量的同步顯示;(4)自動生成EXCEL形式的測試和出廠報告。軟件的主界面如圖2所示。
2.2 瞬時流量采集
2.2.1 數據傳輸協議
流量計出廠檢測系統與流速信號測量裝置的通信協議采用RTU形式的MODBUS協議,標準表的寄存器地址規定為00號地址,校驗表的寄存器地址規定為02號地址,具體通訊格式如下:
上位機命令格式:地址 03 00 00 00 02 CRC低位 CRC高位(讀標準表)
地址 03 00 02 00 02 CRC低位 CRC高位(讀校驗表)
下位機返回格式:地址 03 04 XX XX XX XX CRC低位 CRC高位
流速信號測量裝置收到標準表采集請求信息后,即可采集標準表的電流輸出,經內部標度變換程序將采樣值轉換為4~20的浮點數送回PC機;對校驗表的數據采集與傳遞同上所述。
2.2.2 MODBUS通信協議軟件實現
本系統,上位機與流速信號測量裝置之間采用RS-485協議進行通信。LabWindows/CVI的標準函數庫中RS-232的函數庫提供了各種方式的串行通信控制函數和I/O函數。本系統程序與流速信號測量裝置通信的主要函數有:
1)OpenComConfig (ComPort, "", 9600, 0, 8, 1, 512, 512);//打開串口,波特率為9600,無校驗,8位數據位,1位停止位,最大輸入和輸出隊列長度都為512;
2)InstallComCallback (ComPort, LWRS_RECEIVE,8, 0, ReceiveComData,(void *)0);//當接收緩沖區里面有8個數時開始啟動ReceiveCOMData函數;
3)void ReceiveComData(int ComPort,int eventMask,void *callbackData); //串行數據接收函數。
2.2.3 數據標校點獲取的實現
按照流量計校驗規程要求,每個流量點的重復檢定次數應不少于3次,每次檢定時間應不小于30秒,檢定點應包含流量計最小流量和最大流量在內的至少6個點,且均勻分布。本軟件給出了采樣間隔時間以及測試時間設定選擇,這樣可方便用戶根據具體需要進行測試點數和測試點的檢定次數的在線選擇。
2.3 EXCEL校驗表單生成和保存
流量計出廠檢測系統主要是通過在線檢測實現出廠報告單的自動生成,因此選用了EXCEL作為輸出工具。微軟EXCEL提供了一種方法為開發人員通過編程控制的ActiveX接口的所有功能。為了簡化開發,Labwindows/CVI提供了一個EXCEL的庫,簡化了通過其自動化的ActiveX接口EXCEL的過程。
系統處理獲取完各點校驗數據后,保存校驗數據按鈕變為有效。當用戶點擊此按鈕,系統通過調用ActiveX組件,實現對EXCEL文件的操作。本系統用到對EXCEL的主要操作有:
1)聲明的與EXCEL操作有關的全局變量
static CAObjHandle applicationHandle = 0;//EXCEL應用程序對象句柄
static CAObjHandle workbookHandle = 0;//工作簿對象句柄
static CAObjHandle worksheetHandle = 0;//工作表對象句柄
2)啟動EXCEL,并打開工作簿模板
status=ExcelRpt_ApplicationNew(0,&applicationHandle); ? //啟用excel
if(status<0){MessagePopup("啟動Excel錯誤!",""); break;}
GetProjectDir(ExcelFileName);
strcat(ExcelFileName,"\\模板.xls");//獲取模板文件名稱
ExcelRpt_WorkbookOpen(applicationHandle,ExcelFileName,&workbookHandle);//打開工作簿
ExcelRpt_GetWorksheetFromIndex(workbookHandle,1,&worksheetHandle);//打開表單
3)寫入數據
由于系統向EXCEL寫入的數據有浮點數、整型數和字符串信息,因此寫入數據時應對不同的數據類型進行單獨操作,下面給出了向EXCEL寫入儀表名稱的程序代碼。
GetCtrlVal(panelHandle,PANEL_STR_Name, MeterName);//獲取儀表名稱
ExcelRpt_SetCellValue(worksheetHandle,"B4",ExRConst_dataString, MeterName);//儀表名稱寫入EXCEL
4)保存文件并退出應用程序
error = Excel_WorkbookSaveAs (workbookHandle, NULL, MyVariant,CA_DEFAULT_VAL, CA_DEFAULT_VAL,CA_DEFAULT_VAL,CA_DEFAULT_VAL,CA_DEFAULT_VAL, xcelConst_xlNoChange, #define CA_DEFAULT_VAL, CA_DEFAULT_VAL,
CA_DEFAULT_VAL, CA_DEFAULT_VAL);//保存當前校驗信息
CA_DiscardObjHandle(worksheetHandle);//釋放工作表句柄
ExcelRpt_WorkbookClose(workbookHandle,0);
CA_DiscardObjHandle(workbookHandle); //釋放工作簿句柄
ExcelRpt_ApplicationQuit(applicationHandle);
CA_DiscardObjHandle(applicationHandle); //關閉excel
3 結束語
使用虛擬儀器LabWindows/CVI平臺開發的兩線制流量計出廠檢測及報告自動生成系統具有開發周期短、成本低、操作方便、工作穩定性好等優點。設備在流量計生產廠家經過近半年的運行也證明了此系統的開發是成功的。
參考文獻:
[1] GB/T 19022-2003.測量管理體系·測量過程和測量設備的要求[S].
[2] 張光,盧良.流量計在線自動標定的設計與實現[J].控制工程,2006, 13(9).:207~209.
[3] 王建新,楊世風,隋美麗.LabWindows/CVI測試技術及工程應用[M].北京:化學工業出版社,2006.
【通聯編輯:梁書】