引言
隨著網絡技術的發展,網絡控制技術越來越引起大家的重視。網絡控制系統是將計算機網絡技術和自動化控制技術結合起來,從而實現網絡控制。
網絡控制系統集機床技術、控制技術、通信技術、檢測技術、圖像技術、計算機軟件技術、網絡技術等于一體,通過Internet/Intranet對機床進行遠程監控,可以使機床具有更大的柔性和可控性。網絡控制技術作為一種新興技術,已經引起了許多科研單位的廣泛關注[1~3],多種類型的網絡控制技術正在得到研究和開發,有的基于Web通訊平臺[4~6],有的利用Socket技術,還有的基于CORBA中間件技術等等,這必將給制造業的發展帶來一場有意義的變革。
本文介紹筆者開發的數控機床的網絡控制系統。該系統以Windows2000為開發平臺,用VisualC++工具開發,采用WindowsSockets,實現了在局域網內對機床的實時監控功能。
1、TCP/IP網絡通信的實現
1.1TCP/IP簡介
所謂TCP/IP只是一個簡稱,分別指網絡協議IP(InternetProtocol)及傳輸控制協議TCP(TransmissionControlProtocol),是國際互聯網技術中兩個非常重要的通訊協議,適用于任何一組互聯網絡上的通訊。
TCP/IP的結構將網絡分成四個層次,分別是應用層、傳輸層、網絡層和數據鏈路層。這將國際標準組織(ISO)制定的開放系統互聯參考模式(OSI)的七層傳輸參考模式中的一些層面合并,二者之間映射關系如圖1所示。
圖1 TCP/IP與OSI結構模型的映射關系
1.2WindowsSockets簡介
基于TCP/IP的網絡通信可以通過WindowsSockets來實現。套節字(socket)是一種通用的網絡編程接口,它是對通信端點的一種抽象,提供了一種發送和接收數據的機制。
套節字目前有兩種:數據報套節字(DatagramSockets)和流式套節字(StreamSockets)。我們采用流式套節字,因為流式套節字可以將數據按順序無重復地發送到目的地,它提供的是一種可靠的面向連接的數據傳輸方式。
[$page] WindowsSockets提供給引用程序開發者一套簡單的應用程序接口,應用程序調用其接口函數實現相互之間的通信。此外WindowsSockets又利用下層的網絡通訊協議(如TCP/IP)功能和操作系統實現實際的通訊工作。它們之間的關系如圖2所示。
圖2 應用程序與Sockets的關系
1.3流式套節字的使用方法
流式套節字的使用方法是基于連接的協議,在傳輸、接收數據之前必須先建立連接,然后才能從數據流中讀出數據。
首先服務器要創建一個用于偵聽的套節字,為該套節字分配地址之后,調用listen()函數使它處于偵聽狀態;客戶機在創建套節字完畢后,為套節字分配地址,然后調用connect()函數,請求與服務器套節字連接;服務器套節字在收到客戶機的連接請求后,調用accept()函數,該函數創建一個用于連接的套節字。應用該套節字和客戶機上的連接套節字,就可以在服務器和客戶機之間進行數據傳輸了。在結束傳輸之后,雙方調用closesocket()函數關閉套節字。其使用方法如圖3所示。
圖3 流式套節字通信流程
2、網絡控制系統的實現
2.1網絡控制系統原理
網絡控制系統軟件運行在客戶機上,客戶機通過局域網和服務器連接。機床的數控系統在服務器中運行,首先啟動服務器的本機數控系統,進行初始設置后,進入網絡控制狀態,打開偵聽套節字,等待客戶機的連接請求,待收到客戶機的連接請求后,對聯機信息進行驗證,如果符合聯機條件,則和客戶機建立連接,雙方可以互相發送和接收信息或指令。服務器的數控系統在網絡控制狀態下可以利用CCD實時采集機床加工狀態圖像和參數,將圖像以位圖格式保存并定時發送到客戶機顯示加工狀態,將