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