LabVIEW是一種程序開發環境,由美國國家儀器(NI)公司研制開發,類似于C和BASIC開發環境,但是LabVIEW與其他計算機語言的顯著區別是:其他計算機語言都是采用基于文本的語言產生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。 LabVIEW軟件是NI設計平臺的核心,也是開發測量或控制系統的理想選擇。 LabVIEW開發環境集成了工程師和科學家快速構建各種應用所需的所有工具,旨在幫助工程師和科學家解決問題、提高生產力和不斷創新。
LabVIEW-串口通信
串行接口 (Serial Interface) 是指數據按位順序地進行傳輸,發送設備和接收設備只需要一對傳輸線路即可實現雙向互連通信,其特點是通信線路簡單、成本低,距離遠,速度較慢。
根據串行信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。
串口通信的兩種最基本的方式,同步串行通信方式SPI(Serial Peripheral interface)和異步串行通信方式UART(Universal Asynchronous Receiver/Transmitter),UART包含TTL電平的串口和RS232電平的串口。其中, TTL電平是3.3V的,而RS232是負邏輯電平,它定義+5~+12V為低電平,而-12~-5V為高電平。
串行接口按電氣標準及協議來分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422與RS-485標準只對接口的電氣特性做出規定,不涉及接插件、電纜或協議。
LabVIEW與串行設備通信前,需要安裝National Instrument公司的VISA驅動,并提供了串口通信范例。
工具/原料
LabVIEW
Visa驅動
實現過程
1 VISA是虛擬儀器軟件體系結構的縮寫(即Virtual Instruments Software Architecture),實質上是一個I/O口軟件庫及其規范的總稱。
VISA是應用于儀器編程的標準I/0應用程序接口,是工業界通用的儀器驅動器標準API(應用程序接口),采用面向對象編程,具有很好的兼容性、擴展性和獨立性。用戶可用一個API控制包括VXI、GPIB及串口儀器在內的不同種類的儀器。它還支持多平臺工作、多接口控制,是一個多類型的函數庫。
2 在LabVIEW中編寫的VISA接口程序(需要提前安裝對應labVIEW版本的VISA驅動),當外部設備變更時,只需要更換幾個程序模塊即可使用,簡單方便而且開發效率高。
3 在LabVIEW 中利用VISA節點進行串行通信編程。為了方便用戶使用,LabVIEW將這些VISA節點單獨組成一個子模塊,共包含8個節點(程序框圖-查看-函數選板-儀器I/O-串口),分別實現VISA串口配置、VISA寫入、VISA讀取、VISA關閉,VISA串口字節數,VISA串口中斷,VISA設置I/O緩沖區大小,VISA清空I/O緩沖區域;
4VISA串口配置:該節點主要用于串口的初始化,如圖所示。
啟用終止符(接線端):使串行設備做好識別終止符的準備。 如值為TRUE(默認),VI_ATTR_ASRL_END_IN屬性設置為識別終止符。如值為FALSE,VI_ATTR_ASRL_END_IN屬性設置為0(無)且串行設備不識別終止符。
終止符(接線端):通過調用終止讀取操作。從串行設備讀取終止符后讀取操作終止。 0xA是換行符(\n)的十六進制表示。消息字符串的終止符由回車(\r)改為0xD。
超時(接線端):指定讀/寫操作的時間,以毫秒為單位。 默認值為10000。
VISA資源名稱(接線端):指定要打開的資源,如PC的COM1,COM2等。VISA資源名稱控件也可指定會話句柄和類。
波特率(接線端):是傳輸速率。 默認值為9600。
數據位(接線端):是輸入數據的位數。 數據位的值介于5和8之間。默認值為8。
奇偶(接線端):指定要傳輸或接收的每一幀使用的奇偶校驗。 該輸入支持下列值。
錯誤輸入(接線端):表明節點運行前發生的錯誤。該輸入將提供標準錯誤輸入功能。
停止位(接線端):指定用于表示幀結束的停止位的數量。 該輸入支持下列值。流控制設置傳輸機制使用的控制類型。 該輸入支持下列值。
VISA資源名稱輸出(接線端):是由VISA函數返回的VISA資源名稱的副本。
錯誤輸出(接線端):包含錯誤信息。該輸出將提供標準錯誤輸出功能。
5VISA寫入:使寫入緩沖區的數據寫入VISA資源名稱指定的設備或接口。
VISA資源名稱(接線端):指定要打開的資源。VISA資源名稱控件也可指定會話句柄和類。
寫入緩沖區(接線端):包含要寫入設備的數據。
錯誤輸入(接線端):表明節點運行前發生的錯誤。該輸入將提供標準錯誤輸入功能。
VISA資源名稱輸出(接線端):是由VISA函數返回的VISA資源名稱的副本。
返回數(接線端):包含實際寫入的字節數。
錯誤輸出(接線端):包含錯誤信息。該輸出將提供標準錯誤輸出功能。
6VISA串口字節數:返回指定串口的輸入緩沖區的字節數。
Number of Bytes at Serial Port屬性(接線端):可指定該會話句柄使用的串口的當前可用字節數。
7VISA讀?。簭腣ISA資源名稱指定的設備或接口中讀取指定數量的字節,并使數據返回至讀取緩沖區。
VISA資源名(接線端):稱指定要打開的資源。VISA資源名稱控件也可指定會話句柄和類。
字節總數(接線端):是要讀取的字節數量。
錯誤輸入(接線端):表明節點運行前發生的錯誤。該輸入將提供標準錯誤輸入功能。
VISA資源名稱輸出(接線端):是由VISA函數返回的VISA資源名稱的副本。
讀取緩沖區(接線端):包含從設備讀取的數據。
返回數(接線端):包含實際讀取的字節數。
錯誤輸出(接線端):包含錯誤信息。該輸出將提供標準錯誤輸出功能。
8VISA關閉:該節點主要用于關閉已打開的串口,釋放串口資源,以便串口被其他程序所調用,如圖所示。
VISA資源名稱(接線端):指定要打開的資源。VISA資源名稱控件也可指定會話句柄和類。
錯誤輸入(接線端):是節點運行前發生的錯誤。在下列情況下,該輸入可作為標準錯誤輸入。 即使在節點運行前發生錯誤,節點仍正常運行。
錯誤輸出(接線端):包含錯誤信息。該輸出將提供標準錯誤輸出功能。
9VISA設置I/O緩沖區大小 :設置I/O緩沖區大小。如需設置串口緩沖區大小,須先運行VISA配置串口VI。
VISA資源名(接線端):稱指定要打開的資源。VISA資源名稱控件也可指定會話句柄和類。
屏蔽(接線端):指明要設置大小的緩沖區。 (I/O接收緩沖區,I/O傳輸緩沖區,I/O接收和傳輸緩沖區)
大?。ń泳€端):指明I/O緩沖區的大小,以字節為單位。大小應略大于要傳輸或接收的數據數量。如在未指定緩沖區大小的情況下調用該函數,函數可設置緩沖區大小為4096字節。如未調用該函數,緩沖區大小取決于VISA和操作系統的設置。
錯誤輸入(接線端):表明節點運行前發生的錯誤。該輸入將提供標準錯誤輸入功能。
錯誤輸出(接線端):包含錯誤信息。該輸出將提供標準錯誤輸出功能
10VISA清空I/O緩沖區:清空由屏蔽指定的I/O緩沖區。
VISA資源名稱(接線端):指定要打開的資源。VISA資源名稱控件也可指定會話句柄和類。
屏蔽(接線端):指明要刷新的緩沖區。 該輸入支持下列值【1,清空接收緩存區域;2,向設備寫入傳輸緩存區域;3,清空接收緩沖區并放棄內容(設備不執行任何I/O);4,清空傳輸緩沖區域】。
錯誤輸入(接線端):表明節點運行前發生的錯誤。該輸入將提供標準錯誤輸入功能。
VISA資源名稱輸出(接線端):是由VISA函數返回的VISA資源名稱的副本。
錯誤輸出包含錯誤信息。該輸出將提供標準錯誤輸出功能。
11VISA串口中斷 VI:發送指定端口上的中斷。通過連線數據至VISA資源名稱輸入端可確定要使用的多態實例,也可手動選擇實例。
VISA資源名稱(接線端):指定要打開的資源。VISA資源名稱控件也可指定會話句柄和類。
持續時間(接線端):指定中斷的長度,以毫秒為單位。 VI運行時,該值暫時重寫VISA Serial Setting:Break Length屬性的當前設置。此后,VI將把當前設置返回到初始值。
錯誤輸入(接線端):表明節點運行前發生的錯誤。該輸入將提供標準錯誤輸入功能。
VISA資源名稱輸出(接線端):是由VISA函數返回的VISA資源名稱的副本。
錯誤輸出(接線端):包含錯誤信息。該輸出將提供標準錯誤輸出功能。
范例
在LabVIEW 中,進行串口通信的基本步驟分為3步:
第一:串口初始化,利用Visa Configure Serial Port.vi節點設定串口的端口號、波特率、停止位、校驗位、數據位。
第二:讀寫串口,根據需要利用Visa Write節點和Visa Read節點對串口進行讀寫(寫入指令和讀取指令之間加入適當的延遲)。
第三:關閉串口,停止所有讀寫操作。
labview與485通訊
LabVIEW下面互連接口,VISA里面就有模塊,初始化串口,寫入串口、讀取串口等,按操作流程做就可以。
LabVIEW是一種程序開發環境,由美國國家儀器(NI)公司研制開發,類似于C和BASIC開發環境,但是LabVIEW與其他計算機語言的顯著區別是:其他計算機語言都是采用基于文本的語言產生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。 LabVIEW軟件是NI設計平臺的核心,也是開發測量或控制系統的理想選擇
評論
查看更多