【正文】
機(jī)床數(shù)控系統(tǒng)是有硬件和軟件兩大部分組成,只有軟件和硬件相結(jié)合才能實(shí)現(xiàn)數(shù)控機(jī)床控制系統(tǒng)的功能。設(shè)計(jì)這些程序的目的是為了完善 和發(fā)揮計(jì)算機(jī)的硬 件功能,是軟件和硬件結(jié)合,形成一個(gè)具有特定功能的控制系統(tǒng),從而使 該系統(tǒng)能夠完成零件加工程序的輸入,編輯,譯碼,數(shù)據(jù)計(jì)算、插補(bǔ)和電機(jī)控制等工作。 存儲(chǔ)器與 I/O 芯片地址分配 根據(jù) 車(chē)床數(shù)控系統(tǒng)主機(jī)板電原理 圖中地址譯碼器 U4( 74LS138)的連接情況,可以算出主機(jī)板中存儲(chǔ)器與 I/O 芯片的地址分配如表 31 所示。選中某一功能時(shí),對(duì)應(yīng)的指示燈點(diǎn)亮,進(jìn)入相應(yīng)的功能處理。 宮鳳麗: C6140 臥式車(chē)床數(shù)控化改造設(shè)計(jì)控制部分的設(shè)計(jì) 22 圖 31 系統(tǒng)監(jiān)控管理程序流程圖 8255 芯片初始化子程序 B255: MOV DPTR, 3FFFH ;指向 8255 的控制口地址 MOV A, 10001001B ; PA口輸出, PB 口輸出, PC口輸入均為方 式 0 MOVX DPTR, A ;控制字被寫(xiě)入 MOV DPTR, 3FFCH ;指向 PA口 MOV A, 0FFH ;預(yù)置 PA口全 “1” MOVX DPTR, A ;輸出全 “1” 到 PA 口 MOV DPTR, 3FFDH ;指向 PB口 MOV A, 0FFH ;預(yù)置 PB口全 “1” MOVX DPTR, A ;輸出全 “1” 到 PB 口 RET 8279 芯片初始化子程序 B279: MOV DPTR, 5FFFH ;指向 8279 控制口地址 MOV A, 0CFH ;清除 FIFO 與顯示 RAM 命令 MOVX DPTR, A ;命令字被寫(xiě)入 WAIT: MOVX A, DPTR ;從 8279 的控制口讀取 8279 的狀態(tài)字 JB , WAIT ;測(cè)試顯示 RAM有沒(méi)有被清除完畢。已知 8279的控制口地址為 5FFFH,數(shù)據(jù)口地址為 5FFEH,則顯示程序如下: DIR: MOV DPTR, 5FFFH ; 8279 的控制口地址 MOV A, 90H ;寫(xiě) 8279 顯示 RAM 的命令, MOVX DPTR, A ;從顯示 RAM 的 00H 地址開(kāi)始寫(xiě),每寫(xiě)一次,顯示 RAM 的地址自動(dòng)加 1 MOV R0, 6BH ;顯示緩沖區(qū)的首地址為 6BH MOV R7, 09H ;顯示緩沖區(qū)的長(zhǎng)度為 9個(gè)字節(jié) MOV DPTR, 5FFEH; 8279 的數(shù)據(jù)口地址 DIR0: MOV A, R0 ;從 CPU 的 RAM 中讀取顯示段碼的編碼 ADD A, 05H ; PC 與 DTAB 表格之間的偏移量 MOVC A, A+PC ;查表,取出顯示段碼 MOVX DPTR, A ;送到 8279 顯示 RAM 中指定的字節(jié) INC R0 ;寫(xiě) 8279 的下一個(gè)顯示 RAM DJNZ R7, DIR0 ;循環(huán) 9 次,完成 9位顯示 RET 段碼 字符 編碼 DTAB:DB 6FH ; F 0001 DB 0DAH DB 0BEH ; X 0203 DB 0E7H DB 0A3H ; Z 0405 DB 0CBH DB 0D1H ; U 0607 DB 0D3H DB 0DCH ; W 0809 宮鳳麗: C6140 臥式車(chē)床數(shù)控化改造設(shè)計(jì)控制部分的設(shè)計(jì) 24 DB 0CEH DB 0DFH ; 0A DB 21H ; 0 0B DB 7BH ; 1 0C DB 91H ; 2 0D DB 19H ; 3 0E DB 4BH ; 4 0F DB 0DH ; 5 10 DB 05H ; 6 11 DB 69H ; 7 12 DB 01H ; 8 13 DB 09H ; 9 14 DB 20H ; 0. 15 DB 7AH ; 1. 16 DB 90H ; 2. 17 DB 18H ; 3. 18 DB 4AH ; 4. 19 DB 0CH ; 5. 1A DB 04H ; 6. 1B DB 68H ; 7. 1C DB 00H ; 8. 1D DB 08H ; 9. 1E ... ... ; 根據(jù)系統(tǒng)需要編制字庫(kù) 當(dāng)需要顯示一組字符時(shí),首先給顯示緩沖區(qū)的 6BH~ 73H 這 9 個(gè)字節(jié)賦值,然后調(diào)用 DIR 子程序即可。程序如下: MOV DPTR, 7FFFH ;指向 DAC0832 口地址 MOV A, DATA ;準(zhǔn)備輸出的數(shù)字量 00H~ 0FFH MOVX DPTR, A ;輸出直流電壓 0~ 10V 宮鳳麗: C6140 臥式車(chē)床數(shù)控化改造設(shè)計(jì)控制部分的設(shè)計(jì) 26 步進(jìn)電動(dòng)機(jī)的運(yùn)動(dòng)控制程序 步進(jìn)電動(dòng)機(jī)的運(yùn)動(dòng)控制采用的是硬環(huán)分, 步進(jìn)電動(dòng)機(jī)的通電節(jié)拍由硬件電路決定,編制軟件時(shí)可以不考慮。準(zhǔn)備走 100 步 CONT1: SETB 。發(fā)步進(jìn)脈沖的下降沿(設(shè)驅(qū)動(dòng)器對(duì)于脈沖的下降沿有效) NOP 。發(fā)步進(jìn)脈沖的上升沿 MOV 0EH,4EH 。20200 的 HEX 碼為 4E20 CALL DELAY 。循環(huán)次數(shù)減 1 后,若不為 0 則繼續(xù),循環(huán) 100次 RET ( 2)電動(dòng)機(jī)反轉(zhuǎn) 100 步 MOV 0FH,100D 。反轉(zhuǎn)時(shí) =0 CLR 。延時(shí)(讓驅(qū)動(dòng)電路的光耦合器充分導(dǎo)通) NOP 。發(fā)步進(jìn)電機(jī)的上升沿 MOV 0EH,4EH 。20200 的 HEX 碼為 4E20 CALL DELAY 。循環(huán)次數(shù)減 1 后,若不為 0 則繼續(xù),循環(huán) 100次 RET 主軸、卡盤(pán)與冷卻泵的控制程序 車(chē)床主軸的控制,就是控制主電動(dòng)機(jī)的正 /反 /停以及自動(dòng)變速;電動(dòng)卡盤(pán)需要控制其夾緊與松開(kāi);冷卻泵需要控制它的啟 /停。 現(xiàn)以主軸正轉(zhuǎn)為例,從 車(chē)床數(shù)控系統(tǒng)主機(jī)板電原理圖 可以看出,主軸的正轉(zhuǎn)由 8255 的 PA0 來(lái)控制,當(dāng)用低電平信號(hào)來(lái)控制主軸正轉(zhuǎn)時(shí),程序如下: MOV DPTR, 3FFCH ; 8255 PA 口地址 MOVX A, DPTR ;讀出 PA 口鎖存器內(nèi)容 CLR A ;修改 MOVX DPTR, A ;置 PA0=0,直流繼電器 K+閉合,主軸正轉(zhuǎn) 控制系統(tǒng)的軟件還包括兩坐標(biāo)直線和圓弧的插補(bǔ)程序、直螺紋和錐螺紋的插補(bǔ)程 序,另外還有串行通信程序等。 插補(bǔ)程序設(shè)計(jì) 數(shù)控系統(tǒng)中常用的插補(bǔ)算法有:逐點(diǎn)比較法、數(shù)字積分法、時(shí)間分割法及最小偏差法等。逐點(diǎn)比較插補(bǔ)是以階梯折線來(lái)逼近直線或圓弧等曲線的,它的規(guī)定的加工直線或圓弧之間的最大誤差為一個(gè)脈沖當(dāng)量,因此只要把脈沖當(dāng)量(每走一步的距離即步長(zhǎng) )取得足夠小,就可以達(dá)到加工精度的要求。 由于直線插補(bǔ)和圓弧插補(bǔ)各象限原理相同,在這以第一象限的直線插補(bǔ)為例,其它象限的插補(bǔ)在這不在做詳細(xì)介紹。 插補(bǔ)軌跡運(yùn)算流程圖如下: 宮鳳麗: C6140 臥式車(chē)床數(shù)控化改造設(shè)計(jì)控制部分的設(shè)計(jì) 28 圖 32 直線插補(bǔ)流程圖 3. 11 本章小結(jié) 本章的內(nèi)容是在第二章的基礎(chǔ)上,主要對(duì)鍵盤(pán)的輸入程序、顯示器的顯示程序、直線插補(bǔ)等典型的程序設(shè)計(jì)。 在設(shè)計(jì)中對(duì)機(jī)床數(shù)控部分的 I/O 進(jìn)行了擴(kuò)展,并對(duì)鍵盤(pán)和顯示器進(jìn)行了相應(yīng)的設(shè)計(jì),對(duì)程序進(jìn)行了初始化。 本課題的控制系統(tǒng)設(shè)計(jì)部分的設(shè)計(jì)過(guò)程有理論依據(jù),但因各種原因沒(méi)有進(jìn)行實(shí)際調(diào)試。 在本次設(shè)計(jì)只限于一個(gè)相對(duì)簡(jiǎn)單、功能單一開(kāi)環(huán)的控制系統(tǒng),今后可以向功能多樣化、智能化、閉環(huán)的控制系統(tǒng)發(fā)展。通過(guò)這一次的鍛煉,為即將走向工作崗位增加籌碼。從課題的選題到論文的完成,任老師傾注了大量的時(shí)間和精力,細(xì)心輔導(dǎo),使我學(xué)到了 很多 的知識(shí),獲益良多。 由于任老師耐心地為我答疑解惑、開(kāi)拓思路,提供了許多建設(shè)性的方案。任繼文老師淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)、寬廣的胸懷和淡泊明志的精神境界都給我以潛移默化的影響,將使我終生受益。 附錄 31 附錄 A 外文翻譯 —— 原文部分 The Numerical Control Engine Bed Transforms Harvey ackey First numerical control system development summary brief history and tendency In 1946 the first electronic accounting machine was born in the world, this indicated the humanity created has been possible to strengthen and partially to replace the mental labor the tool. It with the humanity these which in the agriculture, the industry society created only is strengthens the physical labor the tool to pare, got up the quantitive leap, entered the information society for the humanity to lay the foundation. After 6 years, in 1952, puter technology applied to the engine bed , the first numerical control engine bed were born in US. From this time on, the traditional engine bed has had the archery target change. Since nearly half century, the numerical control system has experienced two stages and six generation of development. Numerical control (NC) stage (1952 ~ 1970) The early puter operating speed is low, was not big to then science putation and the data processing influence, but could not adapt the engine bed realtime control request. The people can not but use numeral logic circuit to build to bee an engine bed special purpose puter to take the numerical control system, is called the hardware connection numerical control (HARDWIRED NC), Jian Chengwei numerical control (NC). Along with the primary device development, this stage has had been through repeatedly three generations, namely 1952