高躍武等
摘 要:文章論述了在工業(yè)控制廣泛應(yīng)用的PCI-1750研華控制卡的功能,在工業(yè)控制計算機(jī)上進(jìn)行安裝、調(diào)試、基于VC++6.0開發(fā)環(huán)境下編程控制混合式步進(jìn)電機(jī)的方法及其技術(shù)問題。
關(guān)鍵詞:研華控制卡;控制;步進(jìn)電機(jī)
隨著計算機(jī)的應(yīng)用和普及,基于PC工業(yè)控制計算機(jī)數(shù)據(jù)采集和測控系統(tǒng)得到了快速發(fā)展,用戶可以通過系列研華測控卡直接將外圍硬件設(shè)備的數(shù)據(jù)采集到計算機(jī)或直接控制外部設(shè)備,文章論述用PCI-1750測控卡控制混合式步進(jìn)電機(jī)運(yùn)行的接口電路和編程控制。
1 PCI-1750數(shù)據(jù)采集和控制卡簡介
PCI-1750數(shù)據(jù)采集和控制卡是一款PCI總線的開關(guān)量卡,完全符合工業(yè)總線的Rev2.1標(biāo)準(zhǔn)??梢蕴峁?6路光電隔離輸出通道和16路光電隔離輸入通道,另外,還帶有一個具有輸入信號的光電隔離量計數(shù)器/定時器。計算機(jī) I/O端口與板卡的每個I/O通道相互對應(yīng),故對其編程較為便捷容易。支持干接點(diǎn),且?guī)в?500VDC隔離保護(hù),適合需要高電壓保護(hù)地工業(yè)場所內(nèi)。
PCI-1750數(shù)據(jù)采集卡提供一個DB-37型孔型接口,管腳圖如圖1所示,圖示顯示了輸入輸出通道的絕對地址Port口分布情況。
1.1 外設(shè)開關(guān)量輸入計算機(jī)連接簡述
如圖1所示PCI-1750卡有“輸入PORT0口和輸入PORT1口”兩個輸入口地址,每個輸入口地址各有IDI0~I(xiàn)DI7八個數(shù)字量輸入位,兩個輸入口地址共有16位輸入,卡子內(nèi)部扛干擾電路已經(jīng)設(shè)計好,可外部開關(guān)量TTL信號直接與這16位聯(lián)接讀入計算機(jī)。
1.2 用開關(guān)量輸出控制外設(shè)接口連接
如圖1所示PCI-1750卡有“輸出PORT0口和輸出PORT1口”兩個輸入口地址,每個輸入口地址各有IDI0~I(xiàn)DI7八個數(shù)字量輸入位,兩個輸入口地址共有16位輸入,卡子內(nèi)部扛干擾電路已經(jīng)設(shè)計好,計算機(jī)程序向外設(shè)輸出TTL信號即可控制外設(shè),案例見圖2所示控制混合式步進(jìn)電機(jī)。
1.3 中斷功能
如圖1所示,PCI-1750具有很強(qiáng)的中斷處理能力,四個輸入通道(IDI0、IDI4、IDI8、IDI12)和定時器1、計數(shù)器2連接到中斷電路,中斷控制寄存器控制這六個信號產(chǎn)生中斷,IDI0、IDI4和定時器1連接到中斷口0,IDI8、IDI12和計數(shù)器2連接到中斷口1,這兩個中斷請求可同時發(fā)生,根據(jù)各自的中斷服務(wù)程序(ISR),處理各個中斷請求。
2 用PCI-1750研華數(shù)據(jù)采集卡控制混合式步進(jìn)電機(jī)案例
2.1 控制接線
如圖2所示為用PCI-1750控制卡通過MB4501驅(qū)動器控制混合式步進(jìn)電機(jī)接線圖,IDO0和IDO1分別為圖1上“輸出Port0口的IDO0”和“輸出Port1口的IDO1”。
接線方式分為共陽極和共陰極兩種,共陽極是把脈沖位和方向位的正極接上+5V的正極,負(fù)極接到控制卡的相應(yīng)位,由高低電平控制;共陰極是把脈沖位和方向位的負(fù)極接上+5V的負(fù)極,正極接到控制卡的相應(yīng)位,由高低電平控制。
圖2 用PCI1750控制卡通過MB4501驅(qū)動器控制混合式步進(jìn)電機(jī)
此實(shí)驗(yàn)選取57HS7630A4兩相步進(jìn)電機(jī)及與之對應(yīng)MB450A型混合式步進(jìn)電機(jī)驅(qū)動器,步進(jìn)電機(jī)步距角和相電流參照驅(qū)動器上說明設(shè)置撥碼開關(guān)實(shí)現(xiàn)。本次實(shí)驗(yàn)研究共陽極的接線,5V電源借助計算機(jī)上電源接口,驅(qū)動器電源為輸入220V交流電輸出24V直流電,D1、D2位的信號由采集卡發(fā)出的高低電平控制,使能位不接,電機(jī)上的黑綠線接到驅(qū)動器上的A+和A-,紅藍(lán)線接到B+和B-。
控制系統(tǒng)提供給驅(qū)動器的信號主要有以下兩路:
(1)步進(jìn)脈沖信號PUL:發(fā)出一個脈沖信號步進(jìn)電機(jī)就旋轉(zhuǎn)一個角度——步距角,發(fā)出的脈沖信號的個數(shù)就是步進(jìn)電機(jī)的轉(zhuǎn)數(shù),脈沖信號的頻率正比于步進(jìn)電機(jī)的轉(zhuǎn)速。系統(tǒng)控制脈沖信號就可以調(diào)節(jié)電機(jī)轉(zhuǎn)速或使其定位。
(2)方向電平信號DIP:這一路信號決定步進(jìn)電機(jī)的旋轉(zhuǎn)方向,正轉(zhuǎn)還是反轉(zhuǎn)。有兩種換向方式:單脈沖換向方式和雙脈沖換向方式。單脈沖換向方式就是信號為高電平時,電機(jī)順時針轉(zhuǎn)動,即為正轉(zhuǎn);信號為低電平時,電機(jī)逆時針轉(zhuǎn)動,即為反轉(zhuǎn)。雙脈沖換向方式是驅(qū)動器接受兩路脈沖信號,當(dāng)其中有一路有信號時,電機(jī)正轉(zhuǎn);當(dāng)另一路有信號時,電機(jī)反轉(zhuǎn)??梢酝ㄟ^設(shè)置驅(qū)動器上的撥碼開關(guān)來切換這兩種換向方式。次案例信號是由單脈沖信號控制。
2.2 PCI-1750測控卡設(shè)備安裝、運(yùn)行與關(guān)閉
研華系列產(chǎn)品可以在VC、VB、Delphi、Borland C、C++ Builder等開發(fā)環(huán)境下編程,用戶只要裝好研華的驅(qū)動程序就可以直接在開發(fā)環(huán)境下進(jìn)行編程。
系列研華卡計算機(jī)測控總體流程主要分為軟件方式采集、中斷采集和DMA采集三類,它們的整體軟件編程流程圖是相同的,如圖3所示。
2.3 編程控制
本系統(tǒng)采用 C++Builder6.0作為軟件開發(fā)平臺,調(diào)用程序步驟如下:
(1)使用研華驅(qū)動編程必須首先安裝Device Manager 和32bitDLL驅(qū)動。
(2)在調(diào)用板卡內(nèi)部函數(shù)之前,首先要添加頭文件及靜態(tài)庫文件,添加頭文件(Driver.h)可以直接添加程序代碼:
#include “ Driver.h”
添加靜態(tài)庫文件:從菜單中選擇工程,然后選擇添加到工程,在安裝文件目錄里找到adsapi32bcb.lib文件,添加到工程,Driver.h是用戶應(yīng)用程序和板卡函數(shù)庫之間的橋梁和紐帶,Adsapi32bcb.lib是對庫函數(shù)封裝編譯生成的功能模塊。
(3)對步進(jìn)電機(jī)進(jìn)行正轉(zhuǎn)、反轉(zhuǎn)、停轉(zhuǎn)的控制主要使用的函數(shù)為正轉(zhuǎn)函數(shù):
ULONG DeviceNum=0;//表示設(shè)備號
LONG DriverHandle;//返回設(shè)備句柄,指向要操作的設(shè)備
PT_DioWriteBit ptDioWriteBit;
DRV_DeviceOpen(DeviceNum,&DriverHandle);
ptDioWriteBit.port=1;//選輸出port1端口
ptDioWriteBit.bit=1;
ptDioWriteBit.state=0x1; //高電平
DRV_DioWriteBit(DriverHandle,&ptDioWriteBit); //使用port1口第1位控制方向
ptDioWriteBit.port=0;//選輸出port0端口
ptDioWriteBit.bit=0;
ptDioWriteBit.state=0x1;//高電平
DRV_DioWriteBit(DriverHandle,&ptDioWriteBit); //使用port0口第0位控制脈沖
Sleep(1);
ptDioWriteBit.port=0; //port口地址00;
ptDioWriteBit.bit=0;
ptDioWriteBit.state=0x0; //低電平形成脈沖
DRV_DioWriteBit(DriverHandle,&ptDioWriteBit);//
Sleep(1);
DRV_DeviceClose(&DriverHandle); //關(guān)閉設(shè)備,釋放占用的資源。
步進(jìn)電機(jī)反轉(zhuǎn)函數(shù):
以上定義的變量都一樣,在這里把向控制方向位的脈沖信號改為低電平信號即可:
ptDioWriteBit.port=1;//選輸出port1端口
ptDioWriteBit.bit=1;
ptDioWriteBit.state=0x0;//低電平
3 驅(qū)動器使能端信號的應(yīng)用
脫機(jī)信號ENBL:這路信號不是必須要用的,是選用信號。經(jīng)實(shí)驗(yàn)觀察,ENBL+端口接為高電平或者懸空不接,驅(qū)動器和電機(jī)都會正常運(yùn)轉(zhuǎn);ENBL+端口接高電平,ENBL-接低電平,電機(jī)不轉(zhuǎn),驅(qū)動器不報警;只接ENBL-為低電平,驅(qū)動器報警。
4 結(jié)束語
文章介紹了PCI-1750采集卡的接口信息、程序流程以及與驅(qū)動器、電機(jī)的接線方法,通過在試驗(yàn)中的嘗試和檢測,整個系統(tǒng)運(yùn)行平穩(wěn),滿足在實(shí)踐中對步進(jìn)電機(jī)的控制。這套系統(tǒng)的設(shè)計方法和步驟,對開發(fā)數(shù)據(jù)采集系統(tǒng)的設(shè)計和研制也會有很好的參考價值。
參考文獻(xiàn)
[1]姜培昌,盧軍霞,趙慶志.基于PCI-1750數(shù)據(jù)采集卡的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計[J].山東理工大學(xué)學(xué)報,2010,24(1):93-95.
[2]鄭雪娜,王洪誠,畢珈瑞,等.PCI總線技術(shù)在儀表檢測控制系統(tǒng)中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2012(8):59-62.
作者簡介:高躍武(1987-),男,山東理工大學(xué)機(jī)械工程學(xué)院機(jī)械制造及其自動化學(xué)科,碩士研究生,研究方向:數(shù)控技術(shù)與裝備。
*通訊作者:趙慶志(1962-),男,山東理工大學(xué)機(jī)械工程學(xué)院教授、博士,研究生導(dǎo)師,研究方向:數(shù)控技術(shù)與裝備,機(jī)電一體化技術(shù)。