隨著網絡技術的發展,網絡控制技術越來越引起大家的重視。網絡控制系統是將計算機網絡技術和自動化控制技術結合起來,從而實現網絡控制。 網絡控制系統集機床技術、控制技術、通信技術、檢測技術、圖像技術、計算機軟件技術、網絡技術等于一體,通過Internet/Intranet對機床進行遠程監控,可以使機床具有更大的柔性和可控性。網絡控制技術作為一種新興技術,已經引起了許多科研單位的廣泛關注,多種類型的網絡控制技術正在得到研究和開發,有的基于Web通訊平臺,有的利用Socket技術,還有的基于CORBA中間件技術等等,這必將給制造業的發展帶來一場有意義的變革。 本文介紹筆者開發的數控機床的網絡控制系統。該系統以Windows2000為開發平臺,用VisualC++工具開發,采用WindowsSockets,實現了在局域網內對機床的實時監控功能。 1、TCP/IP網絡通信的實現 1.1TCP/IP簡介 所謂TCP/IP只是一個簡稱,分別指網絡協議IP(InternetProtocol)及傳輸控制協議TCP(TransmissionControlProtocol),是國際互聯網技術中兩個非常重要的通訊協議,適用于任何一組互聯網絡上的通訊。 TCP/IP的結構將網絡分成四個層次,分別是應用層、傳輸層、網絡層和數據鏈路層。這將國際標準組織(ISO)制定的開放系統互聯參考模式(OSI)的七層傳輸參考模式中的一些層面合并,二者之間映射關系如圖1所示。 圖1 TCP/IP與OSI結構模型的映射關系 1.2WindowsSockets簡介 基于TCP/IP的網絡通信可以通過WindowsSockets來實現。套節字(socket)是一種通用的網絡編程接口,它是對通信端點的一種抽象,提供了一種發送和接收數據的機制。 套節字目前有兩種:數據報套節字(DatagramSockets)和流式套節字(StreamSockets)。我們采用流式套節字,因為流式套節字可以將數據按順序無重復地發送到目的地,它提供的是一種可靠的面向連接的數據傳輸方式。 WindowsSockets提供給引用程序開發者一套簡單的應用程序接口,應用程序調用其接口函數實現相互之間的通信。此外WindowsSockets又利用下層的網絡通訊協議(如TCP/IP)功能和操作系統實現實際的通訊工作。它們之間的關系如圖2所示。 圖2 應用程序與Sockets的關系 1.3流式套節字的使用方法 流式套節字的使用方法是基于連接的協議,在傳輸、接收數據之前必須先建立連接,然后才能從數據流中讀出數據。 首先服務器要創建一個用于偵聽的套節字,為該套節字分配地址之后,調用listen()函數使它處于偵聽狀態;客戶機在創建套節字完畢后,為套節字分配地址,然后調用connect()函數,請求與服務器套節字連接;服務器套節字在收到客戶機的連接請求后,調用accept()函數,該函數創建一個用于連接的套節字。應用該套節字和客戶機上的連接套節字,就可以在服務器和客戶機之間進行數據傳輸了。在結束傳輸之后,雙方調用closesocket()函數關閉套節字。其使用方法如圖3所示。 2、網絡控制系統的實現 2.1 網絡控制系統原理 網絡控制系統軟件運行在客戶機上,客戶機通過局域網和服務器連接。機床的數控系統在服務器中運行,首先啟動服務器的本機數控系統,進行初始設置后,進入網絡控制狀態,打開偵聽套節字,等待客戶機的連接請求,待收到客戶機的連接請求后,對聯機信息進行驗證,如果符合聯機條件,則和客戶機建立連接,雙方可以互相發送和接收信息或指令。服務器的數控系統在網絡控制狀態下可以利用CCD實時采集機床加工狀態圖像和參數,將圖像以位圖格式保存并定時發送到客戶機顯示加工狀態,將狀態參數實時發送到客戶機。在客戶機的遠程控制系統軟件中可以編輯數控加工代碼,然后將數控代碼傳遞到服務器中,并下載到PMAC上等待控制指令。從客戶機向服務器發送機床加工控制指令,控制機床運轉,同時接收服務器發送的信息,動態監視機床加工情況。通過遠程控制程序,客戶機還可在線修改機床加工參數,并能調試機床。 2.2 網絡控制系統硬件結構 數控機床的網絡控制系統采用模塊化的硬件結構,數控系統采用“PC+NC”結構,PC機采用奔4主機,NC部分采用開放式多軸運動控制器PMAC2-PCI;網絡系統采用“服務器+客戶機”方式,數控系統運行在服務器上,網絡控制軟件運行在客戶機上,服務器和客戶機通過網卡和通信電纜連接在Intranet/Internet上,數控機床上安裝CCD攝像頭,用來監視機床加工情況,并通過圖像采集卡,將機床的運轉情況實時采集保存。該系統硬件結構如圖4所示。 圖4 網絡控制系統硬件結構 2.3 網絡控制系統軟件設計 友好的人機界面對于任何控制系統是不可缺少的。本系統界面設計采用Windows編程中的分隔視技術,將數控系統人機界面分成二個子窗口。左邊的窗口為圖像顯示窗口,實現機床加工過程的圖像監視;右邊的窗口為網絡控制窗口,實現網絡聯機與斷開、加工代碼編輯及發送、機床加工狀態參數顯示、機床在線網絡調試等功能。 軟件設計的關鍵是數據的網絡傳遞,為了保證數據及時傳遞,在軟件設計中采用了多線程技術,專門建立一個線程對采集的機床數據進行網絡傳遞。該系統的流程圖如圖5所示。數控代碼在客戶機上編輯好之后,可以一次性傳遞給服務器,服務器將數控代碼保存到內存中,然后在編譯執行數控代碼。控制指令的傳遞可以隨時從客戶機傳遞到服務器,服務器接到指令后立即執行。對于機床加工圖像和狀態參數的傳遞則要復雜一些。在服務器上,數控系統通過CCD攝像頭實時采集加工圖像,利用定時器在每一個周期內將圖像保存為位圖文件,然后將位圖文件通過網絡傳遞到客戶機上,客戶機在接收完每一個位圖文件后,用定時器在每一個周期在圖像顯示窗口進行刷新顯示,使加工圖像保持連續性。同時服務器上的數控系統實時采集機床狀態參數,利用定時器每一個周期將以一定格式的數據傳遞到客戶機,客戶機對數據進行接收后分析,再用定時器在一個周期內對狀態參數進行更新顯示。為了避免位圖數據和參數數據在傳遞時的混亂現象,在服務器端采用中斷方法,在傳遞圖像數據時中斷參數數據的傳遞,等圖像數據傳遞完之后再傳遞參數數據,這樣就很好的解決了在數據傳遞過程中的占用通道的矛盾問題。 圖5 網絡控制系統軟件流程圖 軟件在運行過程中圖像顯示和參數更新會存在一定的滯后性,這與網絡傳遞的速度以及數據量的大小有一定關系。 3、網絡控制系統演示 圖6為開發的網絡控制系統在局域網內對機床加工進行網絡監控的演示情況。通過試驗可以看出,控制命令和狀態數據的傳遞實時性較好,可以滿足實際控制的需要;加工狀態的圖像顯示刷新速度較慢,實時性稍差,圖像顯示具有跳躍性,需要進一步提高圖像顯示的流暢性。 圖6 網絡控制系統遠程監控演示界面 4、結論 本文具體介紹了一套應用于數控機床的網絡控制系統,基于TCP/IP通訊協議,利用Socket(套節字),建立服務器/客戶機模式,裝有數控系統的主機作為服務器,網絡控制端作為客戶機。通過客戶機對數控機床進行網絡控制和調試,可以使機床具有更大的柔性和可控性。該系統可以異地實時操作機床,基本達到動態調試和監控機床運轉情況的目的,為機床控制和調試技術提供了高效的途徑,具有一定的實用性和價值。 |