淺談CNC動(dòng)態(tài)卡在總線(xiàn)方式下的實(shí)現
隨著(zhù)微處理器的快速發(fā)展和廣泛的應用,數字通信網(wǎng)絡(luò )延伸到工業(yè)過(guò)程現場(chǎng)成為可能,產(chǎn)生了以微處理器為核心,使用集成電路代替常規電子線(xiàn)路,實(shí)施信息采集、顯示、處理、傳輸以及優(yōu)化控制等功能的智能設備。設備之間彼此通信、控制,在精度、可操作性以及可靠性、可維護性等都有更高的要求。由此,導致了現場(chǎng)總線(xiàn)的產(chǎn)生。1984年,現場(chǎng)總線(xiàn)的概念得到正式提出。IEC(International Electrotechnical Commission,國際電工委員會(huì ))對現場(chǎng)總線(xiàn)(Fieldbus)的定義為:現場(chǎng)總線(xiàn)是一種應用于生產(chǎn)現場(chǎng),在現場(chǎng)設備之間、現場(chǎng)設備和控制裝置之間實(shí)行雙向、串形、多結點(diǎn)的數字通信技術(shù)。
現有的放開(kāi)式數控系統實(shí)現方案主要采用pc機和數控系統結合的方法,pc機作為上位機實(shí)現較為復雜的網(wǎng)絡(luò )通信,人機交互等功能,數控系統作為下位機將上位機輸入的運行參數經(jīng)過(guò)處理交給執行部件執行,同時(shí)將檢測系統的反饋信息上傳給上位機實(shí)現實(shí)時(shí)監控,各個(gè)模塊之間協(xié)調工作互不干擾,給系統升級帶來(lái)了方便。
放開(kāi)式系統動(dòng)態(tài)控制器的核心是dsp,它具有運算速度快,支持復雜運動(dòng)算法的特點(diǎn),可以滿(mǎn)足高精度運動(dòng)控制的要求,因此,以dsp為核心的多軸動(dòng)態(tài)控制卡越來(lái)越廣泛地應用在運動(dòng)控制系統中,將多軸動(dòng)態(tài)控制卡插在pc機擴展槽上,就可以組成高精度運動(dòng)控制系統,位置反饋信號的采集、閉環(huán)控制計算及控制量的輸出均由動(dòng)態(tài)控制卡完成,極大的提高了運算速度和控制響應速度,將工控機的資源從煩瑣的數據采集和計算中解決出來(lái),從而可以更好的實(shí)施整個(gè)控制系統的管理。
作者經(jīng)過(guò)綜合調研,采用ti公司的2407系列dsp作為微處理單元,采用pci總線(xiàn)作為并行總線(xiàn)與pc機進(jìn)行通訊,同時(shí)采用現在比較流行的現場(chǎng)總線(xiàn)技術(shù)同現場(chǎng)設備進(jìn)行通訊,所以這是一個(gè)基于現場(chǎng)總線(xiàn)和pci總線(xiàn)的智能動(dòng)態(tài)控制器。
2 動(dòng)態(tài)控制器的系統構成
2.1 現場(chǎng)總線(xiàn)
基于pci總線(xiàn)的動(dòng)態(tài)控制器采用現場(chǎng)總線(xiàn)技術(shù),解決了傳統串行總線(xiàn)傳輸速率低,響應速度慢,出錯率高等缺點(diǎn),同時(shí)由于現場(chǎng)總線(xiàn)采用數字信號而不是傳統的模擬信號作為通信手段,解決了傳統數控系統中的難以解決的零漂問(wèn)題,簡(jiǎn)化了系統的實(shí)現方案,同時(shí)這種總線(xiàn)有利于放開(kāi)式系統的發(fā)展。
can最早由德國BOSCH公司推出,它廣泛用于離散控制領(lǐng)域,其總線(xiàn)規范已被ISO國際標準組織制定為國際標準,得到了Intel、Motorola、NEC等公司的支持。CAN協(xié)議分為二層:物理層和數據鏈路層。CAN的信號傳輸采用短幀結構,傳輸時(shí)間短,具有自動(dòng)關(guān)閉功能,具有較強的抗干擾能力。CAN支持多主工作方式,并采用了非破壞性總線(xiàn)仲裁技術(shù),通過(guò)設置優(yōu)先級來(lái)避免沖突,通訊距離最遠可達10KM/5Kbps/s,通訊速率最高可達40M /1Mbp/s,網(wǎng)絡(luò )節點(diǎn)數實(shí)際可達110個(gè)。目前已有多家公司開(kāi)發(fā)了符合CAN協(xié)議的通信芯片。
can是一種多主總線(xiàn),通信介質(zhì)可以是雙絞線(xiàn)、同軸電纜或光纖,通信速率可達1mb/s,該協(xié)議由數據鏈路層和物理層組成,數據鏈路層分為邏輯鏈路控制子層(lic)和媒體訪(fǎng)問(wèn)控制子層(mac)?,F在已形成該協(xié)議的國際標準(iso1898),can總線(xiàn)通信接口中集成了can協(xié)議的物理層和數據鏈路層功能,可完成對通信數據的幀處理(包括位填充、數據塊編碼、循環(huán)冗余校驗等)、can總線(xiàn)有can2.0a和can2.0b兩種協(xié)議,can協(xié)議的一個(gè)最大的特點(diǎn)是對通信數據塊進(jìn)行編碼(取消了傳統的對站地址編碼),can協(xié)議采用crc校驗并提供相應的錯誤信息處理功能,保證了數據通信的可靠性。
can總線(xiàn)以其可靠性高、通信速率快、穩定性好,抗干擾能力強,開(kāi)發(fā)成本低等特點(diǎn), 而被工控領(lǐng)域普遍采用,被公認為最有前途的現場(chǎng)總線(xiàn)之一。
2.2 pci 總線(xiàn)
作為目前微型計算機主流總線(xiàn)標準的pci總線(xiàn),原來(lái)是專(zhuān)門(mén)為了提高系統數據傳輸性能,現在作為高性能外設接口,與傳統的isa總線(xiàn)相比,pci總線(xiàn)有以下特點(diǎn):
突出的數據傳輸性能 總線(xiàn)寬度32位(可擴展到64位,)支持突發(fā)傳輸方式,pci總線(xiàn)規范2.0版支持3mhz總線(xiàn)操作,32位33mhz總線(xiàn)在讀寫(xiě)操作中峰值傳輸速率達到132mb/s(isa最大傳輸速率8mb/s);
良好的兼容性能 pci總線(xiàn)部件和插卡的設計獨立于處理器, 定義了3.3-5v兩種信號環(huán)境,5-3.3v的組件技術(shù)可以是使電平平穩過(guò)渡;
即插即用 每個(gè)pci設備上都有配置空間能實(shí)現自動(dòng)配置,使系統bios和操作系統的系統層軟件能自動(dòng)配置系統部件和插卡;
線(xiàn)主控和同步操作,pci總線(xiàn)接口芯片可以主控總線(xiàn),其同步操作可以保證cpu和總線(xiàn)主控同時(shí)操作;
總線(xiàn)仲裁機制,pci總線(xiàn)仲裁能在另一個(gè)總線(xiàn)主設備在pci總線(xiàn)上執行傳輸時(shí)發(fā)出,從而提供系統數據傳輸性能。
在pci總線(xiàn)的設計上采用了plx公司的產(chǎn)品pci9052,這是一種高性能的pci總線(xiàn)控制器,專(zhuān)門(mén)為開(kāi)發(fā)pci板卡而設計的一種pci總線(xiàn)控制器,圖1是放開(kāi)式數控系統總體結構框圖。
2.3 微處理芯片
動(dòng)態(tài)控制器板卡上有一個(gè)高速dsp芯片作為運動(dòng)控制模塊的控制器,該設計選擇it公司生產(chǎn)的tms320lf2407作為動(dòng)態(tài)控制卡的控制芯片,由于tms320xx系列dsp芯片是專(zhuān)門(mén)為控制電機設計的一款高性能低價(jià)位的產(chǎn)品,同時(shí)作為控制電機的伺服控制系統也是采用的這款dsp芯片作為伺服控制器,所以具有良好的通訊和系統兼容性能,tms3201lf2407內部還有一個(gè)can控制器模塊,這樣就不需要另外選擇一個(gè)can控制器,簡(jiǎn)化了電路設計,同時(shí)提高了系統性能。
由于dsp芯片和pc機都是控制器,他們對存儲器編址是不同的,為了統一編碼,在pci控制器和dsp之間要加一個(gè)雙口ram來(lái)連接2個(gè)控制器。idt7024是idt公司生產(chǎn)的一款雙口ram,他和普遍的ram不同之處是它有2個(gè)地址4單元,1個(gè)存儲單元,對于pc機來(lái)說(shuō)他就對對應于一段內存單元,對于dsp來(lái)說(shuō)他可以對應于一段片外存儲單元,這樣就解決了dsp和pc機之間的通信問(wèn)題,本設計采用的是通用pc機加實(shí)時(shí)控制單元的遞階式結構。采用放開(kāi)式數控系統上pc機的windows環(huán)境形成良好的人機界面,利用pc機的資源優(yōu)勢,放開(kāi)式結構平臺(動(dòng)態(tài)控制器)可以集成不同開(kāi)發(fā)商提供的軟件并適合連網(wǎng)需要,且具有與硬件無(wú)關(guān)的特性,設備層高速度、高可靠性,標準化的數字通訊,可滿(mǎn)足用戶(hù)個(gè)性化要求且保證高性能、低成本。
3 系統硬件設計原理
基于can總線(xiàn)動(dòng)態(tài)控制卡的硬件結構如圖2所示,從個(gè)人pc機中傳入的參數如:加工參數,插補軌跡以及一些狀態(tài)信息,通過(guò)pci總線(xiàn)傳到pci控制器pci9052的高速緩存fifo中,pci9052作為總線(xiàn)主設備將pc機傳來(lái)的信息經(jīng)過(guò)緩存最終存儲到雙口ramidt7024內,由于雙口ram映射為pc機的一部分內存地址,所以pc機就像操作內存一樣將信息存儲到雙口ram,等待dsp的讀取,dsp定時(shí)從雙口ram中讀取pc機傳來(lái)的各種控制信息,dsp的主要功能是根據pc機送來(lái)得插補信息,通過(guò)插補算法形成伺服控制模塊能夠接受的動(dòng)態(tài)信息,通過(guò)can總線(xiàn)將運動(dòng)信息傳遞到伺服控制器,通過(guò)伺服控制器來(lái)驅動(dòng)伺服電機運動(dòng),從而控制數控機床的運動(dòng)。
在設計中由于pci9052,idt7024都是5v元件,tms2320lf2407屬于3.3v器件,同時(shí)pci插槽提供5v電源模塊,所以電路只使用了電壓轉換電路將5v信號轉變?yōu)?.3v信號,如圖2,由于dsp內嵌can控制器,所以外部只需要一個(gè)pcac82520t-can收發(fā)器就可以直接掛在can總線(xiàn)上進(jìn)行通訊。
4 數控系統的軟件設計
放開(kāi)式cac系統解決軟件公用的最主要措施是采用通用的操作系統,本系統設計pci動(dòng)態(tài)控制卡可以在windows90/2000/xp中文操作系統下正常工作,軟件框圖如圖3所示。
為了使系統達到控制要求,需要解決如下幾個(gè)關(guān)鍵問(wèn)題:
?。?)保證系統相應的實(shí)時(shí)性
系統對外界信息以足夠快的速度進(jìn)行處理,并在一定的時(shí)間內作出響應,本控制系統是利用windows中斷保證實(shí)時(shí)響應;
?。?)協(xié)調的進(jìn)行多任務(wù)調度
cnc系統具有多種不同優(yōu)先級任務(wù),要求系統軟件能合理,有序地調度這些任務(wù)的運行,多任務(wù)意味著(zhù)多個(gè)任務(wù)能并行運行,調度的關(guān)鍵在于按照一定的優(yōu)先權,事件發(fā)生的順序合理的切換各任務(wù)的狀態(tài);
?。?)提供任務(wù)通信機制
由于cnc系統中各任務(wù)并否是孤立的,任務(wù)之間要完成信息交換和資源共享,cnc系統的通信形式有兩種,互斥和同步,互斥是針對不可共享資源的訪(fǎng)問(wèn)問(wèn)題,如大多數外部設備和共享的可讀寫(xiě)數據區,同步是指任務(wù)之間的協(xié)同工作,任務(wù)之間的相對速度有不可預見(jiàn)性,必須由任務(wù)通信機制達到同步;
?。?)提供定時(shí)和延時(shí)
定時(shí)和延時(shí)功能一般由時(shí)鐘提供,cnc系統大部分任務(wù)都是依據定時(shí)或延遲條件來(lái)激活。
5 驅動(dòng)程序
5.1 獲取系統分配的配置資源
對于即插即用型設備,系統都是動(dòng)態(tài)分配系統資源的,如何獲取系統分配給這些內存單元的地址是vxd驅動(dòng)程序需要解決的首要問(wèn)題。在pci的配制周期機制中,主橋路提供了兩個(gè)寄存器用于對配置空間的操作,第一個(gè)是配置空間基地址寄存器canfig-address,雙字地址是cf8h,第二個(gè)是配置空間數據緩沖寄存器config-data,地址是cfch,對配置空間的操作是通過(guò)輸入一個(gè)值到設備的config-data寄存器,在此之后如果對config-data寄存器進(jìn)行讀寫(xiě)操作,pci控制器就會(huì )將config-address寄存器中的值轉換成pci總線(xiàn)上所需要的配置周期。
5.2 vxd與應用程序的通訊
vxd運行在系統ring0級,處理系統底層設備,應用程序利用其提供的接口服務(wù)來(lái)處理硬件,windows允許vxd和應用程序之間進(jìn)行雙向通信。
在windows中,win23應用程序對vxd的通訊方法只有一種,利用設備輸入輸出控制函數deviceiocontrol()來(lái)實(shí)現,利用createfile()函數加載vxd獲得vxd設備句柄,如果調用成功,win32應用程序就可以調用deviceiocontrol()程序與vxd進(jìn)行通訊。
vxd的命令代碼需要根據其固定格式進(jìn)行定義,程序中共定義了2個(gè)命令代碼,分別用于對雙口靜態(tài)ram的讀寫(xiě)操作和vxd對win32應用程序異步過(guò)程調用時(shí)回調函數地址傳輸。
另外,由于采用中斷方式對dsp處理的數據進(jìn)行讀取,所以中斷事件發(fā)生時(shí), 需要vxd異步通知win32應用程序,設計時(shí)在應用程序中創(chuàng )建了兩個(gè)線(xiàn)程,一個(gè)用于等待中斷事件,當中斷事件發(fā)生時(shí),讀取dsp送到雙口ram中數據,另一個(gè)用于顯示數據。
5.3 訪(fǎng)問(wèn)i/o以及內存
在s599的串行存儲器中,將pci配置基礎地址寄存器badr1配置為4k,16位寄存器空間,badr2設置為8個(gè)自己的i/o空間,基地址寄存器badro對應s5933內部16個(gè)雙字節pci總線(xiàn)操作寄存器,當利用查找方式獲得配置空間數據時(shí),即可得到存儲器空間基地址和i/o端口基地址。
5.4 處理中斷
當dsp處理數據寫(xiě)滿(mǎn)2k的存儲器空間時(shí)pci將產(chǎn)生中斷,中斷信號從配置空間寄存器中讀出,pci設備分配的硬件中斷信號是共享中斷,必須使用類(lèi)vsharedhardwareint的中斷通知事件處理函數onsharedhardwareint()。
6 應用程序的編寫(xiě)
6.1 人機接口模塊
使用vc編寫(xiě)基于pci總線(xiàn)動(dòng)態(tài)控制器板卡的應用程序,主要利用設備輸入輸出控制函數deviceiocontrol(),將界面上對數控機床的各個(gè)參數轉換數據送到底層的vxd進(jìn)行通信。
6.2 解決程序模塊
對從應用程序中人機界面模塊中傳入的參數進(jìn)行解釋?zhuān)瓿蓪⑸衔粰C輸入信息解釋成下位機dsp能夠執行的語(yǔ)言,程序解釋模塊固化到pci板卡的dsp片內rom中。
6.3 plc接口模塊
實(shí)現pci控制卡與現場(chǎng)總線(xiàn)上的plc模塊之間的通訊,由于can總線(xiàn)的特點(diǎn)是可以將對plc模塊的控制作為一個(gè)應用模塊做在pci控制卡上,從而實(shí)現了模塊化控制。
6.4 插補模塊
在加工信息解釋的基礎上,調用運動(dòng)學(xué)算法模塊,將運動(dòng)平臺在操作空間的運動(dòng)轉變?yōu)榭臻g的伺服運動(dòng),實(shí)時(shí)生成刀具的運動(dòng)軌跡,并將各伺服軸的移動(dòng)指令送給伺服模塊。
6.5 運動(dòng)算法模塊
主要為伺服驅動(dòng)提供逆解、速度映射算法,為加工狀態(tài)的實(shí)時(shí)仿真及精度補償提供正解算法。
7 結語(yǔ)
采用pc+動(dòng)態(tài)控制卡模式,實(shí)現數控系統的放開(kāi)式設計方法開(kāi)發(fā)周期短,系統可靠性高,便于機床功能擴展,由于軟件采用了模塊化,同時(shí)基于組件技術(shù),界面友好,操作方便,進(jìn)行軟件升級以及用戶(hù)進(jìn)行二次開(kāi)發(fā)都比較方便。
伺服電機相關(guān)文章:伺服電機工作原理
評論