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