基于PC的開(kāi)放式多軸運動(dòng)控制系統開(kāi)發(fā)
運動(dòng)控制技術(shù)的發(fā)展是制造自動(dòng)化前進(jìn)的旋律,是推動(dòng)新的產(chǎn)業(yè)革命的關(guān)鍵技術(shù)。運動(dòng)控制器已經(jīng)從以單片機或微處理器為核心的運動(dòng)控制器和以專(zhuān)業(yè)芯片(ASIC)作為核心處理器的運動(dòng)控制器,發(fā)展到了基于PC總線(xiàn)的以DSP和FPGA作為核心處理器的開(kāi)放式運動(dòng)控制器。
當今,隨著(zhù)計算機技術(shù)的高速發(fā)展,運動(dòng)控制技術(shù)正在發(fā)生根本性的變革,由專(zhuān)用型封閉式開(kāi)環(huán)控制模式向通用型開(kāi)放式實(shí)時(shí)動(dòng)態(tài)全閉環(huán)控制模式發(fā)展。開(kāi)放式體系結構使運動(dòng)控制系統有更好的通用性、柔性、適用性、擴展性。
一、開(kāi)放式運動(dòng)控制系統
按照IEEE定義,一個(gè)開(kāi)放式運動(dòng)控制系統應提供這樣的能力來(lái)自不同賣(mài)主的種種平臺上運行的應用都能夠在系統上完全實(shí)現,并能和其他系統應用互操作,且具有一致性的用戶(hù)界面。
開(kāi)放式運動(dòng)控制系統的研究始于1987年,是由美國發(fā)起的。目前,通用運動(dòng)控制器從結構上主要分為如下三大類(lèi):
1.基于計算機標準總線(xiàn)的運動(dòng)控制器
這種運動(dòng)控制器大都采用DSP或微機芯片作為CPU,可完成運動(dòng)規劃、高速實(shí)時(shí)插補、伺服濾波控制和伺服驅動(dòng),外部IO之間的標準化通用接口功能,它開(kāi)放的函數庫可提供用戶(hù)根據不同的需要,在DOS或Windows等平臺下開(kāi)發(fā)應用軟件,組成各種控制系統。目前這種運動(dòng)控制器得到了廣泛的應用。
2.Soft型開(kāi)放式運動(dòng)控制器
它提供給用戶(hù)最大的靈活性,它的運動(dòng)控制軟件全部裝在計算機中,而硬件部分僅僅是計算機與伺服驅動(dòng)和外部IO之間的標準化通用接口。用戶(hù)可以在WINDOWS平臺和其他操作系統的支持下,利用開(kāi)放的運動(dòng)控制內核,開(kāi)發(fā)所需要的控制功能,構成各種類(lèi)型的高性能運動(dòng)控制系統,從而提供給用戶(hù)更多的選擇和靈活性。Soft型開(kāi)放式運動(dòng)控制的特點(diǎn)是開(kāi)發(fā),制造成本相對較低,能給予開(kāi)發(fā)人員更加個(gè)性化的開(kāi)發(fā)平臺。
3.嵌入式結構的運動(dòng)控制器
這種運動(dòng)控制器是把計算機嵌入到計算機控制器中的一種產(chǎn)品,它能夠獨立運行。運動(dòng)控制器與計算機之間的通訊依靠計算機總線(xiàn),實(shí)質(zhì)上是基于總線(xiàn)結構的運動(dòng)控制器的一種變種。對于標準總線(xiàn)的計算機模塊,這種類(lèi)型的控制器采用了更加可靠的總線(xiàn)連接方式(采用針式連接器),更加適合工業(yè)應用。在使用中,采用如工業(yè)以太網(wǎng)、RS485、SERCOS、PROFIBUS等現場(chǎng)網(wǎng)絡(luò )通訊接口連接上級計算機或控制面板。嵌入式的運動(dòng)控制器也可配置軟盤(pán)和硬盤(pán)驅動(dòng)器,甚至可以通過(guò)Internet進(jìn)行遠程診斷。
二、PC+運動(dòng)控制卡的控制方案
采用PC+運動(dòng)控制卡作為上位控制可充分利用計算機資源,用于運動(dòng)過(guò)程、運動(dòng)軌跡都比較復雜,且柔性比較強的機器和設備。從用戶(hù)使用的角度來(lái)看,基于PC機的運動(dòng)控制卡主要是硬件接口(輸入輸出信號的種類(lèi)、性能)和軟件接口(運動(dòng)控制函數庫的功能函數)的差異。
運動(dòng)控制卡是基于PC機各種總線(xiàn)的步進(jìn)電機或數字式伺服電機的上位控制單元,總線(xiàn)形式也是多種多樣。由于計算
機主板的更新?lián)Q代,ISA插槽都越來(lái)越少了,PCI總線(xiàn)的運動(dòng)控制卡應該是目前的主流??ㄉ蠈?zhuān)用CPU與PC機CPU構成主從式雙CPU控制模式。PC機CPU可以專(zhuān)注于人機界面、實(shí)時(shí)監控和發(fā)送指令等系統管理工作;卡上專(zhuān)用CPU來(lái)處理所有運動(dòng)控制的細節升降速計算、行程控制、多軸插補等,無(wú)需占用PC機資源。同時(shí)隨卡還提供功能強大的運動(dòng)控制軟件庫C語(yǔ)言運動(dòng)庫、WindowsDLL動(dòng)態(tài)鏈接庫等,讓用戶(hù)更快、更有效地解決復雜的運動(dòng)控制問(wèn)題。
運動(dòng)控制卡采用了開(kāi)放式結構,使用簡(jiǎn)便,功能豐富,可靠性高。若采用PC機的PCI總線(xiàn)方式,卡上無(wú)需進(jìn)行任何跳線(xiàn)設置,所有資源自動(dòng)配置,并且所有的輸入、輸出信號均用光電隔離,提高了控制卡的可靠性和抗干擾能力;在軟件方面提供了豐富的運動(dòng)控制函數庫,以滿(mǎn)足不同的應用要求。用戶(hù)只需根據控制系統的要求編制人機界面,并調用控制卡運動(dòng)函數庫中的指令函數,就可以開(kāi)發(fā)出既滿(mǎn)足要求又成本低廉的多軸運動(dòng)控制系統。
運動(dòng)函數庫為單軸及多軸的步進(jìn)或伺服控制提供了許多運動(dòng)函數,如單軸運動(dòng)、多軸獨立運動(dòng)、多軸插補運動(dòng)等等。另外,為了配合運動(dòng)控制系統的開(kāi)發(fā),還提供了一些輔助函數,如中斷處理、編碼器反饋、間隙補償,運動(dòng)中變速等。
正是由于運動(dòng)控制卡的開(kāi)放式結構,強大而豐富的軟件功能,對于使用者來(lái)說(shuō)進(jìn)行二次開(kāi)發(fā)的設計周期縮短了,開(kāi)發(fā)手段增多了,針對不同的數控設備,其柔性化、模塊化、高性能的優(yōu)勢得以被充分利用。
三、開(kāi)放式多軸運動(dòng)控制系統硬件結構
整個(gè)系統以基于“PC機+運動(dòng)控制卡”為核心,采用ADT850運動(dòng)控制卡加松下數字交流伺服驅動(dòng)器構成一個(gè)開(kāi)放式硬件結構。同時(shí)配備內容豐富、功能強大的運動(dòng)函數庫,采用VC++面向對象的編程技術(shù),實(shí)現PC機、運動(dòng)控制卡和伺服驅動(dòng)器之間的通訊,其結構如圖1所示。

