基于 NC - Link 協議的數控系統適配器設計
2018-8-8 來源:武漢華中數控股份有限公司 作者:江哲夫,劉 濤
摘 要: 介紹了 NC - Link 機床通信,將其與主流通信協議進行比較,并分析了各自的優缺點。提出了基于 NC -Link 協議的數控系統適配器軟件設計思路,設計數據驅動層、數據字典層、數據接口層三層架構作為適配器軟件框架,以華中 8 型數控系統為例說明適配器各層次的具體設計思路和方法。
關鍵詞: 數控機床 通信協議 NC - Link 適配器 數據字典
隨著計算機和互聯網技術的高速發展,傳統的制造業也發生了根本性改變。從數字制造到智能制造,是制造業發展的必然趨勢。實現智能制造的重要前提之一就是設備的互聯互通。以柔性生產線為例,需要實現車間管理系統( MES) 、總控系統( SCA-DA) 、數控機床、機器人、物流小車之間的互聯互通。目前應用比較廣泛的設備通信協議主要有 MT- Connect 協議和 OPCUA 協議,但是這兩種通信協議各自存在一些缺陷,不能完全滿足智能制造的需求。NC - Link 協議是由華中科技大學牽頭,聯合多家國內知名數控、機床廠家研發的機床互聯互通協議。NC - Link 協議具有高效、易用的特點,并且綜合了 OPCUA 協議和 MT - Connect 協議的優點。本文設計并實現基于 NC - Link 協議的適配器軟件,并將其用于生產現場,驗證軟件的數據傳輸穩定性及效率。
1、 NC - Link 機床通信協議
目前國際上用于數控機床互聯互通的標準主要有 MT - Connect 和 OPC - UA 兩個標準。MT - Con-nect 和 OPC - UA 協議提供了數控設備互聯互通的能力,但是這兩種協議都有一些缺陷。
MT - Connect 基于 XML 技術,導致數據量較大,對網絡帶寬提出了嚴峻的挑戰。MT - Connect基于 Restful 技術,它只能用于單向的讀取設備狀態實現監視功能,無法勝任雙向控制的任務。在柔性生產線中,MES 會通過 SCADA 向機床發送生產指令,這是 MT - Connect 協議所不支持的。
OPC - UA 協議在機床模型定義上比較薄弱,雖然引入了 MT - Connect 作為其補充,但是由于 OPC- UA 針對的設備覆蓋面太過于廣泛,為了滿足這種泛化的需求,導致模型定義語言過于復雜,應用起來很不方便。目前,西門子、海德漢等數控機床支持OPC - UA 協議。用戶在使用其服務的時候,不但要了解 OPC - UA 運行機理,同時必須配合廠家提供的數據定義手冊,否則就無法進行設備的數據采集工作。無論是 MT - Connect 還是 OPC - UA,都無法滿足高頻數據采集的要求。然而,數控機床智能應用需要高頻的信號作為其輸入,例如振動分析、溫度測量與補償等。
針對這些問題,NC - LINK 協議采用了 Json( Ja-va - Script Object Notation) 字符串傳輸、訂閱發布的數據傳輸方式、機床模型定義等設計,使得 NC -Link 在多方面優于 MT - Connect 和 OPC - UA(表1) 。

表 1 MTConnect,OPC - UA,MT - LINK 比對
2 、適配器的設計
數控系統廠家通常會提供其專有通信協議,不同品牌的數控系統通信協議一般不會相同。如果需要開發支持多家數控系統的上位機軟件( 如 Sca-da) ,就需要學習其中每一種數控系統的專有通信協議。由此帶來的開發難度和工作量是相當驚人的。如果數控系統支持 NC - Link 協議,那么開發者僅需學習 NC - Link 協議即可進行開發,極大地降低了開發難度。

圖 1 NC - Link 架構
NC - Link 總體架構如圖 1。NC- Link 架構中,適配器的功能是將控制器的通信協議轉為 NC - Link 標準協 議。 適 配 器 是NC - Link 協議與數控系統之間的橋梁,客戶端和代理器( Agent) 必須通過適配器才能與數控系統進行通信。對于一些比較簡單的應用,客戶端可以直接連接適配器進行通信,無需通過代理器。因此適配器是 NC - Link 協議互聯互通的關鍵。針對不同廠家的數控系統,需要根據其專有通信接口的情況設計適配器。在設計上,適配器自下而上分為三層: 數據驅動層、數據字典層、數據接口層。
2. 1 數據驅動層
不同品牌的數控系統擁有各自的通訊接口,有的通過 TCP/IP 進行通信,有的通過 modbus 協議通信,有些系統甚至不支持網絡通信,只支持在數控系統上進行二次開發。因此,根據數控系統通信接口的情況以及軟硬件條件,適配器可以嵌入到數控系統中,也可以放在上位機。

