步進(jìn)電動機(jī)控制系統(tǒng)上位機(jī)程序設(shè)計
宋受俊,劉衛(wèi)國
(西北工業(yè)大學(xué),陜西西安710072)
摘要:從整體上簡要介紹了步進(jìn)電動機(jī)控制系統(tǒng)的結(jié)構(gòu)及功能特點(diǎn);詳細(xì)介紹了上位機(jī)軟件的功能及實(shí)現(xiàn)方法。所設(shè)計的控制程序具有友好的人機(jī)交互特性,可設(shè)定多種運(yùn)行模式,可實(shí)時顯示系統(tǒng)運(yùn)行狀態(tài),且可應(yīng)用于需要復(fù)雜控制算法及控制功能的使用場合。
關(guān)鍵詞:混合式步進(jìn)電動機(jī);微型計算機(jī);MCs-51單片機(jī);Visual Basic;MSComm控件
中圖分類號:TM383.6 文獻(xiàn)標(biāo)識碼:A 文章編號:1004—7018(2008)04—0003—03
0引 言
隨著工業(yè)生產(chǎn)和計算機(jī)技術(shù)的日新月異,微型計算機(jī)在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛。利用微型計算機(jī)可以存儲更多的數(shù)據(jù),進(jìn)行復(fù)雜的運(yùn)算,還可以通過多種形式對信息進(jìn)行顯示。另外,還可以設(shè)計高效、友好的用戶界面,對系統(tǒng)進(jìn)行控制。
本系統(tǒng)以單片機(jī)作為下位機(jī)而微機(jī)作為上位機(jī),兩者通過RS-232串行接口進(jìn)行通信。上位機(jī)設(shè)計了友好的用戶界面,以便對系統(tǒng)進(jìn)行控制,下位機(jī)在得到控制命令之后,具體實(shí)施控制,并將系統(tǒng)的工作狀態(tài)信息傳給上位機(jī)進(jìn)行顯示處理。
單片機(jī)采用80C51,而上位機(jī)是在windows xP操作系統(tǒng)下,用Visual Basic 6 0開發(fā)的監(jiān)控軟件。在windows監(jiān)控軟件開發(fā)中,如何實(shí)現(xiàn)微機(jī)與單片機(jī)之間的串行通信是一個較大的障礙,而且是設(shè)計的關(guān)鍵之一。系統(tǒng)利用了VB提供的特別便于串行口操作的電話機(jī)控件一MSComm,通過編寫較簡單的程序,完成了微機(jī)與單片機(jī)之間的串行通信。本文主要介紹了該系統(tǒng)上位機(jī)軟件的實(shí)現(xiàn)過程。
l系統(tǒng)特點(diǎn)簡述
系統(tǒng)的控制對象是混合式步進(jìn)電動機(jī),通過上位機(jī)軟件和下位機(jī)軟硬件的良好配合,系統(tǒng)具有以下特點(diǎn):
(1)可以通過上位機(jī)控制界面進(jìn)行控制,操作直觀、方便;
(2)可以驅(qū)動包括兩相、三相和五相混合式步進(jìn)電動機(jī)在內(nèi)的多種步進(jìn)電動機(jī),增強(qiáng)了系統(tǒng)的適用性;
(3)具有包括細(xì)分、升降頻、正反轉(zhuǎn)、預(yù)置頻率以及預(yù)置步等多種控制功能,拓寬了被控步進(jìn)電動機(jī)的適用場合。
使用者可以通過上位機(jī)控制界面實(shí)時地觀測運(yùn)行中的驅(qū)動系統(tǒng)的運(yùn)行狀態(tài),同時還可以通過上位機(jī)控制界面對系統(tǒng)進(jìn)行控制,為了實(shí)現(xiàn)微機(jī)和單片機(jī)之間的數(shù)據(jù)交換,該系統(tǒng)使用了串行通訊方式。整個步進(jìn)電動機(jī)控制系統(tǒng)如圖1所示。
2上位機(jī)程序總體流程
在上位機(jī)軟件編程語言的選擇上,著重考慮的是便于界面的編寫及可進(jìn)行方便的串行通訊。為此,系統(tǒng)上位機(jī)使用了Visual Basic****語言編程環(huán)境,這種語言特別便于界面編寫,更重要的是,它具有一個特別方便的通信控件-JMSComm。MSComm控件的目的是為了讓用戶設(shè)計一個系統(tǒng)可以和串行端口進(jìn)行溝通及傳送數(shù)據(jù)。
如上所述,上位機(jī)主要完成用戶的交互控制以及電機(jī)運(yùn)行狀態(tài)的實(shí)時顯示,所以,上位機(jī)軟件首先要能夠根據(jù)用戶輸入的運(yùn)行模式設(shè)定相應(yīng)的變量及標(biāo)志量;其次,還需要將下位機(jī)反饋的實(shí)時運(yùn)行狀態(tài)以圖形化的方式顯示出來。圖2為其程序總體框架。
下面,將以窗口的設(shè)計為順序?qū)ι衔粰C(jī)軟件的總體流程進(jìn)行較詳細(xì)的闡述:用戶設(shè)定輸人窗口同時也是主界面窗口,其窗口設(shè)置如圖3所示。它包
括了程序運(yùn)行的所有控制功能,具體表現(xiàn)為:
(1)在電機(jī)運(yùn)行方式設(shè)定區(qū),用戶可以通過選擇各個列表框中列出的選項(xiàng)設(shè)定被控電機(jī)的運(yùn)行方式。其中,電機(jī)類型選擇包括:兩相、三相及五相混合式步進(jìn)電動機(jī);細(xì)分模式選擇包括:整步、二細(xì)分及四細(xì)分;正反轉(zhuǎn)選擇包括:正轉(zhuǎn)及反轉(zhuǎn);預(yù)置模式選擇包括:預(yù)置頻率及預(yù)置步。
(2)在電機(jī)預(yù)置參數(shù)設(shè)定區(qū),如果選擇的是預(yù)置頻率運(yùn)行方式,用戶便可以在第一個文本框中輸入電機(jī)的運(yùn)行頻率,這樣在啟動運(yùn)行時,系統(tǒng)便會控制電機(jī)從突跳頻率逐漸加速到運(yùn)行頻率,在停止運(yùn)行時,系統(tǒng)會控制電機(jī)逐漸減速直到停機(jī)為止;如果選擇的是預(yù)置步運(yùn)行方式,用戶便可以在第 |