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