摘要:以工控pc機(jī)為核心,應(yīng)用運(yùn)動(dòng)控制卡pci-1240,設(shè)計(jì)了一種運(yùn)動(dòng)控制系統(tǒng)。系統(tǒng)采用microsoftvisualbasic編寫人機(jī)界面,調(diào)用控制卡中的運(yùn)動(dòng)函數(shù)庫(kù),產(chǎn)生脈沖和方向信號(hào)控制電機(jī)轉(zhuǎn)向和轉(zhuǎn)速,從而在開環(huán)狀態(tài)下實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。該系統(tǒng)在生產(chǎn)實(shí)際中得到檢驗(yàn),應(yīng)用在大型編織機(jī)計(jì)算控制系統(tǒng)中,成本低、控制、適應(yīng)性好,取得了顯著的效果。
關(guān)鍵詞運(yùn)動(dòng)控制卡;運(yùn)動(dòng)控制系統(tǒng);步進(jìn)電機(jī);pci-1240
隨著pc(personalcomputer)的發(fā)展和普及,采用“pc+運(yùn)動(dòng)控制卡”作為上位控制,將是運(yùn)動(dòng)控制系統(tǒng)的發(fā)展趨勢(shì)。該方案可以利用計(jì)算機(jī)資源,用于運(yùn)動(dòng)過程、運(yùn)動(dòng)軌跡等比較復(fù)雜且柔性較強(qiáng)的機(jī)器和設(shè)備。運(yùn)動(dòng)控制卡是基于pc機(jī)各種總線的步進(jìn)電機(jī)或數(shù)字式伺服電機(jī)的上位控制單元,總線形式多種多樣,通常采用isa總線和pci總線。但由于計(jì)算機(jī)主板的更新?lián)Q代,isa插槽越來越少,pci總線的運(yùn)動(dòng)控制卡逐漸發(fā)展成為目前運(yùn)動(dòng)控制系統(tǒng)的主流。包括工業(yè)電腦平臺(tái)、運(yùn)動(dòng)控制卡和應(yīng)用軟件,通過插入各種功能卡和編寫軟件,形成功能強(qiáng)大且易于操作的運(yùn)動(dòng)控制系統(tǒng)。運(yùn)動(dòng)控制卡以pci插卡的形式嵌入pc機(jī)中,將pc機(jī)的信息處理能力與運(yùn)動(dòng)控制能力有機(jī)結(jié)合,具有開放性程度高、信息處理能力強(qiáng)、實(shí)時(shí)調(diào)整優(yōu)點(diǎn)突出、運(yùn)動(dòng)控制軌跡準(zhǔn)確以及通用性好的優(yōu)點(diǎn),與傳統(tǒng)單片機(jī)運(yùn)動(dòng)控制系統(tǒng)以及plc專業(yè)運(yùn)動(dòng)控制系統(tǒng)等上位控制方案相比,具有一定的優(yōu)勢(shì)。
“工控pc機(jī)+運(yùn)動(dòng)控制卡”是一種用于pci運(yùn)動(dòng)控制的經(jīng)濟(jì)型解決方案。以pc機(jī)為主控制器,運(yùn)動(dòng)控制卡作為從機(jī),通過自定義的命令通信協(xié)議,實(shí)現(xiàn)位置與速度的控制。工控pc機(jī)負(fù)責(zé)人機(jī)交互界面的管理、控制系統(tǒng)的實(shí)時(shí)監(jiān)控;運(yùn)動(dòng)控制卡完成運(yùn)動(dòng)控制的所有細(xì)節(jié)。通過調(diào)用pci-1240的dll驅(qū)動(dòng)程序,較容易鏈接到vc++,visualbasic或bcb,實(shí)現(xiàn)對(duì)運(yùn)動(dòng)函數(shù)庫(kù)的二次開發(fā)。
1、系統(tǒng)組成及硬件介紹
系統(tǒng)硬件結(jié)構(gòu)如圖1所示。其中,運(yùn)動(dòng)控制卡采用pci-1240,負(fù)責(zé)與上位機(jī)通訊,與pc機(jī)構(gòu)成主從模式。這樣,pc機(jī)可以專注于人機(jī)界面、實(shí)時(shí)監(jiān)控和發(fā)送指令等系統(tǒng)管理工作,而運(yùn)動(dòng)控制卡負(fù)責(zé)處理運(yùn)動(dòng)控制的所有細(xì)節(jié),如升降速計(jì)算、行程控制、多軸插補(bǔ)等,無需占用pc機(jī)資源。
系統(tǒng)正常工作時(shí),通過在工控pc機(jī)上編寫應(yīng)用程序,給pci-1240運(yùn)動(dòng)控制卡發(fā)送相應(yīng)的速度、位置指令,運(yùn)動(dòng)控制卡接受指令并產(chǎn)生高頻脈沖,驅(qū)動(dòng)機(jī)電裝置實(shí)現(xiàn)所需的運(yùn)動(dòng)功能。驅(qū)動(dòng)器把驅(qū)動(dòng)線路的電信號(hào)轉(zhuǎn)換為機(jī)械運(yùn)動(dòng),提供電機(jī)功率使得電機(jī)做旋轉(zhuǎn)或直線運(yùn)動(dòng),zui終利用電機(jī)中的傳動(dòng)系數(shù)傳動(dòng)機(jī)械設(shè)備,實(shí)現(xiàn)具體的運(yùn)動(dòng)過程。
1.1pci-1240運(yùn)動(dòng)控制卡
pci-12404軸步進(jìn)/脈沖伺服電機(jī)控制卡是一種通用型動(dòng)作的運(yùn)動(dòng)控制卡。采用pci總線可高速控制4軸電機(jī),每軸均可輸出脈沖和方向信號(hào)以控制電機(jī)的運(yùn)轉(zhuǎn),可簡(jiǎn)化步進(jìn)式及脈沖式伺服電機(jī)控制,并充分發(fā)揮電機(jī)潛能。該卡使用novamcx314動(dòng)作asic芯片,內(nèi)建多種動(dòng)作控制函數(shù),如2/3軸線性內(nèi)插、2軸圓周內(nèi)插、t/s曲線加速/減速等不勝枚舉。對(duì)于應(yīng)用更提供了windowsdll驅(qū)動(dòng)程序及容易上手的實(shí)例,以降低程序設(shè)計(jì)者的工作負(fù)擔(dān)。而且,通過免費(fèi)的隨機(jī)動(dòng)作公用程序,可以輕易地完成組態(tài)設(shè)定及環(huán)境診斷。
pci1243u的性能:
(1)支持4軸動(dòng)作控制、手動(dòng)轉(zhuǎn)盤及飛梭功能。(2)2/3軸線性內(nèi)插函數(shù),2軸圓周內(nèi)插函數(shù),連續(xù)內(nèi)插函數(shù)。(3)可編程t/s曲線加僦速。(4)每軸高達(dá)4mp·s-1脈沖輸出和1mhz脈沖輸入。(5)兩種脈沖輸出形式:加/減(cw/ccw)或脈沖/方向(pulse/dir)。(6)2編碼器脈沖輸入形式:a/b相位或加/減(cw/ccw)。(7)位置管理及軟件極限開關(guān)功能。(8)線路板id及隨機(jī)動(dòng)作公用程序可做組態(tài)設(shè)定和環(huán)境診斷。
1.2驅(qū)動(dòng)器與電機(jī)的連接
系統(tǒng)中采用的驅(qū)動(dòng)器是由techno公司生產(chǎn)的kr515m5相微步驅(qū)動(dòng)器。它具有低噪音、低振動(dòng)旋轉(zhuǎn)的微步驅(qū)動(dòng)功能,zui高分割數(shù)為80分割,基本步進(jìn)角0.72°,1脈沖輸入旋轉(zhuǎn)0.009°,而電機(jī)旋轉(zhuǎn)一圈則需要40000個(gè)脈沖,*運(yùn)動(dòng)控制系統(tǒng)對(duì)精度的要求。同時(shí),kr515驅(qū)動(dòng)器還采用了使外部干擾影響zui小化的光電連接器輸入絕緣方式,內(nèi)置自動(dòng)降低電流功能、自我診斷功能電路等多數(shù)功能,實(shí)現(xiàn)了高速、高力矩以及高可靠性。電機(jī)選用與驅(qū)動(dòng)器配套的日本東方5相upk步進(jìn)電機(jī),能夠zui大限度地發(fā)揮電機(jī)潛能,實(shí)現(xiàn)對(duì)電機(jī)的控制。pci運(yùn)動(dòng)控制卡與驅(qū)動(dòng)器連接圖如圖2所示。
外加dc24v電源,用于對(duì)控制信號(hào)供電。采用cw/ccw驅(qū)動(dòng)方式驅(qū)動(dòng),xout4可以由設(shè)定wr3的d8控制upk驅(qū)動(dòng)器到暫停,timing及過熱信號(hào)可以由rr4,5得到讀數(shù),溫度報(bào)警通過xalarm引腳輸入。驅(qū)動(dòng)器和pci-1240的信號(hào)連接采用差分傳輸,如圖3所示。發(fā)送端將輸入信號(hào)x轉(zhuǎn)換成x及x輸出,接收端將輸入x及比較后得y。以差分傳輸方式傳送可以有效地消除共模干擾,確保信號(hào)的正常傳輸。
在聯(lián)接過程中,特別要注意的是導(dǎo)線的選擇,這對(duì)于整個(gè)系統(tǒng)工作的穩(wěn)定性、抗*力以及信號(hào)的傳輸有較大影響。系統(tǒng)中選用pcl-10251高訊/雜比pci-1240卡隔離信號(hào)線纜,可確保信號(hào)質(zhì)量,提供良好的信號(hào)。同時(shí),還應(yīng)注意信號(hào)線必須遠(yuǎn)離動(dòng)力電源線、大電動(dòng)機(jī)、斷路器、電焊機(jī)等大的電磁源以及視頻監(jiān)視器等,因?yàn)樗鼈兛赡茉斐奢^強(qiáng)的電磁干擾,嚴(yán)重影響數(shù)據(jù)擷取系統(tǒng)。如果信號(hào)線穿過此類區(qū)域,必須單獨(dú)隔離,采用屏蔽雙絞線作為輸入信號(hào)線,并且屏蔽雙絞線的隔離層只能一端接地。
2、運(yùn)動(dòng)控制系統(tǒng)的軟件設(shè)計(jì)
該系統(tǒng)軟件采用visualbasic編輯界面程序,調(diào)用運(yùn)動(dòng)控制卡的運(yùn)動(dòng)函數(shù)庫(kù),控制電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。由于pci-1240運(yùn)動(dòng)控制卡配備了功能強(qiáng)大的動(dòng)態(tài)鏈接庫(kù)(dll),因此可以在windows系統(tǒng)下很快地開發(fā)出運(yùn)動(dòng)控制系統(tǒng)。
2.1系統(tǒng)流程圖
軟件系統(tǒng)是整個(gè)運(yùn)動(dòng)控制系統(tǒng)的靈魂。根據(jù)現(xiàn)代運(yùn)動(dòng)控制系統(tǒng)平臺(tái)的要求,系統(tǒng)既要能實(shí)現(xiàn)運(yùn)動(dòng)控制的速度和精度,又要發(fā)揮pc機(jī)的優(yōu)勢(shì)。pci-1243u是一種即插即用型的32位pci總線控制卡。在windows操作系統(tǒng)下必須先進(jìn)行系統(tǒng)初始化,才可以實(shí)施對(duì)運(yùn)動(dòng)狀態(tài)的控制。系統(tǒng)初始化主要包括硬件初始化和系統(tǒng)配置。前者主要完成地址、中斷通道等板卡資源的分配;后者則負(fù)責(zé)對(duì)限位開關(guān)、脈沖輸出類型等設(shè)備參數(shù)的相關(guān)設(shè)置。運(yùn)動(dòng)控制系統(tǒng)的軟件流程圖如圖4所示。
2.2運(yùn)動(dòng)控制卡軟件介紹
2.2.1pci-1240中各參數(shù)之間的關(guān)系
dv:運(yùn)行速度;sv:初始化速度;ac:加速度;ak:加加速。
設(shè)定加速度時(shí)間為&t,則dv=sv+ac*&t,ak=ac/&t。在設(shè)定時(shí),如果不合適則報(bào)錯(cuò)。
2.2.2脈沖表示方式
pci-1243運(yùn)動(dòng)控制卡利用脈沖方式確定運(yùn)動(dòng)的方向和距離,常用的3種方式如圖5所示。
a/b相向可定義為當(dāng)a相先于b相90°為正向運(yùn)動(dòng),a相落后于b相90°為反向運(yùn)動(dòng);個(gè)數(shù)可由a相的上升沿確定。
(1)cw/ccw有脈沖,cc為高電平時(shí)表示正向運(yùn)動(dòng),反之為反向運(yùn)動(dòng);個(gè)數(shù)由cw或ccw脈沖上升沿的個(gè)數(shù)確定。
(2)pulse/dir方向由dir信號(hào)確定,距離由pulse信號(hào)表示。
2.2.3vb6.0與動(dòng)態(tài)鏈接庫(kù)
pci-1240運(yùn)動(dòng)控制卡將主要函數(shù)進(jìn)行分類、封裝,形成一種可根據(jù)用戶需要而調(diào)用的動(dòng)態(tài)鏈接庫(kù)dll。dll是一種基于windows的程序模塊,可以使多個(gè)應(yīng)用程序之間共享代碼和資源,從而提高運(yùn)行效率。在vb程序中,只要對(duì)dll進(jìn)行正確的聲明,便可像使用vb本身的函數(shù)一樣使用dll中的函數(shù)。
pci-1240為vb提供了動(dòng)態(tài)鏈接庫(kù),他是一個(gè)運(yùn)動(dòng)控制api函數(shù)庫(kù),只需用vb編寫一個(gè)接口,在軟件開發(fā)中調(diào)用運(yùn)動(dòng)函數(shù)中的相關(guān)函數(shù),就可以方便地對(duì)多軸電機(jī)進(jìn)行、高速的控制。運(yùn)動(dòng)控制系統(tǒng)主要用到的函數(shù)有初始化相關(guān)函數(shù)、i/o相關(guān)函數(shù)、運(yùn)動(dòng)狀態(tài)檢測(cè)函數(shù)、home功能函數(shù)以及t/s型曲線運(yùn)動(dòng)控制函數(shù)等。
2.3vb程序?qū)崿F(xiàn)
運(yùn)動(dòng)方式包括單軸的回原點(diǎn)(home)、連續(xù)運(yùn)轉(zhuǎn)(continuedrive)、點(diǎn)對(duì)點(diǎn)運(yùn)轉(zhuǎn)(pointtopointdrive)、多軸間的線性插補(bǔ)(lineprofiledrive)以及圓弧插補(bǔ)(arcprofiledrive)。電機(jī)驅(qū)動(dòng)器脈沖輸出方式選擇cw/ccw方式。
系統(tǒng)具有廣闊的開放性和良好的適用性,其硬件系統(tǒng)及下層軟件均實(shí)現(xiàn)模塊化,可嵌入不同的機(jī)械傳動(dòng)設(shè)備中,通過開發(fā)特定的上位機(jī)軟件實(shí)現(xiàn)特定的數(shù)控功能。系統(tǒng)在紡織機(jī)上已進(jìn)行了大量應(yīng)用,編織出合格的衣料。
3、結(jié)束語
基于“工控pc機(jī)+pci1243”開發(fā)的運(yùn)動(dòng)控制系統(tǒng),系統(tǒng)設(shè)計(jì)靈活、人機(jī)界面豐富、多軸聯(lián)動(dòng)、運(yùn)行可靠、容易實(shí)現(xiàn)網(wǎng)絡(luò)的遠(yuǎn)程控制。在不占用微機(jī)cpu時(shí)間的情況下,完成對(duì)運(yùn)動(dòng)控制系統(tǒng)的控制。采用運(yùn)動(dòng)控制卡,驅(qū)動(dòng)控制的計(jì)算機(jī)控制系統(tǒng)也能很好地實(shí)現(xiàn)變速曲線運(yùn)動(dòng)。目前,該系統(tǒng)已被廣泛應(yīng)用在包裝、印刷、紡織和裝配工業(yè)中,運(yùn)行狀況良好。