曹建福,王 浩,劉 軍
(1.西安交通大學(xué) 電信學(xué)院,西安 710049;2.西安理工大學(xué) 自動(dòng)化與信息工程學(xué)院,西安 710048)
高速高精數(shù)控加工要求在數(shù)控系統(tǒng)中進(jìn)行大量數(shù)據(jù)的傳輸,為了保證數(shù)據(jù)及時(shí)準(zhǔn)確地輸送,對(duì)系統(tǒng)的實(shí)時(shí)性和可靠性都提出了很高的要求。一方面,隨著工業(yè)現(xiàn)場(chǎng)環(huán)境和控制對(duì)象本身的日益龐雜,外圍設(shè)備與數(shù)控系統(tǒng)的交互信息越來(lái)越多;另一方面,一些已經(jīng)具備獨(dú)立性的功能模塊作為一種全新的優(yōu)化方式和拓?fù)浣Y(jié)構(gòu)融入到數(shù)控系統(tǒng)的功能框架中,形成具備網(wǎng)絡(luò)特征協(xié)同處理的數(shù)控系統(tǒng)控制網(wǎng)絡(luò)。因此,采用現(xiàn)場(chǎng)總線構(gòu)建開(kāi)放結(jié)構(gòu)數(shù)控系統(tǒng)成為一種必然的技術(shù)發(fā)展趨勢(shì)。
目前,不少學(xué)者對(duì)基于現(xiàn)場(chǎng)總線的數(shù)控系統(tǒng)進(jìn)行了研究。文獻(xiàn)[1,2]構(gòu)建了基于現(xiàn)場(chǎng)總線的開(kāi)放式架構(gòu)數(shù)控系統(tǒng),實(shí)現(xiàn)了系統(tǒng)功能的可重構(gòu)。文獻(xiàn)[3]通過(guò)建立同步網(wǎng)絡(luò)模型,解決基于現(xiàn)場(chǎng)總線的控制系統(tǒng)通信,但存在延遲問(wèn)題。文獻(xiàn)[5]介紹了一種利用藍(lán)牙技術(shù)構(gòu)建一個(gè)無(wú)線制造網(wǎng)絡(luò)的方法,用該方法取代現(xiàn)有數(shù)控機(jī)床有線通信方式,以此建設(shè)無(wú)線制造工業(yè)環(huán)境,該方法在工業(yè)現(xiàn)場(chǎng)的實(shí)用性和可靠性還有待驗(yàn)證。文獻(xiàn)[8]建立了現(xiàn)場(chǎng)總線通信協(xié)議的基本模型,為設(shè)計(jì)新的或統(tǒng)一的協(xié)議標(biāo)準(zhǔn)奠定了基礎(chǔ),文獻(xiàn)[10-12]介紹了基于CAN總線的通信機(jī)理,但是針對(duì)的是中低擋數(shù)控系統(tǒng),無(wú)法滿足高檔數(shù)控裝置對(duì)實(shí)時(shí)性和可靠性的要求。
本文提出了一種分布式的六軸數(shù)控系統(tǒng),CNC控制器與內(nèi)裝式PMC、遠(yuǎn)程操作面板之間數(shù)據(jù)通信采用現(xiàn)場(chǎng)總線,這種數(shù)控系統(tǒng)結(jié)構(gòu)擴(kuò)展性好,而且連線方便。論文設(shè)計(jì)了一種面向數(shù)控系統(tǒng)的現(xiàn)場(chǎng)總線協(xié)議,實(shí)現(xiàn)現(xiàn)場(chǎng)總線接口能滿足實(shí)時(shí)性和可靠性要求。
傳統(tǒng)數(shù)控系統(tǒng)大多是采用專(zhuān)用體系結(jié)構(gòu),系統(tǒng)功能固定、人機(jī)界面不靈活、軟硬件開(kāi)放性差,并且采取集中式控制方式,不利于與其他網(wǎng)絡(luò)設(shè)備進(jìn)行互連。基于現(xiàn)場(chǎng)總線的開(kāi)放式數(shù)控系統(tǒng)可以與現(xiàn)場(chǎng)的設(shè)備相連形成一個(gè)控制系統(tǒng)網(wǎng)絡(luò),實(shí)現(xiàn)分布式的控制。采用現(xiàn)場(chǎng)總線的數(shù)控系統(tǒng)還能根據(jù)機(jī)床廠家和最終用戶的需求,對(duì)其軟硬件功能進(jìn)行剪裁和重新構(gòu)造,因此它能夠滿足高檔數(shù)控系統(tǒng)的需要。
本文設(shè)計(jì)的加工中心用六軸數(shù)控系統(tǒng),由CNC控制器、顯示與數(shù)據(jù)操作終端、內(nèi)裝式PMC、遠(yuǎn)程操作面板等幾部分組成,總體結(jié)構(gòu)如圖1所示。CNC控制器包括嵌入式工控主板和運(yùn)動(dòng)控制模板,嵌入式工控主板負(fù)責(zé)數(shù)控系統(tǒng)的人機(jī)界面、數(shù)據(jù)文件管理和加工代碼預(yù)處理等功能。運(yùn)動(dòng)控制模板采用DSP+FPGA的硬件結(jié)構(gòu),負(fù)責(zé)數(shù)控系統(tǒng)的大多數(shù)實(shí)時(shí)控制任務(wù),包括代碼譯碼、多軸插補(bǔ)運(yùn)算、速度控制、模式管理等;同時(shí),CNC控制器作為數(shù)控系統(tǒng)的主節(jié)點(diǎn)負(fù)責(zé)控制系統(tǒng)網(wǎng)絡(luò)初始化、協(xié)調(diào)控制節(jié)點(diǎn)數(shù)據(jù)交換以及控制命令發(fā)送等功能。數(shù)控系統(tǒng)的其他分布式控制節(jié)點(diǎn)還包括內(nèi)裝式PMC、遠(yuǎn)程操作面板等,內(nèi)裝式PMC負(fù)責(zé)輸入輸出信號(hào)的邏輯控制,實(shí)現(xiàn)I/O數(shù)據(jù)掃描、PMC邏輯運(yùn)算功能,遠(yuǎn)程操作面板利用數(shù)字接口,把機(jī)床操作面板的主控制信號(hào)送給CNC控制器。這種結(jié)構(gòu)結(jié)合了嵌入式工控主板的開(kāi)放性和DSP的高速處理能力,具有開(kāi)發(fā)性高、運(yùn)算速度塊、可靠性高等特點(diǎn)。
圖1 基于現(xiàn)場(chǎng)總線的六軸數(shù)控系統(tǒng)總體結(jié)構(gòu)
CAN協(xié)議是建立在國(guó)際標(biāo)準(zhǔn)組織開(kāi)放系統(tǒng)互連模型之上,其協(xié)議簡(jiǎn)單,最高通信速率可達(dá)1Mbit/s,直接傳輸距離高達(dá)10km,采取多主工作方式,高抗電磁干擾性、糾錯(cuò)能力強(qiáng);同時(shí),CAN接口安裝方便,成本低。因此,本論文選用CAN總線作為PMC與CNC控制器之間的數(shù)據(jù)通信方式。圖2為內(nèi)裝式PMC板的原理結(jié)構(gòu)圖,它的基本I/O點(diǎn)數(shù)是64/64點(diǎn),可擴(kuò)展到128/128點(diǎn)。PMC板使用了TI公司的TMS320F2812數(shù)字處理器,該DSP內(nèi)集成了CAN控制器。
圖2 內(nèi)裝式PMC板原理結(jié)構(gòu)圖
遠(yuǎn)程操作面板也是通過(guò)CAN總線與CNC控制器進(jìn)行通信,主要傳送來(lái)自操作面板的開(kāi)關(guān)信號(hào),同時(shí)接收來(lái)的響應(yīng)信號(hào)。遠(yuǎn)程操作面板采用AT89S52單片機(jī),使用獨(dú)立CAN控制器SJA1000T。
高檔數(shù)控系統(tǒng)要實(shí)現(xiàn)高速高精控制,這既要在內(nèi)部完成大量的數(shù)據(jù)傳輸,同時(shí)還要保證通信的實(shí)時(shí)性和可靠性。本文定義了一種面向數(shù)控系統(tǒng)的高速現(xiàn)場(chǎng)總線通信協(xié)議,這種協(xié)議能保證數(shù)控系統(tǒng)中各節(jié)點(diǎn)之間的循環(huán)通信周期達(dá)到16ms。協(xié)議采用帶29位報(bào)文標(biāo)識(shí)符的擴(kuò)展幀,其通信報(bào)文形式如表1所示。
表1 CAN總線報(bào)文結(jié)構(gòu)
CAN報(bào)文由擴(kuò)展的29位標(biāo)識(shí)符、1位數(shù)據(jù)類(lèi)型、1位遠(yuǎn)程發(fā)送請(qǐng)求、4位該幀內(nèi)數(shù)據(jù)段數(shù)據(jù)長(zhǎng)度、0~8字節(jié)數(shù)據(jù)段、16位循環(huán)冗余碼CRC、2位應(yīng)答位和1位幀結(jié)尾組成。
CAN標(biāo)識(shí)符的分配在設(shè)計(jì)通信系統(tǒng)應(yīng)用層協(xié)議時(shí)非常重要,它決定了信息和相關(guān)的優(yōu)先權(quán)及信息的等待時(shí)間,同時(shí)也影響了信息濾波適用性、合理的通信結(jié)構(gòu)適用性和標(biāo)識(shí)符使用的效率。報(bào)文標(biāo)識(shí)符中包含有優(yōu)先標(biāo)記、目標(biāo)地址、源地址、幀類(lèi)型、幀號(hào)、保留位、結(jié)束標(biāo)記,其格式如表2所示。
表2 擴(kuò)展幀報(bào)文標(biāo)識(shí)符格式
其中,優(yōu)先標(biāo)記(1位)是用來(lái)標(biāo)記當(dāng)前幀的優(yōu)先級(jí)別。對(duì)于正常信息,該位置為1,對(duì)于緊急信息(如報(bào)警信息、緊急斷電等),將該標(biāo)記置0。該標(biāo)記先于其他幀占用總線,在最短的時(shí)間內(nèi)到達(dá)目的地址;
目標(biāo)地址(7位):指定該幀數(shù)據(jù)或信息所要到達(dá)的目的地;
源地址(7位):指定該幀數(shù)據(jù)或信息的來(lái)源地址;在數(shù)控系統(tǒng)中,對(duì)每個(gè)CAN模板都設(shè)定一個(gè)地址號(hào),用來(lái)區(qū)分不同的設(shè)備。CAN總線上的節(jié)點(diǎn)個(gè)數(shù)主要取決于總線驅(qū)動(dòng)電路,目前最多可達(dá)110個(gè)。本文采用了長(zhǎng)度為7位的目標(biāo)地址和源地址,可以有128個(gè)編碼地址,完全滿足系統(tǒng)需要。
幀類(lèi)型(1位):用來(lái)標(biāo)記該幀數(shù)據(jù)場(chǎng)中的內(nèi)容是要傳輸?shù)臄?shù)據(jù)內(nèi)容還是通訊協(xié)議的控制信息;
幀號(hào)(8位):是用來(lái)標(biāo)記數(shù)據(jù)拆分后的幀塊序號(hào);由于每個(gè)郵箱最多可存放8字節(jié)即64位的數(shù)據(jù),而消息的大小不定,CNC運(yùn)動(dòng)控制器側(cè)輸入信號(hào)有32位,可以直接傳輸給,刀庫(kù)表信息和梯形圖程序段卻遠(yuǎn)遠(yuǎn)超過(guò)64位,需要分段傳輸。在傳輸超過(guò)8字節(jié)長(zhǎng)度的數(shù)據(jù)時(shí),按照每塊8字節(jié)對(duì)數(shù)據(jù)進(jìn)行拆分,根據(jù)數(shù)據(jù)的先后順序,指定相應(yīng)的幀號(hào),從0遞增。幀號(hào)采用8位表示,取值范圍為0~255,用這種方式完全滿足本控制系統(tǒng)的通信需求。
保留(4位):用作擴(kuò)展,可以根據(jù)功能擴(kuò)展的需要增加其他功能;
結(jié)束標(biāo)記(1位):是用來(lái)標(biāo)記該數(shù)據(jù)包傳輸過(guò)程的結(jié)束。
CAN通信報(bào)文數(shù)據(jù)段要傳送的數(shù)據(jù)包括MST代碼、I/O信息、當(dāng)前刀盤(pán)位置信息、梯形圖程序、刀庫(kù)表信息以及遠(yuǎn)程操作面板信號(hào)。
TMS320F2812數(shù)字處理器上集成了增強(qiáng)型CAN(eCAN)總線通信接口,完全支持CAN2.0B總線規(guī)范。同時(shí),帶有32個(gè)完全可配置的接收/發(fā)送郵箱,支持消息的定時(shí)郵遞功能,最高通信速率可以達(dá)到1Mbps。另外,eCAN模塊能夠?qū)崿F(xiàn)靈活穩(wěn)定的通信,且使用起來(lái)非常方便,只要對(duì)位時(shí)序配置寄存器、屏蔽寄存器、郵箱配置寄存器等相關(guān)寄存器進(jìn)行配置就可以使用。為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,DSP的CAN接口發(fā)送和接收線路并不是直接與PCA82C250的TXD和RXD相連,而是在中間加入了一級(jí)高速光耦6N137,UC101、UC103為光耦6N137,這樣就很好地實(shí)現(xiàn)了總線上各CAN節(jié)點(diǎn)間的電氣隔離。另外,CAN接口電路采用的雙線差分驅(qū)動(dòng),極大地抑制了工業(yè)現(xiàn)場(chǎng)干擾信號(hào)的影響,保證了數(shù)控系統(tǒng)通信的可靠性。具體電路如圖3所示。
圖3 CAN總線接口電路圖
選用了飛利浦公司的CAN通信收發(fā)器PCA82C250作為F2812的CAN控制器和物理總線間的接口,以實(shí)現(xiàn)對(duì)總線的差動(dòng)發(fā)送和接收功能。將PCA82C250引腳8接地,在高速模式下發(fā)送器輸出級(jí)晶體管以最快速度啟動(dòng)或者關(guān)閉,以保證了數(shù)據(jù)發(fā)送的實(shí)時(shí)性。
設(shè)計(jì)的CAN安全通信軟件包括:CAN模塊初始化模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊等。在使用CAN接口進(jìn)行通信之前,必須先對(duì)其進(jìn)行初始化,并僅當(dāng)DSP處于初始化模式下時(shí)才能進(jìn)行初始化。接口初始化結(jié)束后,還需要進(jìn)行郵箱的初始化。郵箱的初始化包括對(duì)郵箱屬性域、控制域和數(shù)據(jù)域的設(shè)置。郵箱初始化完畢,只要滿足一定的條件,相應(yīng)的郵箱就能進(jìn)行正常的發(fā)送和接收操作。
使用發(fā)送郵箱發(fā)送消息,發(fā)送請(qǐng)求寄存器(CANTRS)被置1,啟動(dòng)消息發(fā)送,CAN模塊處理CAN消息的發(fā)送。成功發(fā)送消息后,CAN模塊將發(fā)送響應(yīng)標(biāo)志位TA置位為1。成功發(fā)送或中止發(fā)送后,模塊將TRS標(biāo)志復(fù)位為0。同一個(gè)郵箱為了進(jìn)行下一次發(fā)送,必須將發(fā)送響應(yīng)標(biāo)志清零,即置TA為1。使用同一個(gè)郵箱發(fā)送其他消息,需要刷新郵箱的數(shù)據(jù)區(qū)。等待TRS為1,啟動(dòng)下一個(gè)發(fā)送。寫(xiě)入郵箱RAM的數(shù)據(jù)可以是半字(16位s)或整字(32位s),但CAN模塊總是返回一個(gè)32位的數(shù)據(jù),CPU必須接收所有32位或32位中的一部分。
使用接收郵箱接收消息,當(dāng)接收到一個(gè)消息時(shí),接收消息掛起寄存器(CANRMP)中相應(yīng)的標(biāo)志位就會(huì)被置位,并產(chǎn)生一個(gè)中斷,CPU可以從郵箱中讀取消息。在CPU從郵箱RAM中讀取數(shù)據(jù)之前,應(yīng)該先清除RMP位。在讀取數(shù)據(jù)后,CPU還需要驗(yàn)證RMP有沒(méi)有再次被模塊置位。如果RMP被置1,說(shuō)明數(shù)據(jù)已經(jīng)被損壞。當(dāng)CPU讀取舊的消息時(shí),由于接收到新的消息,CPU要重新讀取數(shù)據(jù)。
針對(duì)多軸聯(lián)動(dòng)數(shù)控系統(tǒng)具有多任務(wù)和實(shí)時(shí)性的特點(diǎn),本文設(shè)計(jì)的數(shù)控核心軟件采用前、后臺(tái)型軟件。前臺(tái)程序?yàn)橹袛鄷r(shí)間為4ms的實(shí)時(shí)中斷服務(wù)程序,承擔(dān)幾乎全部與數(shù)控加工過(guò)程直接相關(guān)的實(shí)時(shí)性任務(wù),如插補(bǔ)計(jì)算、MST代碼處理、報(bào)警處理、速度控制和位置控制等;后臺(tái)程序又稱為“背景”程序,主要用來(lái)完成加工數(shù)據(jù)的準(zhǔn)備工作和管理工作,包括:數(shù)控加工程序輸入、譯碼、刀補(bǔ)計(jì)算、FIFO通信、CAN通信以及I/O處理等功能。后臺(tái)程序是一個(gè)循環(huán)運(yùn)行的程序,它是主程序,在運(yùn)行過(guò)程中被4ms實(shí)時(shí)中斷服務(wù)程序打斷,前、后臺(tái)程序相互配合完成數(shù)控系統(tǒng)的各項(xiàng)控制和管理任務(wù)。
本系統(tǒng)已在某公司的五軸數(shù)控加工中心上進(jìn)行了成功的應(yīng)用,實(shí)際應(yīng)用的數(shù)控加工中心如圖4所示,已完成了速度、精度測(cè)試和實(shí)際切削實(shí)驗(yàn)。圖5為開(kāi)發(fā)的六軸數(shù)控系統(tǒng)主界面圖。
圖4 STH-850型數(shù)控加工中心
圖5 六軸數(shù)控系統(tǒng)主界面圖
數(shù)控系統(tǒng)主要的技術(shù)指標(biāo)如下:
1)具有六個(gè)運(yùn)動(dòng)軸,即直線軸X、Y、Z軸,旋轉(zhuǎn)軸A、B、C軸,可實(shí)現(xiàn)五軸聯(lián)動(dòng),最小分辨率0.001mm/0.001度;
2)切削進(jìn)給速度達(dá)到24m/min,快移速度達(dá)到24m/min,進(jìn)給加速度達(dá)到20m/s2;
3)具有微線段的前瞻自適應(yīng)速度控制功能,其中微線段最小段長(zhǎng)為0.01mm,預(yù)讀段數(shù)為100段;
4)具有直線、圓弧插補(bǔ)、空間螺旋線等插補(bǔ)功能;
5)具有刀具補(bǔ)償、螺距補(bǔ)償以及反向間隙補(bǔ)償?shù)茸詣?dòng)補(bǔ)償功能;
6)主軸轉(zhuǎn)速達(dá)到8000r/min,具有正轉(zhuǎn)、反轉(zhuǎn)、停止以及準(zhǔn)停功能;
7)支持鉆孔、鏜孔、攻絲等多種固定循環(huán)加工宏指令;
8)提供內(nèi)裝式PMC功能,可使用梯形圖進(jìn)行編程;
9)具有動(dòng)態(tài)三維仿真顯示功能;
10)提供手動(dòng)、自動(dòng)換刀功能。
在預(yù)讀段銜接進(jìn)給速度和加工過(guò)程平滑減速的約束條件下,對(duì)轉(zhuǎn)接點(diǎn)最優(yōu)銜接速度進(jìn)行預(yù)計(jì)算,以實(shí)現(xiàn)前瞻自適應(yīng)速度控制功能。按照國(guó)家標(biāo)準(zhǔn)對(duì)直線和圓插補(bǔ)精度進(jìn)行了測(cè)試,測(cè)試結(jié)果如表3所示。實(shí)際測(cè)試表明,微線段加工時(shí)其進(jìn)給速度可達(dá)到10m/min,可實(shí)現(xiàn)進(jìn)給速度的高速平滑銜接。圖6為使用五軸聯(lián)動(dòng)加工葉輪試件的實(shí)際切削圖。數(shù)控系統(tǒng)經(jīng)過(guò)持續(xù)不間斷生產(chǎn)加工,結(jié)果表明:控制系統(tǒng)硬件能夠可靠工作,軟件各項(xiàng)功能工作正常并且穩(wěn)定,加工過(guò)程中速度控制平穩(wěn),精度高,系統(tǒng)各項(xiàng)指標(biāo)均達(dá)到了設(shè)計(jì)時(shí)提出的要求。
表3 試件測(cè)試結(jié)果
為了保證加工中心用數(shù)控系統(tǒng)連線方便和功能具有可擴(kuò)展性,本文提出了基于現(xiàn)場(chǎng)總線的六軸數(shù)控系統(tǒng)結(jié)構(gòu),實(shí)現(xiàn)了分布式的運(yùn)動(dòng)控制,克服了傳統(tǒng)數(shù)控系統(tǒng)集中式控制的缺點(diǎn)。設(shè)計(jì)了一種現(xiàn)場(chǎng)總線協(xié)議及其安全通信軟件,能保證CNC控制器與內(nèi)裝式PMC、遠(yuǎn)程操作面板之間進(jìn)行數(shù)據(jù)通信的實(shí)時(shí)性和可靠性。該系統(tǒng)已在五軸數(shù)控加工中心上得到了成功的應(yīng)用。
圖6 五軸聯(lián)動(dòng)加工試件實(shí)際切削圖
[1] Dong Yu,Yi Hu,Xun W.Xu,Yan Huang,and Shaohua Du,"An Open CNC System Based on Component Technology,"IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING,2009.6(2).
[2] Yi Hu,Dong Yu,Shaohua Du,Xiaohui Zhang,Yaodong Tao,Zhicheng Wang,"Design and Implementation of Reconfigurable CNC System based on Fieldbus,"Proceedingsof the 2008 IEEE International Conference on Information and Automation 2008,6.
[3] Decotignie,J.-D.;Auslander, D.;Moreaux, M.;“Fieldbus
Based Integrated Communication and Control Systems-Architectural Implications,”Digital Object Identifier 10.1109/AMC.1996.
[4] Gianluca Cena,Andriano Valenzano,“An Improved CAN FieldBus for industrial Applications,”IEEE Trans.Indus.Elect.,1997,44(4)
[5] Peng Yu Hai,“The Research of Wireless Manufacturing Network Based on Bluetooth Technology,”Digital Object Identifier 10.1109/ISISE.2008.
[6] 周侗,徐吃冬,于海斌.現(xiàn)場(chǎng)總線控制系統(tǒng)模塊化方法研究.儀器儀表學(xué)報(bào),2006,27(6).
[7] 潘月斗,許鎮(zhèn)琳,徐東桂.CAN總線技術(shù)在嵌入式機(jī)床數(shù)控系統(tǒng)中的設(shè)計(jì)應(yīng)用.機(jī)床與液壓,2006.
[8] Dan Liu1,Haibin Yu,Zhongfeng Wang,Yanfeng Li,"A Basic Model of Fieldbus Communication Protocols," Proceedings of the 6th World Congress on Intelligent Control and Automation,2006,6.
[9] Changyan Zhou,Ratnesh Kumar,and Ramavarapu S.Sreenivas,"Decentralized Modular Control of Concurrent Discrete Event Systems,"Proceedings of the 46th IEEE Conference on Decision and Control New Orleans,LA,USA,2007,11.
[10] Su Rongyan,Chang Jiupeng,Shao Liqing,Deng Kangyao,"Design of TestControl System Interface Communication Card in Engine Based on CAN Bus [J],"Micro Computer Information, 2005,1,101-103.
[11] Xiao Hairong,Zhou Fengyu,"Design of CAN Bus System Brainpower Node Based on SJA1000[J],"Computer Automatic Measure and Control,2001,9(2).
[12] Application of Unattached CAN Apparatus[J].Nanjing Institute of Technology Transaction,2002,3.