數(shù)控機床分布式監(jiān)控系統(tǒng)通信接口設計
隨著計算機、通信和網(wǎng)絡技術的發(fā)展,數(shù)控系統(tǒng)正向智能化、網(wǎng)絡化方向發(fā)展,數(shù)控機床作為制造系統(tǒng)的核心裝備,其復雜程度及智能化進程也不斷提高,而數(shù)控機床的加工精度、機床運行是否正常等都需要一個監(jiān)控系統(tǒng)來反映,監(jiān)控系統(tǒng)在一定程度上保證了機床安全可靠地運行,尤其是當前數(shù)控機床高速、高精度、智能化的要求,數(shù)控機床監(jiān)控系統(tǒng)也要不斷發(fā)展以滿足數(shù)控機床的需求.對于數(shù)控機床監(jiān)控系統(tǒng)的研究雖然已有一些成果,如第一代監(jiān)測與診斷系統(tǒng),以及后來的基于INteRNet的網(wǎng)絡化遠程監(jiān)測及故障診斷系統(tǒng)。然而隨著數(shù)控機床要求的提升,也要求監(jiān)控系統(tǒng)性能做出相應的提升,如可擴展性、實時性、對機床的加工精度的在線測試、運行狀態(tài)的在線監(jiān)測等,監(jiān)控系統(tǒng)也顯得越來越重要.本研究針對數(shù)控機床,在一種分布式監(jiān)控系統(tǒng)的基礎上,設計了分布式監(jiān)控系統(tǒng)的通信接口,并通過監(jiān)控系統(tǒng)具體應用于數(shù)控機床中,驗證了這種通信接口的可行性。
1 監(jiān)控系統(tǒng)總體結構
為適應數(shù)控機床監(jiān)控系統(tǒng)的分布式結構,本文中的數(shù)控機床監(jiān)控系統(tǒng)由多臺PC組成,各個PC可以獨立分布于不同位置,也可以獨立地監(jiān)控相同或不同的數(shù)控機床.各個獨立的主機通過HUB與多臺數(shù)控機床中數(shù)控系統(tǒng)相連,組成一個星形網(wǎng)絡拓撲結構,形成了分布式監(jiān)控系統(tǒng),監(jiān)控系統(tǒng)通過數(shù)控系統(tǒng)獲取機床各個軸運動位置、反饋、狀態(tài)等數(shù)據(jù);同時,監(jiān)控系統(tǒng)也可以向數(shù)控系統(tǒng)發(fā)送指令,控制機床的運動等。
變量服務為上層應用周期性地提供數(shù)控機床的狀態(tài)數(shù)據(jù),例如機床指令坐標位置、實際坐標位置、進給速度、主軸速度等,變量服務在設定的采樣周期內(nèi)完成一次所有在線數(shù)控機床的數(shù)據(jù)采集,該服務為實時監(jiān)測數(shù)控機床的運行狀態(tài)提供了基礎,參數(shù)服務為上層應用軟件非周期性地讀取DNC的參數(shù)數(shù)據(jù),修改DNC的參數(shù)數(shù)據(jù),命令服務為上層應用軟件提供遠程控制的服務。文件服務為上層應用軟件提供加工程序的傳輸、選擇等服務。PLC數(shù)據(jù)服務提供PLC數(shù)據(jù)的掃描上傳及診斷等服務.數(shù)據(jù)通信服務為數(shù)控機床監(jiān)控平臺提供了數(shù)據(jù)交互的基礎,是實現(xiàn)數(shù)控機床監(jiān)控平臺的基礎功能。為了使通信服務獨立性好,為上層應用軟件提供透明的服務,設計了一系列的通信API接口,為上層應用軟件提供API接口包,將數(shù)據(jù)通信服務平臺和上層應用軟件剝離,使通信服務模塊化、規(guī)范化、標準化,便于程序的移植.對于上層應用軟件,通信服務的具體實現(xiàn)是透明的,應用軟件的開發(fā)人員無須關注底層通信服務的實現(xiàn)細節(jié),只調(diào)用相關的API接口即可。
2 監(jiān)控系統(tǒng)數(shù)據(jù)通信接口設計
在數(shù)控機床接入監(jiān)控系統(tǒng)后,數(shù)控系統(tǒng)向監(jiān)控系統(tǒng)發(fā)送確認信息,信息內(nèi)容包含接入設備名稱、生產(chǎn)廠商等基本信息;監(jiān)控系統(tǒng)在接收信息確認后,在監(jiān)控系統(tǒng)內(nèi)部對該數(shù)控機床建立基本信息庫,對其進行IP等基本配置,配置完成后,數(shù)控系統(tǒng)進入等待命令狀態(tài)中,在接收到監(jiān)控系統(tǒng)命令后,解析數(shù)據(jù)幀,根據(jù)查詢命令結果,如:當接收到的是讀某一參數(shù)命令時,通過映射關系中數(shù)據(jù)表查找到對應數(shù)據(jù),將返回數(shù)據(jù)命令與參數(shù)組成新的數(shù)據(jù)幀,并將結果發(fā)送到監(jiān)控系統(tǒng)中。
將數(shù)控機床及監(jiān)控系統(tǒng)中內(nèi)部數(shù)據(jù)結構與數(shù)據(jù)命令ID及變量ID建立統(tǒng)一的映射關系,并生成一個映射文件MaP-CFG。在監(jiān)控系統(tǒng)端,通過生成的MaP-CFG創(chuàng)建一塊連續(xù)的存儲單元存儲MAP-CFG中定義的變量,同時建立ID到存儲單元地址的映射關系,通過變量ID與映射關系,可以快速地定位須要更新的數(shù)據(jù).當應用訪問變量時,映射層通過傳入的ID號對所需變量在存儲中的位置進行定位,并進行讀寫操作。由于變量的訪問都是通過ID號進行的,因此監(jiān)控系統(tǒng)端應用API和數(shù)控機床端應用API是一致的。在初始化時,通過硬編碼的方式生成配置文件MAP-CFG,在監(jiān)控系統(tǒng)中,變量的存儲單元由配置文件動態(tài)生成,數(shù)據(jù)傳輸映射關系如圖4所示。
3 監(jiān)控系統(tǒng)通信驗證
數(shù)控機床實時監(jiān)測功能可以顯示機床必要的運行狀態(tài)信息,包括當前被監(jiān)控機床的狀態(tài),如是否正常運行、急停、或是故障,實時顯示當前運動軸執(zhí)行信息(指令位置、實際位置等)。通過實時監(jiān)測功能可以動態(tài)地以圖形模式顯示出二維加工軌跡,如圖6為被監(jiān)控機床的軸狀態(tài)顯示圖。
監(jiān)控系統(tǒng)總體結構中包括2部分,即數(shù)控機床與監(jiān)控系統(tǒng),監(jiān)控系統(tǒng)的任務也分為2類,即周期任務與非周期任務,周期任務即為在固定的時間內(nèi)向數(shù)控機床發(fā)出特定指令,并返回正確結果,如:周期地向數(shù)控機床提取各個軸位置指令與反饋、速度、電流等參數(shù),實時地繪制一些二維、三維曲線.非周期任務即不定時地向數(shù)控機床發(fā)出指令并返回結果,如讀取各個機床的參數(shù)、數(shù)控機床參數(shù)等,通過監(jiān)控系統(tǒng)中寄存器向用戶顯示,監(jiān)控系統(tǒng)總體結構如圖1所示。
在監(jiān)控系統(tǒng)中,為了使軟件層次分明、結構模塊化,監(jiān)控系統(tǒng)軟件由設備層、數(shù)據(jù)通信服務層、應用功能層、用戶訪問層所組成.本文主要設計了數(shù)據(jù)通信服務層,數(shù)據(jù)通信服務層為上層應用提供多種服務,即提供參數(shù)服務、PLC數(shù)據(jù)服務等,通過這些服務鏈接了應用功能與物理設備,如圖2所示。
監(jiān)控系統(tǒng)數(shù)據(jù)通信接口分為數(shù)控系統(tǒng)端通信接口和監(jiān)控系統(tǒng)端通信接口2部分。數(shù)控系統(tǒng)與監(jiān)控系統(tǒng)通過tCP\IP協(xié)議連接,監(jiān)控系統(tǒng)主動發(fā)送命令,通過數(shù)控系統(tǒng)讀取被監(jiān)控機床的狀態(tài)參數(shù),數(shù)控系統(tǒng)端一般只被動地接收數(shù)據(jù)命令,解析命令后,發(fā)送回反饋結果。
通信接口中,數(shù)據(jù)傳輸要經(jīng)過待機、數(shù)據(jù)映射、查詢命令、封裝數(shù)據(jù)幀、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)及數(shù)據(jù)解析等狀態(tài),監(jiān)控系統(tǒng)端數(shù)據(jù)處理狀態(tài)如圖3所示。
數(shù)據(jù)的交互是由監(jiān)控系統(tǒng)端主動發(fā)起的,監(jiān)控系統(tǒng)端通過判斷參數(shù)是否改變。若改變,則通過參數(shù)映射關系與命令查詢,開始讀、寫參數(shù)流程,把查詢到的具體命令與變量參數(shù)組成命令數(shù)據(jù)幀,發(fā)送數(shù)據(jù);當接收到數(shù)據(jù)幀時,自動解析數(shù)據(jù)幀格式,通過命令查詢,判斷是讀參數(shù)、寫參數(shù)反饋數(shù)據(jù)幀或是其他響應幀,若是讀參數(shù)反饋數(shù)據(jù)幀,則根據(jù)解析出的變量參數(shù),通過數(shù)據(jù)映射更新數(shù)據(jù),若未改變,則不執(zhí)行上述步驟。
為了方便不同數(shù)控機床與不同的監(jiān)控系統(tǒng)終端間傳輸數(shù)據(jù),設計的數(shù)據(jù)通信接口采用了數(shù)據(jù)命令與變量傳輸?shù)姆绞?,?shù)據(jù)命令如表1所示。
監(jiān)控系統(tǒng)體系結構如圖1所示。監(jiān)控系統(tǒng)PC機帶有100MB/S的通用以太網(wǎng)卡;HUB為8口10/100M自適應以太網(wǎng)交換機;華中數(shù)控DNC-11數(shù)控系統(tǒng)是一種基于ARM平臺的嵌入式數(shù)控系統(tǒng),帶有10MB/S的通用網(wǎng)絡接口;星形拓撲結構中連接的介質(zhì)為帶有RJ45水晶頭的普通雙絞線。由于在局域網(wǎng)中,接入網(wǎng)絡的各臺主機的MAC地址不能重合,即使IP配置不同,局域網(wǎng)中的主機也會因為MAC地址重合產(chǎn)生IP地址搶占問題而不能正常連接,因此每個連入局域網(wǎng)中的主機分配的MAC地址必須是唯一的。
本研究通過運行監(jiān)控系統(tǒng)的3個功能,驗證了設計的通信接口的可行性,其中數(shù)控機床的設備信息管理通過以太網(wǎng)將須要進行監(jiān)控的數(shù)控機床連入數(shù)控機床監(jiān)控平臺,動態(tài)地添加或刪除所要測試的數(shù)控機床,對數(shù)控設備進行在線管理。如圖5所示,數(shù)控機床信息包括機床的設備編號、設備名稱、數(shù)控機床型號等。