圖 2 適配器的集成
數據驅動層是上層應用與 NC 通信的橋梁。以代理器連接華中 8 型系統為例,適配器在收到連接請求后,需要建立機床對象,然后調用華中 8 型二次開發接口進行連接。示例代碼如圖 3、圖 4 所示。在這個例子中,Machine 類的 Connect 成員函數調用了華中 8 型二次開發接口的連接函數 HNC_Net Connect( ) ; 如果是其他廠家的數控系統,則需要調用該廠家提供的網絡接口函數。

圖 3 連接消息響應

圖 4 機床定義
2. 2 數據字典層
數據字典層對數控機床的數據進行統一的定義。將部分機床數據抽象成為機床部件對象,如通道、軸、IO 模塊等; 另一部分數據則定義為對象的屬性或者變量,如進給速度、實際位置、刀具長度等(圖 5) 。圖 4 中的 machine 類就是一個機床對象,IP 地址和端口號就是對象的兩個屬性。IP 地址和端口號這兩個屬性比較特殊,是由代理器或者客戶端指定的。其他的對象數據,如機床位置、電流、刀具壽命等,都是通過數據驅動層從 NC 端獲取。以華中 8型系統適配器為例,軸和通道部件的設計如圖 6。其中 Axis、Channel 類都繼承自 Component 類,需要實現 OnReceive Data 接口,以完成數據分發.

圖 5 機床部件定義

圖 6 部件類以及派生類定義
適配器讀取 NC 端數據采用訂閱/發布的方式。代理器讀取數據時,需要先向適配器發送數據訂閱請求,適配器收到請求后建立訂閱列表,并根據訂閱列表調用數據驅動層的接口獲取 NC 數據。獲取到數據后,將數據分發到數據字典中的各個對象進行填充。此后代理器通過訪問數據字典獲取數據。訂閱發布流程如圖 7。

圖 7 訂閱/發布數據流
NC - Link 架構中,數據更新周期由代理訂閱時決定。一般作如下分類:
1 ) 設 備 標 示、屬性數 據,如 機 床 的 型號、編號、插補周期、主軸額定電流等。這類數據在機床上電后不會發生變化,只需采集一次。
2 ) 部 分 設 備 狀態、特性,如刀具數目、刀具壽命以及系統參數。這類數據不容易發生變化,可每間隔較長的時間( 如 10 min) 采集一次。
3) 實時數據,如當前速度,位置,溫度,電流,程序行號等。這類數據需要持續的高頻率采集。
4) 非結構化數據,如 G 代碼文件、日志文件等。對于這類數據,上位機通常只在需要的時候獲取。數據字典的訂閱列表由若干個數據節點組成。收到訂閱請求時,適配器創建或激活相應節點; 收到取消訂閱請求,則刪除節點; 如果節點長時間沒有數據交互,則將其休眠.

圖 8 訂閱節點
2. 3 數據接口層
數據接口層負責與 NC - Link 代理或者客戶端進行數據交互。數據交互采用二進制流的方式進行數據傳輸。MT - LINK 中數據流格式包括 Json,二進制。Json 類型數據需滿足亞秒級需求,二進制數據滿足亞微秒級需求。數據格式應用場景如表 2。

表 2 數據格式應用場景
代理需要向數控系統寫數據時,會 發 送 寫 數據請求給適配器接 口 層,并 注 冊一 個 回 調 函 數( 委托) 。適配器通知數控系統執行寫數據操作,之后將執行結果反饋給代理,代理收到反饋消息后會調用對應的回調函數進行處理。流程如圖 9。

圖 9寫數據流程
由于通信接口的不統一,不同的數控系統需要專用的適配器。這些適配器的不同之處主要在數據驅動層和數據字典層,對于數據接口層的設計是一
致的。因此在開發適配器數據接口層時,可以參考NC - Link 提供的適配器 demo 程序,也可以參考已經開發完成的適配器程序。
3 、實際應用情況
NC - Link 協議已經在某智能工廠項目中得到應用。項目基于 NC - Link 協議,實現了支持 7 ×24h 數據采集的大數據中心,以及斷刀檢測、健康保證等智能應用。項目中的機床產線 - 適配器 - Scada - 云端大數據中心的架構符合 NC - Link 規范,如圖 10。本次現場應用中,NC - Link 協議的傳輸效率和傳輸穩定性都表現出了較高的水準,能夠滿足智能工廠需求.

圖 10 智能工廠應用
4 、結語
NC - Link 機床互聯互通協議對提高我國數控機床的競爭力,促進我國制造業轉型升級,保護國家安全等方面有重大意義。本文提出了基于 NC -Link 協議的數控系統適配器軟件的設計思路,設計了由數據驅動層、數據字典層和數據接口層組成的適配器軟件,并且根據本思路實現了一款基于華中8 型數控系統的適配器軟件開發,在生產現場進行應用并取得了良好的效果。本文提出的適配器軟件設計方法思路清晰,層次結構合理,值得借鑒參考。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息