專利名稱:一種數(shù)控系統(tǒng)下位機(jī)的軟件實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)數(shù)控系統(tǒng)領(lǐng)域,特別是能實(shí)現(xiàn)一種計(jì)算機(jī)數(shù)控系統(tǒng)下位機(jī)控制軟件的方法。
背景技術(shù):
目前,一般的計(jì)算機(jī)數(shù)控系統(tǒng)均是采用工業(yè)計(jì)算機(jī),將鍵盤、顯示、運(yùn)算、控制和輸出固定地連接在一起,組裝成一個(gè)裝置。這些系統(tǒng)體積大,結(jié)構(gòu)復(fù)雜,連線多,性能差,進(jìn)給速度低,維護(hù)不方便,不能實(shí)現(xiàn)長(zhǎng)距離通信。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種數(shù)控系統(tǒng)的結(jié)構(gòu)緊湊的下位機(jī)的軟件實(shí)現(xiàn)方法,它充分設(shè)計(jì)和構(gòu)造了下位機(jī)的功能。上位機(jī)只有鍵盤、顯示和通信,而下位機(jī)集成了運(yùn)算、控制、通信和輸出的全部功能,通過(guò)一根電纜連接上、下位機(jī),實(shí)現(xiàn)了計(jì)算機(jī)數(shù)控系統(tǒng)上下位機(jī)分離。從而達(dá)到這種數(shù)控系統(tǒng)體積小、結(jié)構(gòu)簡(jiǎn)單、連線少、上下位機(jī)可以長(zhǎng)距離通信的目的。
本發(fā)明的技術(shù)方案是一種計(jì)算機(jī)數(shù)控系統(tǒng)下位機(jī)軟件的實(shí)現(xiàn)方法,其特征在于1.微處理器作為中央運(yùn)算控制部件,集成了調(diào)度、控制和計(jì)算處理功能,微處理器通過(guò)地址總線和數(shù)據(jù)總線與位置控制部件連接,同時(shí)也與輸入輸出(DI/DO)部件及可編程邏輯陣列連接,可編程邏輯陣列決定了內(nèi)部控制功能,它將控制DI/DO和位置控制部件的地址和數(shù)據(jù)流向,位置控制部件將插補(bǔ)信息送到被控設(shè)備——數(shù)控機(jī)械設(shè)備的伺服系統(tǒng)中,驅(qū)動(dòng)伺服或步進(jìn)電機(jī)運(yùn)轉(zhuǎn),電機(jī)上的編碼器信號(hào),通過(guò)編碼器接口電路反饋到位置控制部件中,微處理器控制DI/DO部件對(duì)被控設(shè)備作讀寫操作。使用ISO代碼+DC1~DC5信號(hào)實(shí)現(xiàn)上位機(jī)和下位機(jī)之間的直接通信。
2.通過(guò)微處理器中的運(yùn)算和控制程序,實(shí)現(xiàn)數(shù)控系統(tǒng)下位機(jī)的八種功能,具體包括下列步驟
(1)系統(tǒng)初始化進(jìn)行微處理器的初始化,伺服使能及位置控制部件的初始化,為運(yùn)算和控制作準(zhǔn)備。
(2)循環(huán)主程序?qū)崿F(xiàn)數(shù)據(jù)上傳功能。
(3)8ms中斷控制,實(shí)現(xiàn)數(shù)控系統(tǒng)的8種工作方式的功能,即①EDIT編輯方式功能;②MEM自動(dòng)運(yùn)轉(zhuǎn)方式功能;③MDI手動(dòng)數(shù)據(jù)輸入功能;④DNC上位機(jī)對(duì)下位機(jī)的直接控制功能;⑤JOG手動(dòng)連續(xù)進(jìn)給功能;⑥MPG手搖盤控制功能;⑦STEP單步進(jìn)給功能;⑧ZRN返回參考點(diǎn)功能。
(4)通信任務(wù)①下位機(jī)(NC)——>上位機(jī)(PC)傳送坐標(biāo)值、速度值、I/O狀態(tài)、報(bào)警狀態(tài)以及被控?cái)?shù)控機(jī)械當(dāng)前的狀態(tài)給人機(jī)界面顯示。
②上位機(jī)(PC)——>下位機(jī)(NC)傳送參數(shù)、譯碼后的數(shù)控程序以及對(duì)數(shù)控機(jī)械的指令信息。
③通信使用ISO代碼+DC1~DC5信號(hào),其中,DC1為發(fā)送方請(qǐng)求信號(hào),DC2為接收方應(yīng)答信號(hào),DC3為接收方忙信號(hào),DC4為發(fā)送數(shù)據(jù)完畢信號(hào),DC5為接到結(jié)束信號(hào)回應(yīng)。
本發(fā)明的工作原理是數(shù)控系統(tǒng)的控制和調(diào)度功能用軟件實(shí)現(xiàn),在微處理器的ROM以及外擴(kuò)ROM芯片中集成了八種方式的軟件以及通信任務(wù)的軟件,而在外接的RAM芯片中裝載數(shù)控加工零件的程序和參數(shù),微處理器按照規(guī)定的通信協(xié)議,將上位機(jī)的指令和數(shù)據(jù)通過(guò)通信接口傳送到下位機(jī)的RAM和位置控制部件中,主控制的八種方式對(duì)應(yīng)8個(gè)控制軟件,分別完成下位機(jī)的位置控制、參數(shù)設(shè)置、故障診斷、DI/DO狀態(tài)控制以及輸出報(bào)警信息等功能,直至被控?cái)?shù)控機(jī)械設(shè)備加工出所需的數(shù)控零件來(lái)。
本發(fā)明的效果是采用軟件實(shí)現(xiàn)數(shù)控主控制的多種方式,使得下位機(jī)的結(jié)構(gòu)緊湊,體積小,性能高,采用通信協(xié)議實(shí)現(xiàn)上下位機(jī)通信,使得通信電纜少,上下位機(jī)分離,通信距離可以加長(zhǎng),可靠性提高,維護(hù)方便。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明
圖1是本發(fā)明的硬件框圖;圖2是本發(fā)明的軟件結(jié)構(gòu)圖;圖3是本發(fā)明的初始化程序流程圖;圖4是主控制八種方式的流程圖;圖5是串口通信服務(wù)程序的流程圖。
實(shí)施例圖1中,左側(cè)虛線所框的為上位機(jī)(PC),右側(cè)虛線所框的為被控設(shè)備——數(shù)控機(jī)械設(shè)備(MT),中間實(shí)線框內(nèi)為本發(fā)明的硬件連線圖,微處理器C通過(guò)地址線和數(shù)據(jù)線與RAM芯片A、擴(kuò)展ROM芯片O、通信接口B、位置控制部件P、可編程邏輯陣列L、DI/DO接口電路D等進(jìn)行連接,可編程邏輯陣列L通過(guò)其邏輯判別方式連接位置控制部件P和DI/DO接口電路D,位置控制部件P和DI/DO接口電路連到數(shù)控機(jī)械設(shè)備(MT)上,數(shù)控機(jī)械設(shè)備(MT)的編碼器反饋信號(hào)通過(guò)編碼器接口G連接到位置控制部件P中,微處理器C和擴(kuò)展ROM芯片O中集成了數(shù)控主控制程序,RAM芯片A中集成了數(shù)控加工程序和參數(shù),通過(guò)微處理器C的調(diào)度和控制功能,實(shí)現(xiàn)下位機(jī)的全部功能。
圖2是系統(tǒng)的軟件結(jié)構(gòu)圖,首先進(jìn)行系統(tǒng)的初始化,在初始化后,進(jìn)入主體程序,在主體程序中完成顯示和傳送的任務(wù),并且隨時(shí)響應(yīng)中斷,并執(zhí)行相應(yīng)的中斷服務(wù)子程序,包括執(zhí)行8ms中斷服務(wù)程序和串口中斷服務(wù)程序。
圖3所示為初始化子程序流程圖,首先關(guān)中斷,然后將RAM清零、置數(shù),將微處理器的寄存器初始化,包括設(shè)置定時(shí)器的工作方式(定時(shí)器1用來(lái)產(chǎn)生8ms中斷,定時(shí)器2用作波特率發(fā)生器)和初始計(jì)數(shù)值、串口初始化、中斷優(yōu)先級(jí)別設(shè)置,再進(jìn)入位置控制部件的初始化,進(jìn)入錯(cuò)誤檢測(cè)、伺服使能,在這些功能完成后,啟動(dòng)定時(shí)器,開(kāi)中斷,至此,完成了初始化的全過(guò)程。
圖4所示為8ms中斷服務(wù)子程序,微處理器內(nèi)部計(jì)時(shí)器1每計(jì)時(shí)8ms產(chǎn)生一次中斷,在中斷服務(wù)子程序中實(shí)現(xiàn)數(shù)控的主要控制功能,主要包括從規(guī)定的地址讀入輸入信號(hào)(MT到NC的信號(hào)),掃描輸入端口,刷新輸入信號(hào)映像區(qū),將輸出信號(hào)(NC到MT的信號(hào))映像區(qū)中的數(shù)據(jù)送到規(guī)定地址的輸出端口;讀位置控制部件狀態(tài),檢測(cè)急停、伺服報(bào)警、限位信號(hào)及錯(cuò)誤狀態(tài),并進(jìn)行相應(yīng)的處理;判斷當(dāng)前的操作方式并轉(zhuǎn)入該方式的處理。如果當(dāng)前操作方式是EDIT方式,則執(zhí)行EDIT方式子程序,在EDIT方式子程序中,用戶進(jìn)行零件程序的編輯工作;如果當(dāng)前操作方式是MEM方式,則執(zhí)行MEM方式子程序,在MEM方式子程序中,自動(dòng)執(zhí)行已經(jīng)裝載到下位機(jī)的零件程序;如果當(dāng)前操作方式是MDI方式,則執(zhí)行MDI方式子程序,在MDI方式子程序中,執(zhí)行用戶手動(dòng)數(shù)據(jù)輸入的一小段程序,MDI方式下用戶輸入的程序不予保存;如果當(dāng)前操作方式是DNC方式,則執(zhí)行DNC方式子程序,在DNC方式子程序中,上位機(jī)連續(xù)向下位機(jī)傳送程序,而下位機(jī)則不間斷地執(zhí)行上位機(jī)傳來(lái)的程序;如果當(dāng)前操作方式是JOG方式,則執(zhí)行JOG方式子程序,在JOG方式子程序中,根據(jù)操作面板上選定的坐標(biāo)軸和進(jìn)給方向,以參數(shù)設(shè)定的進(jìn)給倍率為100%時(shí)的進(jìn)給速度×JOG進(jìn)給倍率所得的進(jìn)給速度連續(xù)進(jìn)給;如果當(dāng)前操作方式是MPG方式,則執(zhí)行MPG方式子程序,在MPG方式子程序中,通過(guò)手搖盤控制軸的運(yùn)動(dòng),每格的進(jìn)給量可用倍率更改,每搖一格,可選擇進(jìn)給0.001mm、0.01mm、0.1mm或1mm。即從0xf500讀數(shù),并乘手搖倍率后,作為選定軸的進(jìn)給量;如果當(dāng)前操作方式是STEP方式,則執(zhí)行STEP方式子程序,在STEP方式子程序中,每按一次JOG+或JOG-,進(jìn)給0.001mm、0.01mm、0.1mm或1mm,由手搖倍率決定;如果當(dāng)前操作方式是ZRN方式,則執(zhí)行ZRN方式子程序,在ZRN方式子程序中,完成手動(dòng)返回參考點(diǎn)的功能。
圖5所示為串口中斷服務(wù)子程序,進(jìn)入中斷服務(wù)子程序后首先要判斷是否接收中斷,如果不是,則返回主程序,如果是,則讀取接收緩沖區(qū)中的數(shù)據(jù),接收數(shù)據(jù)后,判斷是否DC1(DC1表示上位機(jī)請(qǐng)求發(fā)送數(shù)據(jù)),如果是DC1,則清寫數(shù)據(jù)指針w_in及com_in,準(zhǔn)備接收數(shù)據(jù),然后返回主程序。如果不是DC1,則判斷是否DC3(DC3表示上位機(jī)忙),如果是,則取確認(rèn)命令為DC3,如果不是DC3,則判斷是否DC4(DC4表示上位機(jī)發(fā)送數(shù)據(jù)完畢),如果不是DC4,則處理當(dāng)前接收到字符后返回主程序,如果是DC4,則根據(jù)數(shù)據(jù)的類型將數(shù)據(jù)存放在不同的RAM區(qū)或作相應(yīng)的處理。接收到程序時(shí)根據(jù)操作方式放在不同的RAM區(qū),EDIT方式下程序放在自動(dòng)程序區(qū),程序中的分號(hào)忽略,程序連續(xù)存放,DNC方式下程序放在DNC程序區(qū),DNC程序區(qū)以分號(hào)為界,一條指令占一行,MDI方式下程序放在MDI程序區(qū)。收到參數(shù)放在RAM的參數(shù)區(qū),收到命令就根據(jù)命令的內(nèi)容進(jìn)行處理。
權(quán)利要求
1.一種計(jì)算機(jī)數(shù)控系統(tǒng)下位機(jī)軟件的實(shí)現(xiàn)方法,其特征是它是將微處理器作為中央運(yùn)算控制部件,集成了調(diào)度、控制和計(jì)算處理功能,微處理器通過(guò)地址總線和數(shù)據(jù)總線與位置控制部件連接,同時(shí)也與輸入輸出(DI/DO)部件及可編程邏輯陣列連接,可編程邏輯陣列決定了內(nèi)部控制功能,它將控制DI/DO和位置控制部件的地址和數(shù)據(jù)流向,位置控制部件將插補(bǔ)信息送到被控設(shè)備——數(shù)控機(jī)械設(shè)備的伺服系統(tǒng)中,驅(qū)動(dòng)伺服或步進(jìn)電機(jī)運(yùn)轉(zhuǎn),電機(jī)上的編碼器信號(hào),通過(guò)編碼器接口電路反饋到位置控制部件中,微處理器控制DI/DO部件對(duì)被控設(shè)備作讀寫操作。使用ISO代碼+DC1~DC5信號(hào)實(shí)現(xiàn)上位機(jī)和下位機(jī)之間的直接通信。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)數(shù)控系統(tǒng)下位機(jī)軟件的實(shí)現(xiàn)方法,其特征在于通過(guò)微處理器中的運(yùn)算和控制程序,實(shí)現(xiàn)數(shù)控系統(tǒng)下位機(jī)的八種功能,具體包括下列步驟(1)系統(tǒng)初始化進(jìn)行微處理器的初始化,伺服使能及位置控制部件的初始化,為運(yùn)算和控制作準(zhǔn)備。(2)循環(huán)主程序?qū)崿F(xiàn)數(shù)據(jù)上傳功能。(3)8ms中斷控制,實(shí)現(xiàn)數(shù)控系統(tǒng)的8種工作方式的功能,即①EDIT編輯方式功能;②MEM自動(dòng)運(yùn)轉(zhuǎn)方式功能;③MDI手動(dòng)數(shù)據(jù)輸入功能;④DNC上位機(jī)對(duì)下位機(jī)的直接控制功能;⑤JOG手動(dòng)連續(xù)進(jìn)給功能;⑥MPG手搖盤控制功能;⑦STEP單步進(jìn)給功能;⑧ZRN返回參考點(diǎn)功能。(4)通信任務(wù)①下位機(jī)(NC)——>上位機(jī)(PC)傳送坐標(biāo)值、速度值、I/O狀態(tài)、報(bào)警狀態(tài)以及被控?cái)?shù)控機(jī)械當(dāng)前的狀態(tài)給人機(jī)界面顯示。②上位機(jī)(PC)——>下位機(jī)(NC)傳送參數(shù)、譯碼后的數(shù)控程序以及對(duì)數(shù)控機(jī)械的指令信息。③通信使用ISO代碼+DC1~DC5信號(hào),其中,DC1為發(fā)送方請(qǐng)求信號(hào),DC2為接收方應(yīng)答信號(hào),DC3為接收方忙信號(hào),DC4為發(fā)送數(shù)據(jù)完畢信號(hào),DC5為接到結(jié)束信號(hào)回應(yīng)。
全文摘要
本發(fā)明的名稱是一種數(shù)控系統(tǒng)下位機(jī)的軟件實(shí)現(xiàn)方法,屬于計(jì)算機(jī)數(shù)控系統(tǒng)領(lǐng)域。它提供一種數(shù)控系統(tǒng)的結(jié)構(gòu)緊湊的下位機(jī)的構(gòu)造,充分設(shè)計(jì)和構(gòu)造了下位機(jī)的功能。上位機(jī)只有鍵盤、顯示和通信,而下位機(jī)集成了運(yùn)算、控制、通信和輸出的全部功能,只通過(guò)一根電纜連接,實(shí)現(xiàn)了計(jì)算機(jī)數(shù)控系統(tǒng)上下位機(jī)分離、數(shù)控系統(tǒng)的功能及可以長(zhǎng)距離通信的目的。
文檔編號(hào)G06F9/445GK1405674SQ0112413
公開(kāi)日2003年3月26日 申請(qǐng)日期2001年8月16日 優(yōu)先權(quán)日2001年8月16日
發(fā)明者林桂英, 郝莉 申請(qǐng)人:北京和利時(shí)系統(tǒng)工程股份有限公司