基于串口實現(xiàn)LabVIEW與PLC的無線通信
3.2 LabVIEW 與PLC 的串口通信
利用串口實現(xiàn) LabVIEW 與PLC 之間通信的常用方法一般有兩種,第一種方法是利用VISA 進行串口通信。VISA 是應用于儀器編程的標準I/O 應用程序接口,它本身并不具有儀器編程能力,VISA 是調(diào)用底層驅(qū)動器的高層API。第二種方法是利用標準串口通信函數(shù)進行串口通信。LabVIEW 中提供了幾個標準的串口通信函數(shù),包括串口初始化函數(shù)、數(shù)據(jù)寫入串口函數(shù)、從串口讀出數(shù)據(jù)函數(shù)以及關閉端口函數(shù)等。這兩種方法雖然都可是實現(xiàn)LabVIEW 與PLC 的串口通信,但是前提是程序設計人員必須充分熟悉串口通信的工作原理及LabVIEW 的程序編寫,并且還需要設置相關的參數(shù)以及出錯處理等,保證串口通信正常進行,程序編制過程相對比較復雜。
實際上,LabVIEW 本身就帶有“Instrument I/O Assistant”,這個I/O 助手可幫助程序設計人員輕松完成串口通信相關參數(shù)的設置,并實現(xiàn)與相關設備的串口通信。下面就以LabVIEW 與PLC 的串口通信為例說明如何利用I/O 助手實現(xiàn)串口通信。
I/O 助手可以選擇不同的設備端口,設定延遲時間以及定義接收和發(fā)送時結(jié)尾字符。由于LabVIEW 與PLC 的串口通信是應答式的,并且設計中以LabVIEW 為主動,PLC 為被動,所以在“Select Instrument”中要先選擇加入“Write”,并將其輸入的字符串命名為input,用以存放給串口的寫入命令,來對PLC 進行讀或?qū)懀缓筮x擇加入“Read and Parse”,并將其輸出的字符串命名為output,用以存放串口中的返回數(shù)據(jù)。設置好的設置界面如圖2 所示。
松下公司的 PLC 串口通信格式是采用MEWTOCOL 協(xié)議,所以還要根據(jù)其協(xié)議格式來組織輸入的命令字符串以及分解串口返回的字符串。以向PLC 中寫數(shù)據(jù)為例,如果要向PLC的DT600 到DT603 四個數(shù)據(jù)單元中分別寫入數(shù)據(jù)100、200、300、400,則輸入字符串,即控制命令字符串應為“%01#WD00600006036400C8002C019001CR”,其中CR 為校驗碼,控制命令字符串中的4 個數(shù)據(jù)項應當都為16 進制數(shù)據(jù)。命令字符串的組成可以通過LabVIEW提供的相關函數(shù)來完成,如圖3 所示。
評論