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