《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > LabVIEW中綜合報表生成技術的開發(fā)
LabVIEW中綜合報表生成技術的開發(fā)
摘要: 報表生成功能是一個完備的虛擬儀器測試系統(tǒng)的重要組成部分,。比較了兩種LabVIEW平臺下報表生成方法及特點,。重點闡述LabVIEW與Excel的數據通信,并添加了聲音報警,、自動打印功能,提高了數據的可靠性與安全性,。
Abstract:
Key words :

1 引言

  打印報表是測控系統(tǒng)普遍要求的一項基本功能,,例如對產品進行測試要有測試報告,,長期檢測一個生產過程要求有生產日報表等,對報表的實時性提出了要求,。目前,幾種用于生成報表的軟件有Visual Basic,、Matlab Report Generator等,。LabVIEW是NI公司退出的一種基于 G語言的虛擬儀器軟件開發(fā)工具,。利用LabVIEW可以很方便地生成一個虛擬儀器系統(tǒng),,完成信號的采集,、數據處理等任務構成一個完整的測試系統(tǒng)。 LabVIEW本身帶有強大的報表生成功能,能與多種應用程序的通訊成為報表生成技術中首選的工具,。目前已大量用于測試系統(tǒng)的后期數據處理中,,筆者在總結前人開發(fā)報表生成功能的基礎上,,添加了一些新功能,以完善整個測試系統(tǒng),。

2 報表生成功能的完善

  報表生成方法可以通過這么幾種方法[1]:直接使用NI公司的Report Generation Toolkit生成報表;使用File I/O類函數生成報表;使用Report Generation類函數生成報表;利用Excel生成報表,。然而,由于 Report Generation Toolkit模塊沒有集成在LabVIEW中,,須額外購買,,性價比不高;File I/O類函數生成的報表可讀性差,樣式簡單,,因此目前普遍采用后兩種方式。

  2.1 使用Report Generation類函數生成報表

  使用這種方法可以打印格式比較復雜的報表,,而且操作簡單,。LabVIEW中的Report Generation子模板中提供了豐富的函數[2]。從生成一個新的報表,,設置報表頁邊距,、方向,、頁眉文本,向報表中添加文字,、圖片和表格等到打印報表都有全程的幫助文件供開發(fā)者使用,。以產品檢驗報告為例,報表生成的程序如圖1所示,。

 


圖1 使用Report Generation類函數生成報表框圖

  由圖中,,在報表中添加了曲線、數據,、表格等,,最終通過一個Case語句在LabVIEW主程序中直接打印報表,前面板如圖2所示,。要注意的是,,由于打印報表只能打印瞬間的數據值,故要求打印圖標按鈕不能長期處于閉合狀態(tài),,在此設置Mechanical Action為 Latch when pressed,。

 


圖2使用ReportGeneration類函數生成報表前面板

  使用該方法雖然操作簡單,但也有一些不足,。比如,,對于復雜的數據就顯得力不從心;在實際測試系統(tǒng)中要求測量的點數往往上百個,大批的數據要在 LabVIEW要在前面板中設置顯然不切實際;雖然實現了打印功能,,但打印效果不符合傳統(tǒng)觀念中的報表,,數據可移植性不高。鑒于此,,提出用Excel生成報表,。

  2.2 利用Excel生成報表

  Microsoft Excel是強大的數據處理軟件,應用極為廣泛,,通過與LabVIEW的結合,,將采集到的數據傳送到Excel中,充分利用了兩者的功能,。Excel本身含有大量的模板,,用戶可以預先定制模板以確定報告格式,通過兩大應用程序之間的通訊協議,,利用DDE和ActiveX方式生成報表,,然后在程序中添加語音效果、打印功能,、數據保存等功能,,進一步完善報表的附帶功能。下面以鍋爐供熱自動控制系統(tǒng)的報表程序為例,,介紹一個功能齊全的報表生成系統(tǒng),。

 


圖3 報表生成前面板

  首先,報表的主界面如圖3所示,,用戶可以設置報表生成即Excel文件生成的路徑,,在報表名稱、報表生成的起始與終止時間處分別填入需要的參數,。左方為各項測量指標的名稱,,用戶可以根據需要修改,而且設置了冗余項,,在右下角的要測的指標中選擇數目,,主界面可自動擴展指標項供用戶添加。

  其次,,如用戶需要打印前面板,,可以按打印前面板按鈕實現。界面的右下角附有使用說明,,方便開發(fā)者與用戶的溝通,。部分程序框圖如圖4、5所示。

 


圖4 設置路徑與表名



圖5 向Excel傳送數據

  由于LabVIEW提供了自動打印的功能,,故要打印前面板中的曲線,,只需要將需要打印的對象做成子VI,,當程序調用該子VI時實現打印功能[3],。主程序框圖如圖6所示,該方法實現的關鍵點在于:主程序需要將曲線坐標的上下限傳給子VI,,通過屬性節(jié)點實現,,如圖中所示。

 


圖6 自動打印主程序框圖

  最后,,在該系統(tǒng)中加入聲音報警功能[4],。在線檢測系統(tǒng)一般都需要報警功能,實現的方法為在程序中預先錄入一段聲音,,當報表生成過程中出現報錯等意外出錯時,,可以及時提醒工作人員,以免造成因數據錯誤帶來的事故,,這在工業(yè)監(jiān)控過程中是非常必要的,。我們還是利用LabVIEW中的聲音函數錄制聲音,程序框圖如圖7所示,。

 


圖7 錄制聲音

  在SI CONFIG函數中可以選擇立體聲或者單通道。然后我們把生成的文件作為聲音文件,,作為出錯報警時的源文件,,框圖如圖8所示。

 


圖8 播放聲音

3 結論與應用

  到此,,一個完整的功能齊全的報表生成系統(tǒng)已經介紹好了,。并已在汽車熱工性能測試系統(tǒng)中試用,,大大減輕了工作人員的數據記錄的負擔,,同時提高了安全性,、可靠性,,在數據圖表打印方面真正做到了所見即所出。

  本文作者創(chuàng)新點:集成各種功能如數據,、圖表實時打印等,,開發(fā)出了一套功能齊全的報表生成系統(tǒng),操作簡單,數據可移植性強,,優(yōu)于目前普遍使用的報表生成系統(tǒng);同時,,在程序設計中添加了報警功能,為工況現場的安全性和可靠性提供了保障,。

參考文獻

  [1] 楊樂平等.LabVIEW高級程序設計.北京:清華大學出版社,,2003.

  [2] 石博強等.LabVIEW編程技術實用教程.北京:中國鐵道出版社,2002.

  [3] 趙海龍.給LabVIEW中的對象添加自動打印功能[J].微計算機信息,2001,17(12):32-34.

  [4] 雷振山.LabVIEW7Express實用技術教程.北京:中國鐵道出版社,2005.

此內容為AET網站原創(chuàng),,未經授權禁止轉載。