◇樂山師范學院電子信息與材料學院 張幼麟
上位機直接面對用戶,進行數據的分析處理;而Labview是編寫上位機程序的一個簡單有效的平臺。本文簡單介紹了Labview中上位機采用的通信方式,并以采用串口通信方式的一個溫度采集上位機程序為例說明了在Labview中上位機的實現。
當今社會,計算機已經融入我們生產生活的各個角落,尤其在現場控制領域,利用計算機與用戶進行信息溝通、控制現場已經是基本配置,所以在計算機上的控制平臺的設計是必不可少的一個環節。上位機就是這樣具有良好的用戶界面,能收集信息,監控現場,并發出控制命令的計算機。
現在市場上普及的微型計算機一般是PC機,在其操作系統(windows系列)上運行的上位機程序可由開發者自己編程定制或用Labview來實現;對于缺乏編程經驗的開發者來說,利用Labview來實現上位機程序的設計是一個不錯的選擇。Labview是圖形化編程語言,可以進行虛擬儀器的設計,非常適合于具有專業知識但并沒有太多編程知識的工程師。
運行在計算機上的上位機程序需要具有以下功能:能采集各個下位機上傳的數據,對數據進行整理分析,按照用戶要求針對不同的數據結果發出不同的控制命令。數據的采集與命令的下發都需要通過有線或無線的通信方式來實現;所以,通信是上位機的一個基礎必需的功能。Labview支持的通信方式有:串口通信、TCP/IP網絡通信和DataSocket等通信技術。其中,DataSocket是Labview專用的通信技術,它利用Labview自帶的服務器進行數據通信;而串口和TCP/IP網絡通信是兩種市場上常用的通信方式。
串口通信線路簡單,控制容易,并且很多下位機自帶有串口控制模塊(比如51單片機);是一種經常被采用的通信方式。Labview針對串口通信提供了專門功能選板,可對串口進行系統配置、讀寫操作和設置緩沖區。
互聯網是現在覆蓋最廣,市場占有最大的網絡,通過它可以方便的實現遠程監控。互聯網的協議基礎是TCP/IP,而Labview內嵌了TCP/IP網絡通信協議簇,對于互聯網的兩種典型通信方式:面向連接的TCP通信和無連接的UDP數據包通信,Labview都支持。Labview在數據通信的協議模塊中有TCP和UDP兩個獨立的功能面板,通過它們可以簡單方便的進行TCP偵聽、建立TCP連接、或者打開UDP,進行數據的通信傳遞。
本文將采用串口通信方式實現一簡單的上位機控制程序。在本范例中,收集數據的下位機為51系列單片機,它和上位機通過串口采用異步通信的方式進行數據通信,按照上位機的命令將傳感器收集到的溫度信息傳遞給上位機,由上位機來對數據進行分析匯總繪圖處理。
本例子的操作面板由三部分組成:串口參數設置,控制命令平臺(接收數據開關、需要讀取數據數量的設置),接收到的數據及數據的分析圖表顯示(如圖1所示)。整個系統的程序為一循環結構,開始后一直自動運行,只有當用戶按下停止鍵才能退出。系統的界面設計、數據分析處理、文件存儲及圖形展示這些功能都可以用Labview平臺提供的強大的專業功能模塊來實現。

圖1 范例操作面板
上位機數據信息的采集一般有2種方式來實現:①下位機自動定時向上位機發送數據;②下位機接收到上位機命令后再發送數據。在此例中采用方法2,當上位機發出接收數據的命令后下位機再發送數據。當用戶設置好串口參數(必須與下位機的單片機串口工作狀態一致),輸入需要獲得的溫度數量,并且按下接收溫度的開關,即是向下位機發出了發送數據的命令。而作為下位機的單片機收到這條消息后就按照消息的要求發出現場采集到的溫度信息。經過用戶設置的延時等待后,上位機讀取緩沖區中剛才接收到的數據,再將數據按要求存儲到相應的文件中,并把它們分析處理,以圖形的形式展示到面板上,進行直觀展示,便于用戶研究。
計算機已經普及到生活的方方面面,現代社會對它有著強烈的依賴性,在工業現場控制中必須要有運行在計算機上的上位機程序與用戶進行對接。本文通過例子介紹了Labview中上位機的通信及設計應用。