圖1二軸運動(dòng)系統結構框圖
PC機負責人機交互界面的管理和控制系統的實(shí)時(shí)監控等方面的工作,例如鍵盤(pán)和鼠標的管理、系統狀態(tài)的顯示、控制指令的發(fā)送、外部信號I0的監控等等。其中,脈沖信號控制電機所走的步數,方向信號控制電機正反轉,以實(shí)現二軸的位置控制。X軸和Y軸原點(diǎn)、限位檢測是通過(guò)一組機械開(kāi)關(guān)來(lái)實(shí)現,原點(diǎn)檢測開(kāi)關(guān)用來(lái)生成用戶(hù)二維運動(dòng)系統坐標系原點(diǎn),限位檢測開(kāi)關(guān)確保每軸工作行程極限。這些狀態(tài)信號經(jīng)邏輯電平整形電路、光電隔離電路后送入運動(dòng)控制卡狀態(tài)寄存器中,由CPU隨時(shí)讀出,達到對IO狀態(tài)信號的檢測。在硬件上,由于采用了光電隔離措施,這樣,既隔離了外設對內部數字系統的干擾,又能有效地防止過(guò)電壓、過(guò)電流等外界突發(fā)事件對計算機系統的損壞,大大提高了系統的控制精度和可靠性。
本系統充分發(fā)揮了PC機軟件資源豐富和計算速度快的優(yōu)點(diǎn),吸收CADCAM的特點(diǎn),在利用造型軟件生成零件圖后,再利用數控系統轉化為加工G代碼,將指令G代碼與機床實(shí)際位置進(jìn)行分析比較產(chǎn)生瞬時(shí)速度,然后由板卡將其解釋為運動(dòng)軌跡控制函數,最后通過(guò)調用運動(dòng)函數庫內的插補程序段,輸出脈沖和方向信號,控制半閉環(huán)位置伺服系統帶動(dòng)工作臺運轉,實(shí)現所希望的空間軌跡路徑動(dòng)態(tài)特性和穩態(tài)精度。
四、基于VisualC++多軸運動(dòng)控制系統的軟件開(kāi)發(fā)
VisualC++是一個(gè)在Windows環(huán)境下的程序開(kāi)發(fā)工具,它是可視化的、面向對象的,采用事件驅動(dòng)的。它屏蔽了Windows環(huán)境下程序設計的復雜性,使Windows應用程序設計變得簡(jiǎn)單、方便、快捷。利用ADT850運動(dòng)控制卡的動(dòng)態(tài)鏈接庫
DLL可以很快開(kāi)發(fā)出Windows平臺下的運動(dòng)控制系統。ADT850運動(dòng)控制卡動(dòng)態(tài)鏈接庫是標準的Windows32位動(dòng)態(tài)鏈接庫,選用的開(kāi)發(fā)工具應支持Windows標準的32位DLL調用。
基于PC+運動(dòng)控制卡多軸運動(dòng)控制系統的軟件開(kāi)發(fā)需由ADT850運動(dòng)控制卡配套光盤(pán)提供開(kāi)發(fā)庫中的三個(gè)文件,一個(gè)是靜態(tài)庫ADT850.LIB,一個(gè)是頭文件ADT850.H,一個(gè)是WindowsNT2000使用的文件winio.sys,動(dòng)態(tài)庫中的函數已在頭文件ADT850.H中有聲明,用戶(hù)可以直接調用其中的函數。ADT850函數庫中提供常用的單軸運動(dòng),多軸獨立運動(dòng)控制,多軸插補運動(dòng)控制,中斷、等功能。
每塊ADT850卡最多可以控制四軸的運動(dòng),當需要控制多個(gè)軸時(shí),可以在PC機上插入幾塊卡,而在編程時(shí),把它們當成一個(gè)整體對待,各卡之間的軸與同一塊卡上的軸也同樣能夠進(jìn)行聯(lián)動(dòng)或插補,這樣就能實(shí)現多于四軸的運動(dòng)控制。一臺計算機上可同時(shí)使用的ADT850卡的數目取決于PCI擴展槽的數目。
五、結語(yǔ)
以基于“PC機+運動(dòng)控制卡”為核心的開(kāi)放式多軸運動(dòng)控制系統的已經(jīng)成功的應用到了南京工業(yè)大學(xué)研發(fā)的二維交流伺服系統的高精度X-Y坐標繪圖儀上,取得了很好的控制性能。利用VisualC++在Windows平臺上,對ADT850運動(dòng)函數庫二次開(kāi)發(fā),可以很快的開(kāi)發(fā)出用戶(hù)界面和自己的控制系統,大大節省了開(kāi)發(fā)周期和開(kāi)發(fā)費用。
伺服電機相關(guān)文章:伺服電機工作原理
評論