基于PCI-1240運(yùn)動控制系統(tǒng)
摘要 以工控PC機(jī)為核心,應(yīng)用運(yùn)動控制卡PCI-1240,設(shè)計了一種運(yùn)動控制系統(tǒng)。系統(tǒng)采用Microsoft Visual Basic編寫人機(jī)界面,調(diào)用控制卡中的運(yùn)動函數(shù)庫,產(chǎn)生脈沖和方向信號控制電機(jī)轉(zhuǎn)向和轉(zhuǎn)速,從而在開環(huán)狀態(tài)下實現(xiàn)對步進(jìn)電機(jī)的控制。該系統(tǒng)在生產(chǎn)實際中得到檢驗,應(yīng)用在大型編織機(jī)計算控制系統(tǒng)中,成本低、控制精確、適應(yīng)性好,取得了顯著的效果。
關(guān)鍵詞 運(yùn)動控制卡;運(yùn)動控制系統(tǒng);步進(jìn)電機(jī);PCI-1240
隨著PC(Personal Computer)的發(fā)展和普及,采用“PC+運(yùn)動控制卡”作為上位控制,將是運(yùn)動控制系統(tǒng)的發(fā)展趨勢。該方案可以利用計算機(jī)資源,用于運(yùn)動過程、運(yùn)動軌跡等比較復(fù)雜且柔性較強(qiáng)的機(jī)器和設(shè)備。運(yùn)動控制卡是基于PC機(jī)各種總線的步進(jìn)電機(jī)或數(shù)字式伺服電機(jī)的上位控制單元,總線形式多種多樣,通常采用ISA總線和PCI總線。但由于計算機(jī)主板的更新?lián)Q代,ISA插槽越來越少,PCI總線的運(yùn)動控制卡逐漸發(fā)展成為目前運(yùn)動控制系統(tǒng)的主流。包括工業(yè)電腦平臺、運(yùn)動控制卡和應(yīng)用軟件,通過插入各種功能卡和編寫軟件,形成功能強(qiáng)大且易于操作的運(yùn)動控制系統(tǒng)。運(yùn)動控制卡以PCI插卡的形式嵌入PC機(jī)中,將PC機(jī)的信息處理能力與運(yùn)動控制能力有機(jī)結(jié)合,具有開放性程度高、信息處理能力強(qiáng)、實時調(diào)整優(yōu)點(diǎn)突出、運(yùn)動控制軌跡準(zhǔn)確以及通用性好的優(yōu)點(diǎn),與傳統(tǒng)單片機(jī)運(yùn)動控制系統(tǒng)以及PLC專業(yè)運(yùn)動控制系統(tǒng)等上位控制方案相比,具有一定的優(yōu)勢。
“工控PC機(jī)+運(yùn)動控制卡”是一種用于PCI運(yùn)動控制的經(jīng)濟(jì)型解決方案。以PC機(jī)為主控制器,運(yùn)動控制卡作為從機(jī),通過自定義的命令通信協(xié)議,實現(xiàn)位置與速度的精確控制。工控PC機(jī)負(fù)責(zé)人機(jī)交互界面的管理、控制系統(tǒng)的實時監(jiān)控;運(yùn)動控制卡完成運(yùn)動控制的所有細(xì)節(jié)。通過調(diào)用PCI-1240的高級DLL驅(qū)動程序,較容易鏈接到VC++,Visual Basic或BCB,實現(xiàn)對運(yùn)動函數(shù)庫的二次開發(fā)。
1 系統(tǒng)組成及硬件介紹
系統(tǒng)硬件結(jié)構(gòu)如圖1所示。其中,運(yùn)動控制卡采用PCI-1240,負(fù)責(zé)與上位機(jī)通訊,與PC機(jī)構(gòu)成主從模式。這樣,PC機(jī)可以專注于人機(jī)界面、實時監(jiān)控和發(fā)送指令等系統(tǒng)管理工作,而運(yùn)動控制卡負(fù)責(zé)處理運(yùn)動控制的所有細(xì)節(jié),如升降速計算、行程控制、多軸插補(bǔ)等,無需占用PC機(jī)資源。
系統(tǒng)正常工作時,通過在工控PC機(jī)上編寫應(yīng)用程序,給PCI-1240運(yùn)動控制卡發(fā)送相應(yīng)的速度、位置指令,運(yùn)動控制卡接受指令并產(chǎn)生高頻脈沖,驅(qū)動機(jī)電裝置實現(xiàn)所需的運(yùn)動功能。驅(qū)動器把驅(qū)動線路的電信號轉(zhuǎn)換為機(jī)械運(yùn)動,提供電機(jī)功率使得電機(jī)做旋轉(zhuǎn)或直線運(yùn)動,最終利用電機(jī)中的傳動系數(shù)傳動機(jī)械設(shè)備,實現(xiàn)具體的運(yùn)動過程。
1.1 PCI-1240運(yùn)動控制卡
PCI-1240 4軸步進(jìn)/脈沖伺服電機(jī)控制卡是一種通用型極端動作的運(yùn)動控制卡。采用PCI總線可高速控制4軸電機(jī),每軸均可輸出脈沖和方向信號以控制電機(jī)的運(yùn)轉(zhuǎn),可簡化步進(jìn)式及脈沖式伺服電機(jī)控制,并充分發(fā)揮電機(jī)潛能。該卡使用NOVA MCX314動作ASIC芯片,內(nèi)建多種動作控制函數(shù),如2/3軸線性內(nèi)插、2軸圓周內(nèi)插、T/S曲線加速/減速等不勝枚舉。對于高級應(yīng)用更提供了Windows dll驅(qū)動程序及容易上手的實例,以降低程序設(shè)計者的工作負(fù)擔(dān)。而且,通過免費(fèi)的隨機(jī)動作公用程序,可以輕易地完成組態(tài)設(shè)定及環(huán)境診斷。
PCI1243U的性能:
(1)支持4軸動作控制、手動轉(zhuǎn)盤及飛梭功能。(2)2/3軸線性內(nèi)插函數(shù),2軸圓周內(nèi)插函數(shù),連續(xù)內(nèi)插函數(shù)。(3)可編程T/S曲線加僦速。(4)每軸高達(dá)4 Mp·s-1脈沖輸出和1 MHz脈沖輸入。(5)兩種脈沖輸出形式:加/減(CW/CCW)或脈沖/方向(PULSE/DIR)。(6)2編碼器脈沖輸入形式:A/B相位或加/減(CW/CCW)。(7)位置管理及軟件極限開關(guān)功能。(8)線路板ID及隨機(jī)動作公用程序可做組態(tài)設(shè)定和環(huán)境診斷。
1.2 驅(qū)動器與電機(jī)的連接
系統(tǒng)中采用的驅(qū)動器是由Techno公司生產(chǎn)的KR515M 5相微步驅(qū)動器。它具有低噪音、低振動旋轉(zhuǎn)的微步驅(qū)動功能,最高分割數(shù)為80分割,基本步進(jìn)角0.72°,1脈沖輸入旋轉(zhuǎn)0.009°,而電機(jī)旋轉(zhuǎn)一圈則需要40 000個脈沖,完全滿足運(yùn)動控制系統(tǒng)對精度的要求。同時,KR515驅(qū)動器還采用了使外部干擾影響最小化的光電連接器輸入絕緣方式,內(nèi)置自動降低電流功能、自我診斷功能電路等多數(shù)功能,實現(xiàn)了高速、高力矩以及高可靠性。電機(jī)選用與驅(qū)動器配套的日本東方5相UPK步進(jìn)電機(jī),能夠最大限度地發(fā)揮電機(jī)潛能,實現(xiàn)對電機(jī)的精確控制。PCI運(yùn)動控制卡與驅(qū)動器連接圖如圖2所示。
外加DC24 V電源,用于對控制信號供電。采用CW/CCW驅(qū)動方式驅(qū)動,XOUT4可以由設(shè)定WR3的D8控制UPK驅(qū)動器到暫停,TIMING及過熱信號可以由RR4,5得到讀數(shù),溫度報警通過XALARM引腳輸入。驅(qū)動器和PCI-1240的信號連接采用差分傳輸,如圖3所示。發(fā)送端將輸入信號X轉(zhuǎn)換成X及X輸出,接收端將輸入X及比較后得Y。以差分傳輸方式傳送可以有效地消除共模干擾,確保信號的正常傳輸。
在聯(lián)接過程中,特別要注意的是導(dǎo)線的選擇,這對于整個系統(tǒng)工作的穩(wěn)定性、抗干擾能力以及信號的傳輸有較大影響。系統(tǒng)中選用PCL-10251高訊/雜比PCI-1240卡專用隔離信號線纜,可確保信號質(zhì)量,提供良好的信號。同時,還應(yīng)注意信號線必須遠(yuǎn)離動力電源線、大電動機(jī)、斷路器、電焊機(jī)等大的電磁源以及視頻監(jiān)視器等,因為它們可能造成較強(qiáng)的電磁干擾,嚴(yán)重影響數(shù)據(jù)擷取系統(tǒng)。如果信號線穿過此類區(qū)域,必須單獨(dú)隔離,采用屏蔽雙絞線作為輸入信號線,并且屏蔽雙絞線的隔離層只能一端接地。
2 運(yùn)動控制系統(tǒng)的軟件設(shè)計
該系統(tǒng)軟件采用Visual Basic編輯界面程序,調(diào)用運(yùn)動控制卡的運(yùn)動函數(shù)庫,控制電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。由于PCI-1240運(yùn)動控制卡配備了功能強(qiáng)大的動態(tài)鏈接庫(DLL),因此可以在Windows系統(tǒng)下很快地開發(fā)出運(yùn)動控制系統(tǒng)。
2.1 系統(tǒng)流程圖
軟件系統(tǒng)是整個運(yùn)動控制系統(tǒng)的靈魂。根據(jù)現(xiàn)代運(yùn)動控制系統(tǒng)平臺的要求,系統(tǒng)既要能實現(xiàn)運(yùn)動控制的速度和精度,又要發(fā)揮PC機(jī)的優(yōu)勢。PCI-1243U是一種即插即用型的32位PCI總線控制卡。在Windows操作系統(tǒng)下必須先進(jìn)行系統(tǒng)初始化,才可以實施對運(yùn)動狀態(tài)的控制。系統(tǒng)初始化主要包括硬件初始化和系統(tǒng)配置。前者主要完成地址、中斷通道等板卡資源的分配;后者則負(fù)責(zé)對限位開關(guān)、脈沖輸出類型等設(shè)備參數(shù)的相關(guān)設(shè)置。運(yùn)動控制系統(tǒng)的軟件流程圖如圖4所示。
2.2 運(yùn)動控制卡軟件介紹
2.2.1 PCI-1240中各參數(shù)之間的關(guān)系
DV:運(yùn)行速度;SV:初始化速度;AC:加速度;AK:加加速。
設(shè)定加速度時間為&t,則DV=SV+AC*&t,AK=AC/&t。在設(shè)定時,如果不合適則報錯。
2.2.2 脈沖表示方式
PCI-1243運(yùn)動控制卡利用脈沖方式確定運(yùn)動的方向和距離,常用的3種方式如圖5所示。
A/B相向可定義為當(dāng)A相先于B相90°為正向運(yùn)動,A相落后于B相90°為反向運(yùn)動;個數(shù)可由A相的上升沿確定。
(1)CW/CCW有脈沖,CC為高電平時表示正向運(yùn)動,反之為反向運(yùn)動;個數(shù)由CW或CCW脈沖上升沿的個數(shù)確定。
(2)Pulse/Dir方向由Dir信號確定,距離由Pulse信號表示。
2.2.3 VB6.0與動態(tài)鏈接庫
PCI-1240運(yùn)動控制卡將主要函數(shù)進(jìn)行分類、封裝,形成一種可根據(jù)用戶需要而調(diào)用的動態(tài)鏈接庫dll。dll是一種基于Windows的程序模塊,可以使多個應(yīng)用程序之間共享代碼和資源,從而提高運(yùn)行效率。在VB程序中,只要對dll進(jìn)行正確的聲明,便可像使用VB本身的函數(shù)一樣使用dll中的函數(shù)。
PCI-1240為VB提供了動態(tài)鏈接庫,他是一個運(yùn)動控制API函數(shù)庫,只需用VB編寫一個接口,在軟件開發(fā)中調(diào)用運(yùn)動函數(shù)中的相關(guān)函數(shù),就可以方便地對多軸電機(jī)進(jìn)行精確、高速的控制。運(yùn)動控制系統(tǒng)主要用到的函數(shù)有初始化相關(guān)函數(shù)、I/O相關(guān)函數(shù)、運(yùn)動狀態(tài)檢測函數(shù)、Home功能函數(shù)以及T/S型曲線運(yùn)動控制函數(shù)等。
2.3 VB程序?qū)崿F(xiàn)
運(yùn)動方式包括單軸的回原點(diǎn)(Home)、連續(xù)運(yùn)轉(zhuǎn)(Continue Drive)、點(diǎn)對點(diǎn)運(yùn)轉(zhuǎn)(Point to Point Drive)、多軸間的線性插補(bǔ)(Line Pro file Drive)以及圓弧插補(bǔ)(Arc Profile Drive)。電機(jī)驅(qū)動器脈沖輸出方式選擇CW/CCW方式。
系統(tǒng)具有廣闊的開放性和良好的適用性,其硬件系統(tǒng)及下層軟件均實現(xiàn)模塊化,可嵌入不同的機(jī)械傳動設(shè)備中,通過開發(fā)特定的上位機(jī)軟件實現(xiàn)特定的數(shù)控功能。系統(tǒng)在紡織機(jī)上已進(jìn)行了大量應(yīng)用,編織出合格的衣料。
3 結(jié)束語
基于“工控PC機(jī)+PCI1243”開發(fā)的運(yùn)動控制系統(tǒng),系統(tǒng)設(shè)計靈活、人機(jī)界面豐富、多軸聯(lián)動、運(yùn)行精確可靠、容易實現(xiàn)網(wǎng)絡(luò)的遠(yuǎn)程控制。在不占用微機(jī)CPU時間的情況下,完成對運(yùn)動控制系統(tǒng)的精確控制。采用運(yùn)動控制卡,驅(qū)動控制的計算機(jī)控制系統(tǒng)也能很好地實現(xiàn)變速曲線運(yùn)動。目前,該系統(tǒng)已被廣泛應(yīng)用在包裝、印刷、紡織和裝配工業(yè)中,運(yùn)行狀況良好。