基于LabVIEW的數控機床網絡測控系統--網絡通信關鍵技術研究 1
DataSocket API提供獨立的接口,用于不同的語言平臺內部多種數據類型的通讀。在LabVIEW中,DataSocket API被制作成ActiveX控件和一系列功能VI(Virtual Instrument),用戶可以方便地使用。一般由服務器進行數據采集,根據需要將測量地數據寫入DataSocket數據公共區,然后客戶端通過網絡充數據公共區讀取所需地測量數據。DataSocket API包含有Open、Read、Write和Close等函數,其中的Read和Write函數又分為單個或數組形式的字符串型、布爾型、數值型和波形等多種類型。DataSocket技術可在C語言、VB和LabVIEW等多種開發環境中應用。
(2)DataSocket資源定位本文引用地址:http://www.104case.com/article/201702/338494.htm
DataSocket對外提升資源定位接口和功能調用接口,通過同意資源定位符(URL)對數據的傳輸目的地進行定位,讀數據時為源地址,寫數據時為宿地址。在資源定位符中標明數據的傳輸協議、網絡計算機標志和數據緩沖區變量。DataSocket支持多種數據傳送協議,不同的URL前綴表示不同的協議或數據類型。主要包括:
①DSTP(DataSocket Transfer Protocol):DataSocket的專門通信協議,可以傳輸各種類型的數據,當使用這個協議時,VI與DataSocket Server連接,用戶必須為數據提供一個附加到URL的標識Tag,DataSocket連接利用Tag在DataSocket Server上為一個特殊的數據項目指定地址,目前應用虛擬儀器技術組建的測量網絡大多采用該協議;
②HTTP(Hyper Text Transfer Protocol,超文本傳輸協議);
③FTP(File Transfer Protocol,文件傳輸協議);
④OPC(OLE for Process Control,操作計劃和控制);特別為實時產生的數據而涉及,例如工業自動化操作而產生的數據。要使用該協議,須首先運行OPC Server;
⑤Fieldpoint,Logos,Lookout:分別為NI FieldPoint模塊,LabVIEW數據記錄與監控(DSC)模塊及NI Lookout模塊的通信協議;
⑥File(local file servers,本地文件服務器);可提供一個到包含數據的本地文件或網絡文件的連接。
(3)DataSocket網絡通信實現途徑
在LabVIEW中運用DataSocket技術實現網絡通信有兩種途徑:前面板控件屬性直接連接和利用DataSocket VI編程。具體實現方式見下圖4.8所示:
用DataSocket在數據發送端首先形成具有一定規律的數據流,再用DataSocket控件的寫操作把這些數據傳輸到DataSocket服務器,在各客戶端用讀操作從服務器獲取數據流,然后對數據流進行解析并恢復為原始信息在客戶端形成的響應。這樣就實現協同工作的基本流程。整個應用分成“寫”和“讀”兩個模塊。
寫模塊的核心時DataSocket write vi.它在工作前需要用戶指定數據宿的URL地址。
VI每次從上一步程序接收數據后形成數據包并送到目標地址。在數據傳送過程中,寫端計算機的DataSocket Server會實時監視網絡連接和數據傳送情況。“寫”模塊選擇條件為“True”時的程序,詳見圖4.8.
讀模塊起核心作用的時DataSocket Read vi,其數據源的URL地址須與數據宿的URL地址相同,要注意接收的數據類型與寫端輸出的數據類型一致。讀端計算機也會運行DataSocket Server來監視網絡接收和數據接收情況。“讀”模塊程序詳見圖4.9.
有時網絡擁塞會使數據傳送周期變長,可以在程序的循環中設置等待時間(ms),本應用寫端和讀端分別設計為1000和100.在實際現場應用時,應盡量有專用的傳送線路,一面網絡擁塞時發生數據丟失。DataSocket Server讀取的數據可以做進一步的處理,并存儲起來以供調用。
評論