霍海波
(三門峽職業技術學院,河南 三門峽 472000)
LabVIEW 是一種程序開發環境,主要用于虛擬儀器軟件開發,試用的領域為計算機方面,它的所屬公司為美國國家儀器(NI)公司,它的開發環境類似于C 和BASIC,它運用的計算機語言為圖形化編輯語言G,編寫的程序以框圖形式展現,與大部分運用文本語言編寫出的代碼有很大不同。在運用LabVIEW 進行多路數據采集系統開發設計時,通常會使用數據采集板卡,可是由于開發周期較長,為了節約成本,所以可以采用成本更為低廉的單片機,并且單片機相對于數據采集板卡采集和傳輸數據更快,具體設計內容如下。
多路數據采集系統主要包含兩部分內容,上位機和下位機,上位機運用LabVIEW,下位機處放置單片機,無論是上位機還是下位機都需要硬件設計,但是上位機對硬件要求較低,使用普通PC 就可以,下位機需要具體進行設計,設計時主要包含信息收集模塊、微型控制器、RS232 串行通訊模塊三個板塊的內容,多路數據采集系統的具體系統原理如圖1 所示。

圖1 系統原理圖
信息收集模塊包含多部分的內容,主要為信號傳輸和數據預處理,在行業上一般會選擇信息收集電路利用單獨電子元件,進行搭建或者采用系統內部控制器的A/D 功能進行設計。本次設計主要是基于系統內部控制器的A/D 功能進行設計,即通過多路模擬信號傳感器,計算放大器電流,將加強后的信號通過A/D 轉換進行電壓的供應。
通過具體的設計以及對微型控制器性能的需求,可以選擇STC12C5A60S2 單片機構建下位機的硬件部分,這個型號的單片機主要是功能比較多,不僅具有機械周期/單時鐘功能,而且具備計算器、定時等功能,可以滿足本次設計的需要。
RS232 串行通信模塊的作用是連接上位機與下位機之間的紐帶,使上位機與下位機能夠信息互通。輸入或者輸出數據時,需要確認邏輯1 和邏輯0 以及電平的數值。在串行接口協議下,RS232 信號強弱之間的差距會比較大,所以電壓范圍也會比較大,邏輯1 為-15 ~-5V 之間,我們可以設置為-10V,邏輯0 為+5 ~+15V 范圍內,我們可以選擇為+10V,因此TL 電平也需轉換為RS232 電平,添加MAX232E芯片即可實現轉變。
如果要確保上位機和下位機之間的通信切實有保障,那么需要自制RS232 通信協議,約定好其中對通信有影響的要素,如波特率、停止位、數據類型、數據標識等。本文設計的RS232 通信協議主要內容如下。
(1)基本通信數據格式。首先設計基本數據項,波特率為115200,數據位共8 位,數字1 是停止位,通過N 進行奇偶校驗。上位機要將完整的通信命令按照正確的格式傳到下位機,保證參數設置的準確性,然后進行數據采集,0X55+OXA5 為數據開始進行收集,下位機的參數由7 個字節構成,整個字節部分可以體現整個數據塊的大小,0XCC 為數據采集結束,此命令由上位機發給下位機進行執行。
(2)采集數據格式。下位機主要進行數據采集的工作,每次收集到數據都需要將其傳輸給上位機,傳輸時對格式具有一定的要求,需要按照高字節+低字節的形式進行,我們可以先按照20S 的時間間隔進行設計,如果有在實際使用中,不合適,可以按照實際的需要進行調整,從而保證、提高數據采集的效率。
下位機單片機軟件設計主要包含三方面的內容,具體為:(1)數據采集功能模塊設計,主要應用STC 單片機的A/D轉換功能進行實現,它可以采集到外部多路模擬量的數據。(2)RS232 數據通信功能模塊設計,下位機接收上位機的通信命令,下位機通過查詢功能將上位機需要的數據傳輸回去,此功能實現的基礎是RS232 通信協議約定。(3)系統主程序功能模塊,標志Recflag 由串行中斷接收,查詢并處理標志Recflag 為此模塊主要功能。
上位機將數據采集命令傳輸給下位機,下位機按照指令進行執行,將指定的數據傳回給上位機,這整個過程都離不開LabVIEW 軟件的支持,在上位機 LabVIEW 前面板程序中,它的主要功能結構有:(1)串口通信參數設置模塊,是上位機和下位機進行通信的關鍵,RS232 通信參數設置也在此處。(2)下位機參數設置,該模塊主要用于在下達數據采集指定前進行的相關參數設置,如果數據采集模擬量為4 路,則通道數需要擴展時,可以將4 路作為基礎,一旦超過限定值就會出現警報,則可以根據警示進行處理問題即可。(3)運行控制選項,主要是下位機的數據采集工作的控制,比如開始或終止、數據存儲等。(4)實時數據顯示,將采集通道處的數據進行實時的展現,以便了解采集情況。(5)實時曲線顯示,將采集通道的數據以曲線方式展現出來。
2.3.1 串行通信功能模塊
串行通信需求的集成模塊位于InstrumentI/O>serial目錄當中,此目錄在LabVIEW 功能面板中,串行通信功能模塊可以用于測控系統的設計,而且非常方便。本系統設計過程中,需使用的串行通信模塊包含以下幾種:(1)初 始 化 采 用VISAonfigUreSerialPort 口 令;(2)向VISAresourcename 指定的串行接口處填寫writebuffer字符時采用VISAwrite;(3) 規定字節數的數據在VISAresourcename 指定的串行接口讀取時采用VISARead;(4)VISAresourcename 指定的串行接口關閉時采用VISAClose。
2.3.2 實時數據處理及顯示功能模塊
下位機開始采集到數據后,就需要對數據進行處理,并將處理的結果進行實時展現,通過波形圖和數值的形式進行多方位的展示。
2.3.3 下位機參數設置功能模塊
進行參數設置可以通過兩種方法,一種是直接進行固定值的輸入,一種是將預先設置參數值,至于選擇什么方法,沒有特定的要求,用戶根據自己的需要進行選擇即可。但是,預先設定參數值法更加便捷,本次設計就是使用的這種方法,進行參數值預先設定,并非輸入的是具體數值,而是相應的參數序號,下位機可以識別參與序號,通過參數序號然后進行具體數值的查詢匹配,這種方法可以減少通訊數據的整體長度和大小,使程序更加簡單,減少了運行數據,提升了數據查詢的效率,這是因為如果設定值大于255 時,上位機需要通過兩個字節來進行數據上傳完成參數設置,依據HEX 格式,通過索引數組,然后利用VISAWrite 函數,向下位機發送參數。
2.3.4 運行控制選項功能模塊
該模塊通過事件驅動來實現運行控制,運用VI 程序進行編寫制作。
近幾年來,信息網絡、計算機技術發展迅速,給人們的生產和生活帶來了很大的改變,人們越來越多地關注各類數據的分析和應用,信息的收集和處理分析越來越重要,因次,各類數據收集處理軟件應運而生。
通過文章設計可知,使用單片機和LabVIEW 進行多路數據采集系統設計,能夠完美地實現上位機和下位機之間的通信,可以大大地提高軟件開發的速度,并且節約了一定的成本,同時經過處理的數據準確、完整,并且顯示界面清晰、美觀,控制能力較強,應用前景廣闊,值得在電子計算機工業設計中推廣。