時間:2008-10-09 10:37:00來源:dujing
隨著網(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)控,可以使機床具有更大的柔性和可控性。國內(nèi)外許多學者已經(jīng)對網(wǎng)絡控制系統(tǒng)進行了研究和開發(fā),有的基于Web通訊平臺 ,有的以Windows為開發(fā)平臺,用VC++工具,采用Windows Sockets技術(shù),還有的基于CORBA中間件技術(shù)等等。
本文采用Java Sockets技術(shù)來實現(xiàn)通過網(wǎng)絡對機床的實時監(jiān)控功能。
1、Java簡介
對于通用網(wǎng)絡編程語言來說,三個必要的支柱是:可移植性、速度和安全性。圖1表示了Java和其他語言進行比較的結(jié)果。
圖1 JAVA和其他語言比較
由上圖可以看出Java語言在各方面表現(xiàn)都比較均衡的,通過以上的比較和分析得知無論是從長遠的發(fā)展和目前的需求來看,使用Java語言都是一個正確的選擇。網(wǎng)絡控制系統(tǒng)作為一個在網(wǎng)絡環(huán)境下開發(fā)和使用的程序,它必須具有良好的通用性、跨平臺性、穩(wěn)定性和安全性。使用Java語言來實現(xiàn)網(wǎng)絡編程,能夠滿足其在各個方面的需要。
Java提供了兩種功能強大的網(wǎng)絡支持機制:URL訪問網(wǎng)絡資源的類和用Socket通訊的類,來滿足不同的要求。一是URL用于訪問Internet網(wǎng)上資源的應用;另一種是針對client/server(客戶端/服務器)模式的應用以及實現(xiàn)某些特殊的協(xié)議的應用,它的通訊過程是基于TCP/IP協(xié)議中傳輸層接口socket實現(xiàn)的。
1.1 TCP/IP協(xié)議
所謂TCP/IP只是一個簡稱,分別指網(wǎng)絡協(xié)議IP(Internet Protocol)及傳輸控制協(xié)議TCP(Transmission Control Protocol),是國際互聯(lián)網(wǎng)技術(shù)中兩個非常重要的通信協(xié)議,適用于任何一組互聯(lián)網(wǎng)絡上的通訊。并且組建以TCP/IP為網(wǎng)絡的成本相對較少,以 TCP/IP組建的網(wǎng)絡也較為彈性。TCP/IP體系結(jié)構(gòu)是專門用來描述TCP/IP 協(xié)議族的,TCP/ IP 的結(jié)構(gòu)將網(wǎng)絡分成四個層次,分別是應用層、傳輸層、網(wǎng)絡層和數(shù)據(jù)鏈路層。
1.2 Java sockets簡介
套接字( socket )是一種通用的網(wǎng)絡編程接口,它是對通信端點的一種抽象,提供了一種發(fā)送和接收數(shù)據(jù)的機制。套接字目前有兩種: 數(shù)據(jù)報套接字( Datagram Sockets) 和流式套接字(Stream Sockets) 。我們采用流式套接字,因為流式套接字可以將數(shù)據(jù)按順序無重復地發(fā)送到目的地,它提供的是一種可靠的面向連接的數(shù)據(jù)傳輸方式。
1.2.1 流式套接字的使用方法
流式套接字的使用方法是基于連接的協(xié)議,在傳輸、接收數(shù)據(jù)之前必須先建立連接,然后才能從數(shù)據(jù)流中讀出數(shù)據(jù)。首先服務器要創(chuàng)建一個用于偵聽的套接字,為該套接字分配地址之后,調(diào)用listen ( ) 函數(shù)使它處于偵聽狀態(tài); 客戶機在創(chuàng)建套接字完畢后,為套接字分配地址,然后調(diào)用connect () 函數(shù),請求與服務器套接字連接; 服務器套接字在收到客戶機的連接請求后,調(diào)用accept () 函數(shù),該函數(shù)創(chuàng)建一個用于連接的套接字。應用該套接字和客戶機上的連接套接字,就可以在服務器和客戶機之間進行數(shù)據(jù)傳輸了。在結(jié)束傳輸之后,雙方調(diào)用 closesocket ( ) 函數(shù)關閉套接字。其使用方法如圖2所示。
圖2 Java Stream Sockets 的通信流程圖
2、網(wǎng)絡控制系統(tǒng)的實現(xiàn)
2.1 網(wǎng)絡控制系統(tǒng)原理
網(wǎng)絡控制系統(tǒng)軟件運行在客戶機上,客戶機通過Intranet/Internet和服務器連接。機床的數(shù)控系統(tǒng)在服務器中運行,首先啟動服務器的本機數(shù)控系統(tǒng),進行初始設置后,進入網(wǎng)絡控制狀態(tài),打開偵聽套節(jié)字,等待客戶機的連接請求,待收到客戶機的連接請求后,對聯(lián)機信息進行驗證,如果符合聯(lián)機條件,則和客戶機建立連接,雙方可以互相發(fā)送和接收信息或指令。服務器的數(shù)控系統(tǒng)在網(wǎng)絡控制狀態(tài)下可以利用攝像頭實時采集機床加工狀態(tài)圖像和參數(shù),將圖像以位圖格式保存并定時發(fā)送到客戶機顯示加工狀態(tài),將狀態(tài)參數(shù)實時發(fā)送到客戶機;服務器和客戶機之間也可以通過超級語音或網(wǎng)絡對講機進行語音交流。在客戶機的遠程控制系統(tǒng)軟件中可以編輯數(shù)控加工代碼,然后將數(shù)控代碼傳遞到服務器中,并下載到PMAC 上等待控制指令。從客戶機向服務器發(fā)送機床加工控制指令,控制機床運轉(zhuǎn),同時接收服務器發(fā)送的信息,動態(tài)監(jiān)視機床加工情況。通過遠程控制程序,客戶機還可在線修改機床加工參數(shù),并能調(diào)試機床。
2.2 網(wǎng)絡控制系統(tǒng)硬件結(jié)構(gòu)
本文設計了一套NC嵌入PC 型的開放式數(shù)控系統(tǒng)。系統(tǒng)的控制軸數(shù)為3軸,聯(lián)動軸數(shù)為2軸,本系統(tǒng)以工業(yè)PC作為主機,CNC的內(nèi)核采用美國DELTATAU公司推出PMAC- LITE型可編程多軸運動控制器,PC 上的CPU與PMAC卡的CPU構(gòu)成主從式雙微處理器結(jié)構(gòu),兩個CPU各自實現(xiàn)相應的功能,其中PMAC完成插補運算、位置控制、刀補、速度處理以及 PLC等實時控制;PC則通過調(diào)用Pcomm32包函數(shù)庫里的相應功能函數(shù),實現(xiàn)數(shù)控系統(tǒng)的基本功能。為了實現(xiàn)PMAC多軸運動控制的功能,還需在 PMAC板上擴展相應的I/O板、伺服驅(qū)動單元、伺服電機、編碼器等,最終形成一個完整的控制系統(tǒng)。網(wǎng)絡系統(tǒng)采用"服務器+ 客戶機"方式,數(shù)控系統(tǒng)運行在服務器上,網(wǎng)絡控制軟件運行在客戶機上,服務器和客戶機通過網(wǎng)卡和通信電纜連接在Intranet/ Internet 上,數(shù)控機床上安裝CCD 攝像頭,用來監(jiān)視機床加工情況,并通過圖像采集卡,將機床的運轉(zhuǎn)情況實時采集保存;服務器和客戶機PC上均設置語音功能,以便二者通過對話能更好的交流。該系統(tǒng)硬件結(jié)構(gòu)如圖3 所示。
圖3 網(wǎng)絡控制系統(tǒng)硬件結(jié)構(gòu)圖
2.3 網(wǎng)絡控制系統(tǒng)軟件設計
友好的人機界面對于任何控制系統(tǒng)是不可缺少的。本系統(tǒng)界面設計采用Windows 編程中的分隔視技術(shù),將數(shù)控系統(tǒng)人機界面分成二個子窗口。左邊的窗口為圖像顯示窗口,實現(xiàn)機床加工過程的圖像監(jiān)視;右邊的窗口為網(wǎng)絡控制窗口,實現(xiàn)網(wǎng)絡聯(lián)機與斷開、加工代碼編輯及發(fā)送、機床加工狀態(tài)參數(shù)顯示、機床在線網(wǎng)絡調(diào)試等功能。
軟件設計的關鍵是數(shù)據(jù)的網(wǎng)絡傳遞,為了保證數(shù)據(jù)及時傳遞,在軟件設計中采用了多線程技術(shù),專門建立一個線程對采集的機床數(shù)據(jù)進行網(wǎng)絡傳遞。該系統(tǒng)的流程圖如圖4 所示。數(shù)控代碼在客戶機上編輯好之后,可以一次性傳遞給服務器,服務器將數(shù)控代碼保存到內(nèi)存中,然后在編譯執(zhí)行數(shù)控代碼??刂浦噶畹膫鬟f可以隨時從客戶機傳遞到服務器,服務器接到指令后立即執(zhí)行。對于機床加工圖像和狀態(tài)參數(shù)的傳遞則要復雜一些。在服務器上,數(shù)控系統(tǒng)通過CCD攝像頭實時采集加工圖像,利用定時器在每一個周期內(nèi)將圖像保存為位圖文件,然后將位圖文件通過網(wǎng)絡傳遞到客戶機上,客戶機在接收完每一個位圖文件后,用定時器在每一個周期在圖像顯示窗口進行刷新顯示,使加工圖像保持連續(xù)性。同時服務器上的數(shù)控系統(tǒng)實時采集機床狀態(tài)參數(shù),利用定時器每一個周期將以一定格式的數(shù)據(jù)傳遞到客戶機,客戶機對數(shù)據(jù)進行接收后分析,再用定時器在一個周期內(nèi)對狀態(tài)參數(shù)進行更新顯示。
為了避免位圖數(shù)據(jù)和參數(shù)數(shù)據(jù)在傳遞時的混亂現(xiàn)象,在服務器端采用中斷方法,在傳遞圖像數(shù)據(jù)時中斷參數(shù)數(shù)據(jù)的傳遞,等圖像數(shù)據(jù)傳遞完之后再傳遞參數(shù)數(shù)據(jù),這樣就很好的解決了在數(shù)據(jù)傳遞過程中的占用通道的矛盾問題。軟件在運行過程中圖像顯示和參數(shù)更新會存在一定的滯后性,這與網(wǎng)絡傳遞的速度以及數(shù)據(jù)量的大小有一定關系。
3、網(wǎng)絡安全策略
遠程控制的安全性是非常關鍵而又復雜的問題,主要包括信息的完整、保密和可用等因素。采用加密性網(wǎng)絡安全技術(shù)可以提供網(wǎng)絡通信的端到端的安全保障。防火墻技術(shù)也能提高服務器端的安全等級,此外,漏洞掃描和入侵檢測技術(shù)對提高系統(tǒng)安全性能也帶來好處。
圖4 網(wǎng)絡控制系統(tǒng)軟件流程圖
4、總結(jié)
本文具體介紹了一套應用于數(shù)控機床的網(wǎng)絡控制系統(tǒng),基于TCP/ IP 通訊協(xié)議,利用Java Sockets (套接字) ,建立服務器/ 客戶機模式,裝有數(shù)控系統(tǒng)的主機作為服務器,網(wǎng)絡控制端作為客戶機。通過客戶機對數(shù)控機床進行網(wǎng)絡控制和調(diào)試,可以使機床具有更大的柔性和可控性。該系統(tǒng)可以異地實時操作機床,基本達到動態(tài)調(diào)試和監(jiān)控機床運轉(zhuǎn)情況的目的,為機床控制和調(diào)試技術(shù)提供了高效的途徑,具有一定的實用性和價值。
標簽:
中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。