專利名稱:基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備及通訊方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多數(shù)控教學(xué)系統(tǒng)及用于其的通訊方法。
背景技術(shù):
數(shù)控機(jī)床在機(jī)加工中應(yīng)用越來(lái)越廣泛,而目前大多學(xué)校和數(shù)控加工培訓(xùn)單位采用 的教學(xué)培訓(xùn)設(shè)備都是常規(guī)數(shù)控機(jī)床或者電腦仿真軟件。常規(guī)數(shù)控機(jī)床都是一臺(tái)機(jī)床只配有 一套數(shù)控系統(tǒng),不同的數(shù)控系統(tǒng)操作方法和編程指令均有不同,如果想針對(duì)多套數(shù)控系統(tǒng) 進(jìn)行教學(xué),那么就必須購(gòu)買多臺(tái)機(jī)床,還需要有足夠大的空間來(lái)放置機(jī)床;而數(shù)控仿真軟件 雖然能在電腦上模擬多套系統(tǒng),但是由于是通過(guò)顯示屏顯示控制按鍵和加工圖形來(lái)模擬機(jī) 床的加工過(guò)程,所以培訓(xùn)效果比較抽象,學(xué)生理解起來(lái)較為困難。中國(guó)實(shí)用新型專利CN200620016891. 0公開了一種教學(xué)數(shù)控機(jī)床,包括機(jī)械本體、 驅(qū)動(dòng)機(jī)構(gòu)、主機(jī)、運(yùn)動(dòng)控制卡,所述運(yùn)動(dòng)控制卡與主機(jī)相連并通過(guò)一 I/O接口板與驅(qū)動(dòng)機(jī)構(gòu) 連接,其特征在于所述教學(xué)數(shù)控機(jī)床還包括至少兩套不同的控制系統(tǒng)及控制系統(tǒng)切換電 路,每一控制系統(tǒng)均包括相應(yīng)的操作界面,所述控制系統(tǒng)切換電路分別與各控制系統(tǒng)及主 機(jī)相連且還連接于I/O接口板上,通過(guò)控制系統(tǒng)切換電路實(shí)現(xiàn)不同控制系統(tǒng)之間的切換; 所述運(yùn)動(dòng)控制卡根據(jù)主機(jī)及控制系統(tǒng)的信號(hào)控制驅(qū)動(dòng)機(jī)構(gòu)的動(dòng)作。該教學(xué)數(shù)控機(jī)床采用硬 件電路實(shí)現(xiàn)各控制系統(tǒng)之間的切換,硬件電路制作成本高,且難以升級(jí),當(dāng)需要升級(jí)時(shí),需 要重新設(shè)計(jì)新的硬件電路,費(fèi)時(shí)費(fèi)力費(fèi)錢。
發(fā)明內(nèi)容
該發(fā)明解決了傳統(tǒng)的多數(shù)控系統(tǒng)教學(xué)設(shè)備需要設(shè)計(jì)專用的硬件電路的技術(shù)問(wèn)題, 大大提高多數(shù)控系統(tǒng)教學(xué)設(shè)備的應(yīng)用范圍,并提高其升級(jí)速度,大幅度降低升級(jí)成本,安裝 調(diào)試方便。有鑒于此,本發(fā)明的一個(gè)目的在于提供一種基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備 及用于該多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法。一種用于多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法,所述多數(shù)控系統(tǒng)教學(xué)設(shè)備包括多系統(tǒng) 主機(jī)和常規(guī)數(shù)控機(jī)床,其特征在于該方法包括以下步驟步驟1)多系統(tǒng)主機(jī)作為上位機(jī),常規(guī)數(shù)控機(jī)床作為下位機(jī);步驟2):上位機(jī)將經(jīng)解釋器譯碼后的G代碼文件與通過(guò)驅(qū)動(dòng)程序從面板獲取的 MCP指令一起作為打包數(shù)據(jù)進(jìn)行打包,將打包后的數(shù)據(jù)包作為下行幀發(fā)送給下位機(jī);步驟3)下位機(jī)接收到下行幀后進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用常規(guī) 數(shù)控機(jī)床底層函數(shù)從解包數(shù)據(jù)中獲取G代碼文件和MCP指令,并使用G代碼文件和MCP指 令對(duì)機(jī)床進(jìn)行指令控制;步驟4)下位機(jī)將通過(guò)用戶接口函數(shù)從機(jī)床獲取的機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù) 和故障報(bào)警數(shù)據(jù)作為打包數(shù)據(jù)進(jìn)行打包,將打包后的數(shù)據(jù)包作為上行幀發(fā)送給上位機(jī);步驟5)上位機(jī)接收到上行幀后進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用上層函數(shù)從解包數(shù)據(jù)中獲取機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù)和故障報(bào)警數(shù)據(jù),用于機(jī)床狀態(tài)的顯示。其中,G代碼文件是以規(guī)定的格式書寫的數(shù)控代碼,其構(gòu)成加工程序,主要包括G 指令(如 GOO、GOl、G90、G91)、M 指令(如 M03、M04、M02、M30)禾口 F、S、T 指令(如 F100、 S1000)等,G代碼文件先經(jīng)過(guò)解釋器譯碼,然后以規(guī)定的數(shù)據(jù)包格式打包發(fā)送;MCP指令是 控制面板上的按鍵指令,主要包括模式選擇、程序啟停(急停、復(fù)位、循環(huán)啟動(dòng)、進(jìn)給保持)、 倍率設(shè)置、手動(dòng)指令、主軸指令、輔助動(dòng)作指令等,MCP指令通過(guò)面板驅(qū)動(dòng)程序獲取。優(yōu)選地,數(shù)據(jù)包由8字節(jié)指令頭、η字節(jié)數(shù)據(jù)和4字節(jié)CRC數(shù)據(jù)校驗(yàn)碼構(gòu)成,其中, η為大于0的整數(shù)。優(yōu)選地,所述數(shù)據(jù)包的打包過(guò)程如下步驟a)采集信息,獲取要進(jìn)行打包操作的數(shù)據(jù)及指令;步驟b)計(jì)算指令的長(zhǎng)度,為該指令分配內(nèi)存,并寫入指令長(zhǎng)度;步驟c)寫入指針后移1字節(jié),寫入指令頭;步驟d)寫入指針后移7字節(jié),寫入數(shù)據(jù),指針后移η字節(jié),η為大于0的整數(shù);步驟e)判斷采集信息是否完成,如果否,則返回步驟a),如果是,則進(jìn)入步驟 f);步驟f)寫入4字節(jié)的CRC數(shù)據(jù)校驗(yàn)碼,結(jié)束。優(yōu)選地,所述解包操作的過(guò)程如下步驟A)讀取數(shù)據(jù)包的第一字節(jié)值,將其與收到的字節(jié)數(shù)進(jìn)行比較,如果相等,則 進(jìn)行步驟B),如果不相等,則進(jìn)入步驟E);步驟B)讀取指針后移1字節(jié),讀取指令頭;步驟C)讀取指針后移7字節(jié),讀取數(shù)據(jù),指針后移η字節(jié),η為大于0的整數(shù);步驟D)讀取4字節(jié)的CRC數(shù)據(jù)校驗(yàn)碼;步驟Ε)結(jié)束。優(yōu)選地,所述機(jī)床狀態(tài)數(shù)據(jù)包括機(jī)床位置、速度和模態(tài)等;所述PLC狀態(tài)數(shù)據(jù)包括 伺服狀態(tài)和主軸狀態(tài)等,所述故障報(bào)警數(shù)據(jù)包括數(shù)控系統(tǒng)的硬件故障、軟件故障、編程和操 作錯(cuò)誤引起的故障等。優(yōu)選地,在所述下位機(jī)中設(shè)置臨時(shí)緩沖區(qū),用來(lái)暫時(shí)存放G代碼文件和MCP指令, 使得G代碼文件和MCP指令發(fā)送速度與執(zhí)行速度相匹配,使得G代碼文件和MCP指令連續(xù) 執(zhí)行。優(yōu)選地,將所述下位機(jī)中的臨時(shí)緩沖區(qū)分為高優(yōu)先級(jí)緩沖區(qū)和低優(yōu)先級(jí)緩沖區(qū), 高優(yōu)先級(jí)緩沖區(qū)用于存儲(chǔ)MCP指令,MCP指令一旦被接收到,就立即執(zhí)行;低優(yōu)先級(jí)緩沖區(qū) 用于存儲(chǔ)G代碼文件,其存儲(chǔ)在臨時(shí)緩沖區(qū)中循環(huán)順序執(zhí)行,確保MCP指令實(shí)時(shí)執(zhí)行。更進(jìn)一步地,本發(fā)明還提供一種基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備,所述多數(shù) 控系統(tǒng)教學(xué)設(shè)備包括顯示器、通用數(shù)控機(jī)床控制面板、多系統(tǒng)主機(jī)和常規(guī)數(shù)控機(jī)床,其特征 在于所述多系統(tǒng)主機(jī)具有存儲(chǔ)器,其內(nèi)存儲(chǔ)至少三種不同的數(shù)控系統(tǒng)程序,所述顯示器、 所述通用數(shù)控機(jī)床控制面板通過(guò)電纜與所述多系統(tǒng)主機(jī)電連接,所述多系統(tǒng)主機(jī)具有第一 通訊接口,所述常規(guī)數(shù)控機(jī)床具有第二通訊接口,所述第一通訊接口與所述第二通訊接口 相連接,并使用上述的任一種多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法進(jìn)行通訊,將選擇的存儲(chǔ)器內(nèi)的數(shù)控系統(tǒng)程序用于控制所述常規(guī)數(shù)控機(jī)床的工作。優(yōu)選地,所述第一通訊接口和/或第二通訊接口為RJ-45接口、USB接口、串口或 無(wú)線藍(lán)牙接口。在所述第一通訊接口和第二通訊接口為RJ-45接口時(shí),所述第一通訊接口 與第二通訊接口通過(guò)網(wǎng)線電連接。優(yōu)選地,所述數(shù)控系統(tǒng)程序具有顯示界面和編輯界面,所述顯示器為觸摸屏,具有顯示和編輯功能。優(yōu)選地,任一數(shù)控系統(tǒng)程序單獨(dú)控制床身進(jìn)行自動(dòng)加工、編輯、手輪、J0G(手動(dòng)連 續(xù)進(jìn)給)、DNC(數(shù)據(jù)傳輸)、MDI (手動(dòng)數(shù)據(jù)輸入)、增量進(jìn)給和回零等各種動(dòng)作,不同數(shù)控系 統(tǒng)之間的切換簡(jiǎn)單方便。
圖1是本多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法的原理圖。圖2是通訊數(shù)據(jù)的打包和解包的流程圖。圖3是數(shù)據(jù)包的示意圖。圖4是臨時(shí)緩沖區(qū)指令執(zhí)行方式。圖5是下位機(jī)工作流程。圖6是上位機(jī)工作流程。圖7是本發(fā)明的基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備的原理圖。
具體實(shí)施例方式如圖1所示,本用于多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法,為了提高通信速度,避免網(wǎng) 絡(luò)堵塞,采用多通道傳輸上行幀和下行幀數(shù)據(jù)。本設(shè)備采用兩個(gè)通道分別用于上行幀和下 行幀數(shù)據(jù)的傳輸,其中,多數(shù)控系統(tǒng)教學(xué)設(shè)備包括多系統(tǒng)主機(jī)和常規(guī)數(shù)控機(jī)床,該方法通過(guò) 以下步驟完成步驟1)多系統(tǒng)主機(jī)作為上位機(jī),上位機(jī)采用WINDOWS操作系統(tǒng),常規(guī)數(shù)控機(jī)床作 為下位機(jī),下位機(jī)采用DOS采用系統(tǒng);步驟2):上位機(jī)將經(jīng)解釋器譯碼后的G代碼文件與通過(guò)驅(qū)動(dòng)程序從面板獲取的 MCP指令一起作為打包數(shù)據(jù)進(jìn)行打包,將打包后的數(shù)據(jù)包作為下行幀發(fā)送給下位機(jī);步驟3)下位機(jī)接收到下行幀后進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用常規(guī) 數(shù)控機(jī)床底層函數(shù)從解包數(shù)據(jù)中獲取G代碼文件和MCP指令,并使用G代碼文件和MCP指 令對(duì)機(jī)床進(jìn)行指令控制;步驟4)下位機(jī)將通過(guò)用戶接口函數(shù)從機(jī)床獲取的機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù) 和故障報(bào)警數(shù)據(jù)作為打包數(shù)據(jù)進(jìn)行打包,將打包后的數(shù)據(jù)包作為上行幀發(fā)送給上位機(jī);步驟5)上位機(jī)接收到上行幀后進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用上層 函數(shù)從解包數(shù)據(jù)中獲取機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù)和故障報(bào)警數(shù)據(jù),用于機(jī)床狀態(tài)的顯
7J\ ο其中,G代碼文件是以規(guī)定的格式書寫的數(shù)控代碼,其構(gòu)成加工程序,主要包括G 指令(如 GOO、GOl、G90、G91)、M 指令(如 M03、M04、M02、M30)禾口 F、S、T 指令(如 F100、 S1000)等,G代碼文件先經(jīng)過(guò)解釋器譯碼,然后以規(guī)定的數(shù)據(jù)包格式打包發(fā)送;MCP指令是控制面板上的按鍵指令,主要包括模式選擇、程序啟停(急停、復(fù)位、循環(huán)啟動(dòng)、進(jìn)給保持)、倍率設(shè)置、手動(dòng)指令、主軸指令、輔助動(dòng)作指令等,MCP指令通過(guò)面板驅(qū)動(dòng)程序獲取。如圖2a所示,所述數(shù)據(jù)包的打包過(guò)程如下步驟a)采集信息,獲取要進(jìn)行打包操作的數(shù)據(jù)及指令;步驟b)計(jì)算指令的長(zhǎng)度,為該指令分配內(nèi)存,并寫入指令長(zhǎng)度;步驟c)寫入指針后移1字節(jié),寫入指令頭;步驟d)寫入指針后移7字節(jié),寫入數(shù)據(jù),指針后移η字節(jié);步驟e)判斷采集信息是否完成,如果否,則返回步驟a),如果是,則進(jìn)入步驟 f);步驟f)寫入4字節(jié)的CRC數(shù)據(jù)校驗(yàn)碼,結(jié)束。如圖2b所示,所述解包操作的過(guò)程如下步驟a)讀取數(shù)據(jù)包的第一字節(jié)值,將其與收到的字節(jié)數(shù)進(jìn)行比較,如果相等,則 進(jìn)行步驟b),如果不相等,則進(jìn)入步驟e);步驟b)讀取指針后移1字節(jié),讀取指令頭;步驟c)讀取指針后移7字節(jié),讀取數(shù)據(jù),指針后移η字節(jié),η為大于零的整數(shù);步驟d)讀取4字節(jié)的CRC數(shù)據(jù)校驗(yàn)碼;步驟e):結(jié)束。優(yōu)選地,所述機(jī)床狀態(tài)數(shù)據(jù)包括機(jī)床位置、速度、模態(tài)等,所述PLC狀態(tài)數(shù)據(jù)包括 伺服狀態(tài)、主軸狀態(tài)等,所述故障報(bào)警數(shù)據(jù)包括數(shù)控系統(tǒng)的硬件故障、軟件故障、編程和操 作錯(cuò)誤引起的故障等。如圖3所示,數(shù)據(jù)包由8字節(jié)指令頭、η字節(jié)數(shù)據(jù)和4字節(jié)CRC數(shù)據(jù)校驗(yàn)碼構(gòu)成, 其中,η為大于0的整數(shù)。其中,指令頭用于定義區(qū)分不同的指令,包括指令長(zhǎng)度(IByte)、指令序號(hào) (4Byte)、指令類型(lByte)、指令名稱(lByte)、指令等級(jí)(IByte),其中,指令長(zhǎng)度包含數(shù) 據(jù)區(qū)長(zhǎng)度加指令頭長(zhǎng)度加校驗(yàn)碼長(zhǎng)度;指令序號(hào)是標(biāo)明指令的發(fā)出端順序的,用于反饋信 息的時(shí)候,表明當(dāng)前機(jī)床執(zhí)行的內(nèi)容;指令類型說(shuō)明指令的按照指令用途的劃分,分為運(yùn)動(dòng) 指令、主軸指令、倍率設(shè)置、刀具與刀庫(kù)、其他動(dòng)作、信息反饋和報(bào)警;指令名稱說(shuō)明指令的 具體功能;指令等級(jí)說(shuō)明指令的安全級(jí)別,重要程度等。數(shù)據(jù)區(qū)用于封裝指令的η字節(jié)的數(shù)據(jù),根據(jù)不同指令所含數(shù)據(jù)的多少,數(shù)據(jù)區(qū)有 (0 η)字節(jié),η為大于0的整數(shù)。CRC數(shù)據(jù)校驗(yàn)碼用于校驗(yàn)數(shù)據(jù)傳輸?shù)恼_性,它有4字節(jié)。本發(fā)明涉及到的指令的具體數(shù)據(jù)格式如下1.運(yùn)動(dòng)指令(1)手動(dòng)運(yùn)動(dòng)(包含點(diǎn)動(dòng)、快速)數(shù)據(jù)格式速度f(wàn)(浮點(diǎn),4) +軸名稱(字符,1) +方向(整數(shù),4);(2)手動(dòng)停止(包含點(diǎn)動(dòng)、快速)數(shù)據(jù)格式軸名稱(字符,1);(3)增量數(shù)據(jù)格式軸名稱(字符,1)+方向(整數(shù),4) +倍率(整形10的冪,1);
(4)手輪運(yùn)動(dòng)數(shù)據(jù)格式速度f(wàn) (浮點(diǎn),4) +軸名稱(字符,1) +方向(整數(shù),4) +倍率(整形10的冪,1);(5)參考點(diǎn)(回參考點(diǎn)運(yùn)動(dòng))數(shù)據(jù)格式軸名稱(字符,1);(6)快速定位(G00運(yùn)動(dòng))數(shù)據(jù)格式速度f(wàn) (浮點(diǎn),4) +軸數(shù)η (整數(shù),1) +軸1名稱(字符,1) +軸2名稱(字 符,1) +. . . +軸η名稱(字符,1) +目的軸1坐標(biāo)(整數(shù)脈沖數(shù),4) +目的軸2坐標(biāo)(整數(shù)脈 沖數(shù),4) +. . . +目的軸η坐標(biāo)(整數(shù)脈沖數(shù),4);(7)直線插補(bǔ)(G01運(yùn)動(dòng)) 數(shù)據(jù)格式速度f(wàn) (浮點(diǎn),4) +軸數(shù)η (整數(shù),1) +軸1名稱(字符,1) +軸2名稱(字 符,1) +. . . +軸η名稱(字符,1) +目的軸1坐標(biāo)(整數(shù)脈沖數(shù),4) +目的軸2坐標(biāo)(整數(shù)脈 沖數(shù),4) +. . . +目的軸η坐標(biāo)(整數(shù)脈沖數(shù),4);(8)順圓插補(bǔ)(G02運(yùn)動(dòng))數(shù)據(jù)格式速度f(wàn) (浮點(diǎn),4) +圓弧平面(整數(shù),1) +軸數(shù)η (整數(shù),1) +軸1名稱(字 符,1) +軸2名稱(字符,1)+... +軸η名稱(字符,1)+目的軸1坐標(biāo)(整數(shù)脈沖數(shù),4)+目 的軸2坐標(biāo)(整數(shù)脈沖數(shù),4) +. . . +目的軸η坐標(biāo)(整數(shù)脈沖數(shù),4) +圓心軸1坐標(biāo)(整數(shù) 脈沖數(shù),4) +圓心軸2坐標(biāo)(整數(shù)脈沖數(shù),4)+... +圓心軸η坐標(biāo)(整數(shù)脈沖數(shù),4);(9)逆圓插補(bǔ)(G03運(yùn)動(dòng))數(shù)據(jù)格式速度f(wàn) (浮點(diǎn),4) +圓弧平面(整數(shù),1) +軸數(shù)η (整數(shù),1) +軸1名稱(字 符,1) +軸2名稱(字符,1)+... +軸η名稱(字符,1)+目的軸1坐標(biāo)(整數(shù)脈沖數(shù),4)+目 的軸2坐標(biāo)(整數(shù)脈沖數(shù),4) +. . . +目的軸η坐標(biāo)(整數(shù)脈沖數(shù),4) +圓心軸1坐標(biāo)(整數(shù) 脈沖數(shù),4) +圓心軸2坐標(biāo)(整數(shù)脈沖數(shù),4)+... +圓心軸η坐標(biāo)(整數(shù)脈沖數(shù),4);2、主軸指令(1)主軸正轉(zhuǎn),數(shù)據(jù)格式轉(zhuǎn)速(浮點(diǎn),4);(2)主軸反轉(zhuǎn),數(shù)據(jù)格式轉(zhuǎn)速(浮點(diǎn),4);(3)主軸停,數(shù)據(jù)格式(無(wú)數(shù)據(jù));(4)主軸制動(dòng),數(shù)據(jù)格式;(無(wú)數(shù)據(jù));(5)主軸定向,數(shù)據(jù)格式定位角度(脈沖數(shù),4);(6)主軸點(diǎn)動(dòng),數(shù)據(jù)格式(無(wú)數(shù)據(jù));3、刀具與刀庫(kù)(1)選刀,數(shù)據(jù)格式刀具號(hào)(整數(shù),1);(2)換刀,數(shù)據(jù)格式(無(wú)數(shù)據(jù));(3)刀庫(kù)正轉(zhuǎn),數(shù)據(jù)格式(無(wú)數(shù)據(jù));(4)刀庫(kù)反轉(zhuǎn),數(shù)據(jù)格式(無(wú)數(shù)據(jù));4、其他動(dòng)作(1)卡盤松緊(車床卡盤動(dòng)作)數(shù)據(jù)格式夾緊方向(整數(shù),1) +松緊動(dòng)作(整數(shù),1);(2)刀具松緊(銑床主軸刀具夾緊動(dòng)作)
數(shù)據(jù)格式松緊動(dòng)作(整數(shù),1);(3)冷卻液,數(shù)據(jù)格式冷卻液噴頭號(hào)(整數(shù),1)+開關(guān)動(dòng)作(整數(shù),1);(4)照明燈,數(shù)據(jù)格式照明燈具號(hào)(整數(shù),1)+開關(guān)動(dòng)作(整數(shù),1);(5)運(yùn)屑動(dòng)作,數(shù)據(jù)格式運(yùn)屑動(dòng)作(整數(shù),1);(6)急停,數(shù)據(jù)格式開關(guān)動(dòng)作(整數(shù),1);(7)循環(huán)啟動(dòng),數(shù)據(jù)格式(無(wú)數(shù)據(jù));(8)進(jìn)給保持,數(shù)據(jù)格式(無(wú)數(shù)據(jù));(9)程序終止,數(shù)據(jù)格式(無(wú)數(shù)據(jù));(10)模式選擇,數(shù)據(jù)格式模式(整數(shù),1);(11)輸出點(diǎn),使用I/O配置文件實(shí)現(xiàn)其他未定義功能;5、倍率設(shè)置(修調(diào))(1)進(jìn)給倍率,數(shù)據(jù)格式;倍率(浮點(diǎn),4);(2)快速倍率,數(shù)據(jù)格式倍率(浮點(diǎn),4);(3)主軸倍率,數(shù)據(jù)格式倍率(浮點(diǎn),4);6、信息反饋(1)當(dāng)前機(jī)床坐標(biāo)數(shù)據(jù)格式軸數(shù)η (整數(shù),1) +軸1名稱(字符,1) +軸2名稱(字符,1) +. . . +軸η 名稱(字符,1) +軸1坐標(biāo)(整數(shù)脈沖數(shù),4) +軸2坐標(biāo)(整數(shù)脈沖數(shù),4) +. . . +軸η坐標(biāo)(整 數(shù)脈沖數(shù),4);(2)伺服狀態(tài),數(shù)據(jù)格式狀態(tài)(整數(shù),1);(3)主軸狀態(tài),數(shù)據(jù)格式主軸狀態(tài)(整數(shù),1);(4)執(zhí)行指令,數(shù)據(jù)格式指令序號(hào)(整數(shù),4);(5)指令完畢,數(shù)據(jù)格式指令序號(hào)(整數(shù),4);(6)脈沖當(dāng)量,數(shù)據(jù)格式脈沖當(dāng)量(浮點(diǎn),4);(7)合成速度,數(shù)據(jù)格式合成速度(浮點(diǎn),4);(8)主軸速度,數(shù)據(jù)格式實(shí)際速度(整數(shù),4);(9)主軸位置,數(shù)據(jù)格式主軸角度(脈沖數(shù));(10)輸入點(diǎn),通過(guò)I/O配置文件實(shí)現(xiàn)機(jī)床基本狀態(tài)的查詢(比如刀具是否夾緊等)7、報(bào)警(1)報(bào)警,數(shù)據(jù)格式報(bào)警索引號(hào)(整數(shù),4)。為了提高通信效率和通信質(zhì)量,本發(fā)明還采用了下述方式進(jìn)行數(shù)據(jù)操作1、確保指令執(zhí)行的連續(xù)性一方面考慮到下位機(jī)內(nèi)存的限制,另一方面為了解決指令發(fā)送速度與指令執(zhí)行速 度的不匹配問(wèn)題,以保證指令執(zhí)行的連續(xù)性,在下位機(jī)設(shè)置了臨時(shí)緩沖區(qū),用來(lái)暫時(shí)存放指 令,優(yōu)選的一種情況是臨時(shí)緩沖區(qū)大小為20,即最多可以存放20條指令。上位機(jī)不斷向下位機(jī)發(fā)送下行幀數(shù)據(jù)直到填滿緩沖區(qū),緩沖區(qū)指令被循環(huán)順序執(zhí) 行,執(zhí)行完一條指令就將存放該指令的指令緩沖區(qū)清空,上位機(jī)在判斷前半部指令緩沖區(qū) 為空之后,又繼續(xù)發(fā)送數(shù)據(jù)將緩沖區(qū)填滿,這樣可以保證在上位機(jī)還有數(shù)據(jù)發(fā)送時(shí),下位機(jī)臨時(shí)緩沖區(qū)還有指令可供執(zhí)行,這樣程序可以連續(xù)執(zhí)行而不間斷,并且又節(jié)約了下位機(jī)的 內(nèi)存空間,上述的指令是指G代碼文件和MCP指令。2、確保指令執(zhí)行的實(shí)時(shí)性為了保證如進(jìn)給保持、循環(huán)啟動(dòng)、急停、復(fù)位等程序控制指令的實(shí)時(shí)執(zhí)行,將下位機(jī)的臨時(shí)緩沖區(qū)分為高優(yōu)先級(jí)緩沖區(qū)和低優(yōu)先級(jí)緩沖區(qū),高優(yōu)先級(jí)緩沖區(qū)的指令一旦被接 收到,就立即執(zhí)行,低優(yōu)先級(jí)緩沖區(qū)的指令則放在緩沖區(qū)中循環(huán)順序執(zhí)行。如圖4所示,高優(yōu)先級(jí)指令緩沖區(qū)中的指令優(yōu)先搶占式執(zhí)行,高、低優(yōu)先級(jí)指令緩 沖區(qū)內(nèi)部各指令順序循環(huán)執(zhí)行。低優(yōu)先級(jí)指令主要是指G代碼文件,從上位機(jī)接收,然后依 次放到低優(yōu)先級(jí)緩沖區(qū)順序循環(huán)執(zhí)行。高優(yōu)先級(jí)指令主要是MCP指令,一旦從上位機(jī)接收, 就立即執(zhí)行。也就是說(shuō),高優(yōu)先級(jí)指令緩沖區(qū)中的指令優(yōu)先搶占式執(zhí)行,低優(yōu)先級(jí)指令緩沖 區(qū)內(nèi)部各指令順序循環(huán)執(zhí)行。其中,高、低優(yōu)先級(jí)指令是利用數(shù)據(jù)包格式的指令頭中的指令 等級(jí)來(lái)區(qū)分的,高優(yōu)先級(jí)指令在上位機(jī)發(fā)送時(shí)被設(shè)置為0,低優(yōu)先級(jí)指令在上位機(jī)發(fā)送時(shí)被 設(shè)置為非零的指令序號(hào)。圖5示出了下位機(jī)工作流程,下位機(jī)在和上位機(jī)建立連接后,除了采集機(jī)床設(shè)備 的信息以外,也要準(zhǔn)備接收上位機(jī)發(fā)來(lái)的控制命令,以對(duì)機(jī)床設(shè)備進(jìn)行操作。所以下位機(jī) 的工作流程,在連接建立后,下位機(jī)工作流程分為兩支,一支用于系統(tǒng)及設(shè)備信息的采集發(fā) 送,一支用于接收上位機(jī)的控制命令。圖6示出了上位機(jī)在與下位機(jī)建立連接后,一方面,它要接收并處理來(lái)自下位機(jī) 的系統(tǒng)及設(shè)備信息,另一方面,它還要將通過(guò)操作面板或其他方式輸入的控制指令發(fā)送到 下位機(jī)以實(shí)現(xiàn)對(duì)數(shù)控設(shè)備的遠(yuǎn)程操作,在連接建立后,上位機(jī)的工作流程同樣分為兩支一 支用于接收來(lái)自面板或其他途徑的控制信息并發(fā)送至下位機(jī),一支用于接收下位機(jī)(服務(wù) 端)傳遞的狀態(tài)信息。如圖7所示,本基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備,所述多數(shù)控系統(tǒng)教學(xué)設(shè)備 包括顯示器1、通用數(shù)控機(jī)床控制面板2、多系統(tǒng)主機(jī)3和常規(guī)數(shù)控機(jī)床4。其中,多系統(tǒng)主 機(jī)具有存儲(chǔ)器5,其內(nèi)存儲(chǔ)至少三種不同的數(shù)控系統(tǒng)程序;顯示器1、所述通用數(shù)控機(jī)床控 制面板2通過(guò)電纜與所述多系統(tǒng)主機(jī)3電連接;所述多系統(tǒng)主機(jī)具有第一通訊接口 6,所述 常規(guī)數(shù)控機(jī)床4具有第二通訊接口 7,所述第一通訊接口 6與所述第二通訊接口 7相連接, 并使用上述的多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法進(jìn)行通訊,將選擇的存儲(chǔ)器5內(nèi)的數(shù)控系統(tǒng) 程序用于控制所述常規(guī)數(shù)控機(jī)床4的工作。其中,所述第一通訊接口 6和/或第二通訊接口 7為RJ-45接口、USB接口、串口 或無(wú)線藍(lán)牙接口,從而可以滿足不同的客戶需要。如使用RJ-45接口時(shí),可通過(guò)網(wǎng)線連接即 可,方便快捷。其中,所述數(shù)控系統(tǒng)程序具有顯示界面和編輯界面,所述顯示器為觸摸屏,具有顯 示和編輯功能。其中,任一數(shù)控系統(tǒng)程序單獨(dú)控制床身進(jìn)行自動(dòng)加工、編輯、手輪、手動(dòng)連續(xù)進(jìn)給 (JOG)、數(shù)據(jù)傳輸(DNC)、手動(dòng)數(shù)據(jù)輸入(MDI)、增量進(jìn)給和回零等各種動(dòng)作,不同數(shù)控系統(tǒng) 之間的切換簡(jiǎn)單方便。由于本基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備采用了觸摸顯示屏,每套數(shù)控系統(tǒng)專 用的MDI面板就集成到了顯示屏上面,當(dāng)更換不同的數(shù)控系統(tǒng)來(lái)控制機(jī)床運(yùn)行時(shí),就不用再去更換MDI面板,直接就能在顯示屏上顯示出很完美的按鍵并可進(jìn)行觸控操作,主機(jī)內(nèi)安裝的數(shù)控系統(tǒng)數(shù)量越多,數(shù)控系統(tǒng)的性價(jià)比就越高。每套控制程序的操作界面及操作方 式分別與目前市場(chǎng)上幾套主流數(shù)控系統(tǒng)相同,均執(zhí)行相同的工藝規(guī)范,且可兼容標(biāo)準(zhǔn)G代 碼,使用Mastercam、UG等軟件生成的加工程序能被本數(shù)控系統(tǒng)直接調(diào)用。每套數(shù)控程序 都能獨(dú)立運(yùn)行,只需在觸摸屏上根據(jù)提示選擇,就可以進(jìn)入不同的數(shù)控系統(tǒng),且操作方法與 目前實(shí)際應(yīng)用中的幾種主流數(shù)控系統(tǒng)一致,在一臺(tái)教學(xué)數(shù)控機(jī)床上進(jìn)行多套數(shù)控系統(tǒng)的教 學(xué),避免了購(gòu)買多臺(tái)不同數(shù)控系統(tǒng)的數(shù)控機(jī)床,設(shè)備體積小,節(jié)省教室空間,并可以大幅度 的節(jié)約教育經(jīng)費(fèi),且該設(shè)備升級(jí)方便,費(fèi)用低。本文中所描述的具體實(shí)施例僅僅是對(duì)本發(fā)明精神作舉例說(shuō)明。本發(fā)明所屬技術(shù)領(lǐng) 域的技術(shù)人員可以對(duì)所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替 代,但并不會(huì)偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。例如,在本實(shí)施方式中,上位機(jī)采用的操作系統(tǒng)是windows操作系統(tǒng),而下位機(jī)采 用的是dos操作系統(tǒng);但是本發(fā)明對(duì)上位機(jī)和下位機(jī)采用的操作系統(tǒng)并沒(méi)有具體的限制, 本領(lǐng)域普通技術(shù)人員可以為上位機(jī)和下位機(jī)采用任何合適的操作系統(tǒng)。
權(quán)利要求
一種用于多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法,所述多數(shù)控系統(tǒng)教學(xué)設(shè)備包括多系統(tǒng)主機(jī)和常規(guī)數(shù)控機(jī)床,其特征在于,該方法包括以下步驟步驟1)多系統(tǒng)主機(jī)作為上位機(jī),常規(guī)數(shù)控機(jī)床作為下位機(jī);步驟2)上位機(jī)將經(jīng)解釋器譯碼后的G代碼文件與通過(guò)驅(qū)動(dòng)程序從面板獲取的MCP指令一起作為打包數(shù)據(jù)進(jìn)行打包,將打包后的數(shù)據(jù)包作為下行幀發(fā)送給下位機(jī);步驟3)下位機(jī)接收到下行幀后進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用常規(guī)數(shù)控機(jī)床底層函數(shù)從解包數(shù)據(jù)中獲取G代碼文件和MCP指令,并使用G代碼文件和MCP指令對(duì)機(jī)床進(jìn)行指令控制;步驟4)下位機(jī)將通過(guò)用戶接口函數(shù)從機(jī)床獲取的機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù)和故障報(bào)警數(shù)據(jù)作為打包數(shù)據(jù)進(jìn)行打包,將打包后的數(shù)據(jù)包作為上行幀發(fā)送給上位機(jī);步驟5)上位機(jī)接收到上行幀后進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用上層函數(shù)從解包數(shù)據(jù)中獲取機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù)和故障報(bào)警數(shù)據(jù),用于機(jī)床狀態(tài)的顯示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)包由8字節(jié)指令頭、η字節(jié)數(shù)據(jù) 和4字節(jié)CRC數(shù)據(jù)校驗(yàn)碼構(gòu)成,其中,η為大于O的整數(shù);所述機(jī)床狀態(tài)數(shù)據(jù)包括機(jī)床位置、 速度和模態(tài);所述PLC狀態(tài)數(shù)據(jù)包括伺服狀態(tài)和主軸狀態(tài);所述故障報(bào)警數(shù)據(jù)包括數(shù)控系 統(tǒng)的硬件故障、軟件故障、編程和操作錯(cuò)誤引起的故障。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)包的打包過(guò)程如下 步驟a)采集信息,獲取要進(jìn)行打包操作的數(shù)據(jù)及指令;步驟b):計(jì)算指令的長(zhǎng)度,為該指令分配內(nèi)存,并寫入指令長(zhǎng)度; 步驟c)寫入指針后移1字節(jié),寫入指令頭;步驟d)寫入指針后移7字節(jié),寫入數(shù)據(jù),指針后移η字節(jié),η為大于O的整數(shù); 步驟e)判斷采集信息是否完成,如果否,則返回步驟a),如果是,則進(jìn)入步驟f); 步驟f)寫入4字節(jié)的CRC數(shù)據(jù)校驗(yàn)碼,并結(jié)束。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述解包操作的過(guò)程如下步驟A)讀取數(shù)據(jù)包的第一字節(jié)值,將所述第一字節(jié)值與收到的字節(jié)數(shù)進(jìn)行比較,如 果相等,則進(jìn)行步驟B),如果不相等,則進(jìn)入步驟E); 步驟B)讀取指針后移1字節(jié),讀取指令頭; 步驟C)讀取指針后移7字節(jié),讀取數(shù)據(jù),指針后移η字節(jié); 步驟D)讀取4字節(jié)的CRC數(shù)據(jù)校驗(yàn)碼; 步驟Ε)結(jié)束。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于在所述下位機(jī)中設(shè)置臨時(shí)緩沖區(qū),用來(lái)暫 時(shí)存放G代碼文件和MCP指令,使得G代碼文件和MCP指令發(fā)送速度與執(zhí)行速度相匹配,使 得G代碼文件和MCP指令連續(xù)執(zhí)行。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于將所述下位機(jī)中的臨時(shí)緩沖區(qū)分為高優(yōu) 先級(jí)緩沖區(qū)和低優(yōu)先級(jí)緩沖區(qū),高優(yōu)先級(jí)緩沖區(qū)用于存儲(chǔ)MCP指令,MCP指令一旦被接收 至IJ,就立即執(zhí)行;低優(yōu)先級(jí)緩沖區(qū)用于存儲(chǔ)G代碼文件,其存儲(chǔ)在臨時(shí)緩沖區(qū)中循環(huán)順序執(zhí) 行,確保MCP指令實(shí)時(shí)執(zhí)行。
7.一種基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備,所述多數(shù)控系統(tǒng)教學(xué)設(shè)備包括顯示器、 通用數(shù)控機(jī)床控制面板、多系統(tǒng)主機(jī)和常規(guī)數(shù)控機(jī)床,其特征在于所述多系統(tǒng)主機(jī)具有存儲(chǔ)器,其內(nèi)存儲(chǔ)至少三種不同的數(shù)控系統(tǒng)程序,所述顯示器和所述通用數(shù)控機(jī)床控制面板 通過(guò)電纜與所述多系統(tǒng)主機(jī)電連接,所述多系統(tǒng)主機(jī)還具有第一通訊接口,所述常規(guī)數(shù)控 機(jī)床具有第二通訊接口,所述第一通訊接口與所述第二通訊接口相連接,并使用權(quán)利要求 1-5中的所述任一種用于多數(shù)控系統(tǒng)教學(xué)設(shè)備的通訊方法進(jìn)行通訊,將選擇的存儲(chǔ)器內(nèi)的 數(shù)控系統(tǒng)程序用于控制所述常規(guī)數(shù)控機(jī)床的工作。
8.根據(jù)權(quán)利要求6所述的教學(xué)設(shè)備,其特征在于所述第一通訊接口和/或第二通訊 接口為RJ-45接口、USB接口、串口或無(wú)線藍(lán)牙接口,在所述第一通訊接口和第二通訊接口 為RJ-45接口時(shí),所述第一通訊接口與第二通訊接口通過(guò)網(wǎng)線電連接。
9.根據(jù)權(quán)利要求6所述的教學(xué)設(shè)備,其特征在于所述數(shù)控系統(tǒng)程序具有顯示界面和 編輯界面,所述顯示器為觸摸屏,具有顯示和編輯功能。
10.根據(jù)權(quán)利要求6所述的教學(xué)設(shè)備,其特征在于所述數(shù)控系統(tǒng)程序能夠單獨(dú)控制床 身進(jìn)行自動(dòng)加工、編輯、手輪、JOG、DNC、MDI、增量進(jìn)給和回零操作。
全文摘要
本發(fā)明提供一種基于網(wǎng)絡(luò)連接的多數(shù)控系統(tǒng)教學(xué)設(shè)備及通訊方法,所述設(shè)備包括上位機(jī)和下位機(jī),上位機(jī)將G代碼文件與MCP指令一起作為打包數(shù)據(jù)進(jìn)行打包,發(fā)送給下位機(jī),下位機(jī)接收進(jìn)行解包操作獲取解包數(shù)據(jù),然后通過(guò)調(diào)用常規(guī)數(shù)控機(jī)床底層函數(shù)從解包數(shù)據(jù)中獲取G代碼文件和MCP指令,并使用G代碼文件和MCP指令對(duì)機(jī)床進(jìn)行指令控制,下位機(jī)將獲取的機(jī)床狀態(tài)數(shù)據(jù)、PLC狀態(tài)數(shù)據(jù)和故障報(bào)警數(shù)據(jù)作為打包數(shù)據(jù)進(jìn)行打包,發(fā)送給上位機(jī),上位機(jī)接收到后進(jìn)行解包操作獲取解包數(shù)據(jù),然后用于機(jī)床狀態(tài)的顯示。采用根據(jù)本發(fā)明的設(shè)備和通信方法,可以在不改變?nèi)魏斡布那闆r下增加無(wú)限套數(shù)控系統(tǒng)程序,無(wú)需購(gòu)買多臺(tái)配有不同數(shù)控系統(tǒng)的數(shù)控機(jī)床,大大節(jié)省設(shè)備成本。
文檔編號(hào)G09B5/00GK101826273SQ200910210838
公開日2010年9月8日 申請(qǐng)日期2009年11月11日 優(yōu)先權(quán)日2009年11月11日
發(fā)明者徐放, 李建鋒, 楊雪松, 白立峰, 陳克明 申請(qǐng)人:深圳市和怡科技有限公司