周思柱,曾豪勇,李寧,華劍,秦倫
(長江大學機械結構強度與振動研究所,湖北荊州 434023)
數控技術是用數字信息技術控制機械運動的技術,數控裝備則是機械技術與數字信息技術深度結合的典型體現。當前,數控技術正在向智能化和網絡化方向發展,數控技術的進步正加快實現“中國制造”的轉型升級,使得機械工業正在由電氣化時代向數控化時代過渡。數控系統是實現數控化的核心裝備,通過網絡及通信技術對數控系統進行無人化操作、加工程序的傳輸、狀態監控和故障診斷等遠程管理控制,對于提升傳統裝備制造業、實現信息化制造和網絡化制造有著重要意義。
采用靜態鏈接庫技術,在VC++編程環境下調用系統提供的API接口函數庫,實現PC機與華中8型數控系統的網絡通信,實現機床參數、工作狀態和故障診斷等信息交互,從而快速、高效、可靠地完成數控機床的管理與監控。
華中8型數控系統為國內自主研發的高檔數控系統,此課題所選為8型系列的HNC-808M數控裝置。借助數控裝置的網絡通信功能,PC機可以獲取系統信息,也可以發送相應指令控制機床動作,具體包括:
(1)獲取系統工作狀態、軸參數等信息;
(2)手動運行。等同于控制面板手動鍵或手持單元,可通過PC機界面手動移動機床進給軸;
(3)加工程序的遠程傳輸與運行;
(4)數控系統的遠程故障診斷。
8型系統軟件架構層次包括HMI、API以及NCU三部分,其結構如圖1所示。HMI是用戶與系統之間進行信息交互的媒介。NCU層是實現系統功能的核心部分,開發人員將該層功能進行封裝,通過調用應用程序接口 (API)函數來訪問特定的功能與服務,實現數據共享。圖1所示的API層則為NCU的接口層,為上層的應用提供訪問系統功能的接口函數。

圖1 8型系統軟件結構
8型系統的API函數是以靜態鏈接庫的形式存放的,程序員將相應的函數和數據編譯進庫 (擴展名為*.LIB),使用時需要提供生成庫的.h文件和.lib文件。在鏈接過程中,VC++的編譯器從靜態庫中恢復這些函數和數據,并將其和應用程序中的其他模塊一起加入到可執行程序中,實現靜態鏈接。借助靜態鏈接庫,在PC機上調用庫中相應的功能函數,即可實現數控系統相應的功能。
數控系統的通信協議與通信接口是實現數控系統遠程控制功能的關鍵。不同的數控系統所配置的通信接口也不盡相同,如串行口、以太網接口和DNC接口。但無論是串行通信還是以太網通信,常用的策略是利用編程軟件的通信控件建立通信連接,如VC++集成環境下微軟的ActiveX控件MSComm和VB環境下的Winsock控件。這種方法需要編程者按照通信協議編寫相應的程序和設置控件屬性,以建立連接,增加了開發工作量。
不同于上述通信方法,8型系統是帶有TCP/IP協議的網絡通信服務的數控系統,系統定義了TCP/IP網絡的API,以靜態鏈接庫的形式提供給用戶使用。系統與上位機通信時,無需重新設置通信控件,只需在上位機C++程序中設置好IP地址和端口號,調用靜態鏈接庫中的網絡功能函數即能實現通信功能。
在Visual Studio 2010開發環境下,調用靜態鏈接庫的步驟如下:在項目→配置屬性→鏈接器→輸入→附加依賴項中加入.lib文件,并將*lib.h拷貝到當前工程目錄下,然后在調用程序的.cpp源代碼文件中添加語句:

按照不同的功能屬性,8型系統提供了不同的接口文件 (*lib.h文件),此課題所使用的接口主要如表1所示。

表1 8型系統API主要接口
(1)建立通信。PC機與數控系統的通信采用TCP/IP協議的客戶機/服務器(C/S)編程模式。HNC-8系列數控裝置通信菜單下可查看服務器IP和本機IP,服務器IP為上位機IP地址,該IP可以修改,設置時必須與數控系統IP地址保持同一C段,端口號的選擇要避開系統的保留端口。此外,還需將數控系統參數000050號參數置1,以啟動系統網絡功能。
在VC++環境下,按如圖2所示流程圖調用hncnet.h中的函數即能與數控系統建立通信。相關程序代碼如下所示:

為端口號

("192.168.1.113",10001);//192.168.1.113為數控系統的IP。

圖2 調用API函數通信過程
(2)獲取系統狀態信息。在上位機界面顯示數控系統當前的狀態,包括工作模式、加工信息以及報警信息等。

(3)手動操作。手動進給是通過調用hncreg.h中的寄存器接口函數來設置手動軸寄存器值 (圖3所示)實現的。

圖3 手動軸寄存器設置 (PLC梯形圖)
程序代碼為:


(4)加載G代碼并運行。借助通信功能,上位機可以將G代碼程序發送至系統內存并運行,也可以通過程序加載函數HNC_SysCtrlSelectProg()直接加載并運行上位機路徑下的程序,實時性強,方便有效。

連接硬件,開啟PC端程序及數控系統,當顯示連接正常時,表示PC機與數控系統通信成功,在PC機上選擇程序運行,運行界面如圖4所示。

圖4 PC機程序與數控系統運行結果顯示
經測試,在PC機程序上選擇加工代碼運行,PC機顯示當前加工程序、數控系統運行參數以及軸參數等信息準確及時;手動操作過程流暢;可直接在上位機上編寫G代碼;運行后無需人工操作數控系統,較好地實現了遠程控制的功能。
隨著數控技術網絡化的發展,遠程控制技術可以實現機床的集中管理,明顯節省車間資源。采用Windows環境PC上位機,與華中8型高檔數控系統進行信息交換、遠程操作與監控診斷,實現了數控系統的遠程控制功能,提高了數控系統的開發效率,實時性好,操作性強。
[1]趙維鐸,易紅,倪中華,等.基于WEB的數控系統遠程控制的研究[J].制造業自動化,2002,24(8):6 -9.
[2]郇極,馬維民.數控系統網絡和遠程服務功能的研究和試驗[J].組合機床與自動化加工技術,2003(2):49-53.
[3]WRIGHT C.Visual C++程序員實用大全(精華版)[M].鄧勁生,等譯.北京:中國水利水電出版社,2005.
[4]武漢華中數控股份有限公司.華中8型應用程序開發接口(HNCAPI)及使用案例[M],2013.