為機床工具企業提供深度市場分析                     

用戶名:   密碼:         免費(fèi)注冊(cè)  |   申請VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
廣州數控
數控係統

車床 銑床 鑽床 數控係統 加(jiā)工中心 鍛壓機床 刨插(chā)拉床 螺紋加工機床 齒(chǐ)輪加工機床
磨(mó)床 鏜床 刀具 功能部件 配件附件 檢驗測量 機床電器 特(tè)種加工 機器人

數控係(xì)統(tǒng)

電工電力 工程機械 航空航天 汽車(chē) 模具
儀器儀表 通用(yòng)機械 軌道交通 船(chuán)舶

搜索
熱門(mén)關鍵字:

數控機床(chuáng)

 | 數控車床 | 數(shù)控係(xì)統 | 滾齒機 | 數(shù)控(kòng)銑床 | 銑刀 | 主(zhǔ)軸(zhóu) | 立式(shì)加工中心 | 機器人
您現在的位置:數控(kòng)係(xì)統網> 技術前沿> 嵌入式伺服控製器調試軟件(jiàn)的研究
嵌入式伺服(fú)控製器調試軟件的研究
2017-7-25  來(lái)源:中國科學(xué)院大(dà)學  作者:史秀玉,何 平,王誌成,,吳文江,張玉磊

      摘要: 隨著工業控製領(lǐng)域的不斷發展,傳統的控製(zhì)器已經無法滿足用戶在線調試的(de)需求,隻(zhī)能通過仿真得到實驗結果(guǒ),這種係統仿真具有(yǒu)一定的理想性。針對傳統控(kòng)製器的缺陷,提(tí)出設計一種嵌入式伺(sì)服控製器調試軟件,能有效彌補這一(yī)缺陷。文章采用. NET Framework 平台及 Visual Studio 集(jí)成(chéng)開發環境,基於嵌入式伺(sì)服控製器設計(jì)了編輯(jí)器、匯(huì)編器以及調試(shì)器( 硬(yìng)件在(zài)回路仿真測試係統) 。運用硬件在回路( Hardware-in-the-loop,HIL) 技術,讓處理器運行仿真模型來模擬電機的運行狀態,滿足了用戶實時調試的需求(qiú)。

      關鍵詞: Visual Studio; HIL; 嵌入(rù)式伺服控製器; 調(diào)試軟件

      0.引言

      隨著微控製器的快速(sù)發展,其應用已經遍及各個領域,如: 電機控製、工業自動化等。傳統控製器中,單軸(zhóu)控製器和伺服(fú)驅動器采用(yòng)分立的設計結構,係統成(chéng)本高、通訊時延長、靈活性差。因此,嵌(qiàn)入式單軸控製器(qì)應運而生,它將(jiāng)單(dān)軸控製器和伺服驅動器結合在一起,解決了傳統控製器的缺陷; 嵌入式單軸控製器的出現也對調(diào)試工具提出了新的要求,在對指令進行(háng)編輯編譯的(de)同(tóng)時,也需要滿足用戶的實(shí)時調試的需求。目前(qián)國內(nèi)尚無成熟的嵌入式伺服控製器調試軟件,因此在參考文獻[1]的基(jī)礎上,文章(zhāng)設計了基於(yú)嵌(qiàn)入式伺服(fú)控製器的(de)調試軟件。嵌入式伺服控製器調試軟件可用(yòng)於實現運動控製器監控、編碼(mǎ)器角度檢測、Osci 控製等功能,其核心功能(néng)是編輯、匯編以及調試,其(qí)中,調(diào)試功能采用了硬件在回路的仿真設計,硬件在回路仿真已逐漸成為控製係統(tǒng)設(shè)計的重(chóng)要工具[2],滿足了用戶(hù)實時調試的需求。

      1.總體結構設計

      1.1 伺服控製係統

      伺服(fú)控製係統整體的工作流程如圖 1 所示: 用戶在上位 PC 機的調試軟件(jiàn)上編寫程序,通過 USB 端口將程序指令代(dài)碼(mǎ)序列下載到嵌入式單軸控製器中,解釋器(qì)模塊對下(xià)載的代碼序列進行解釋處理並(bìng)調用相應的處理函數,得到電機的(de)運動參數,因為(wéi)單軸控製器和伺服驅動(dòng)器共享內存,伺服(fú)驅動器可以根據參數直接控製電機的運動軌跡(jì),不需要再使用通訊接口。其中,運動控(kòng)製器中變量(liàng)監測模塊保存記錄數據,並將各個變量同樣通過 USB 接口反饋給(gěi)上位 PC 機調試軟(ruǎn)件(jiàn)中的(de)調試器,便於(yú)用戶實時調試,控製(zhì)電機的運轉軌跡。


圖 1 伺(sì)服控製係統結構

      1.2 伺服驅動指令

      伺服驅動指(zhǐ)令由匯編器匯編,具有一定(dìng)的指令格式,包括指令標識符和相關的參數(shù)。統一(yī)編譯為二進製(zhì)代碼,根據(jù)指令標識符的不同,調用不同的指令處理函數(shù),當然這就是解釋(shì)器的(de)功能了,不是我們討論的範疇(chóu)。根據參考文獻[1]設計的伺服驅動指令集,設計(jì)一個類,定(dìng)義統一的指令規範格式,定(dìng)義各(gè)個變量,分別(bié)存儲助記符的名稱、指令代碼、參數個數以及各個參數。定義該類型的數組,數組中存放的是所有的指令(lìng)集合,最後定義所(suǒ)有輸入輸出參數可(kě)能的類型指令。

      2.調試軟件的設計(jì)

      2.1 編輯(jí)器的設計

      采用 Visual Studio 平台的 rich Text Box 組件,在 C#win Form 程序中作(zuò)為匯編器的編輯界麵,同時采用 la-bel 控件為代碼添加行號。為 Label 控件添加 Paint 事件,來實現行號的添加。具體代碼設計如圖 2 所示:


圖 2 繪製行號

      其中,line Num Point 是一個 List 數組,存放的是Point 類型的數。Line Num Point 中的坐標是由 Line N-um Point. Add( ) 函數逐一添加的。遍曆該數組得到數組中元素的個數( 即行數) ,g. Draw String( ) 函(hán)數繪製(zhì)行號。此中存(cún)在一個設計難點,就是滾動條的問題。隨(suí)著滾(gǔn)動條的滾動,行號需要(yào)不斷的刷新才能滿足正常的需(xū)要。為此設計一個滾動(dòng)條的垂直滾動事件( rich Text Box 的 VScroll 事件) ,實(shí)現行號的刷新。首先用 clear( ) 函數將坐標數組清(qīng)空,重新計算字(zì)符串坐標(biāo),我 們 知 道 文 本 框(kuàng) 的 行 數,即 rich Text Box. Line.Length,先用 Get First Char Index From Line ( ) 函(hán)數從行號得到給定行(háng)第(dì)一(yī)個字符的索(suǒ)引,再根據函數 Get Posi-tion From Char Index( ) 得到字符在指定索引處的位置,進而得到每行行號的坐標。到此為止(zhǐ),編輯器已經做好了,但是為了使其更加(jiā)美觀實用,這裏為其實現了關鍵字高亮。高亮代碼如圖 3 所示。


圖 3關鍵字高(gāo)亮

      2.2 匯編(biān)器的設計

      匯編器需(xū)要在上位 PC 機調試軟件中使用,在上位 PC 機調試軟件的編輯器的編輯框裏(lǐ)輸入相關(guān)的匯編指令,匯編器將這些匯編指令一一(yī)進行匯(huì)編(biān),即編譯為可執行的二進製代碼,如果編譯不(bú)通過,則需進行相應的代碼調(diào)試,直至編譯通(tōng)過為(wéi)止。匯編過(guò)程的流程圖如圖(tú) 4 所示。


圖 4 匯編程序流程圖

      2. 2.1 定義用戶輸入指令

      定義用戶輸入指(zhǐ)令類,包括(kuò)的變量(liàng)有: 用戶輸入命令的名稱(chēng) name,參(cān)數 arg X,參數 arg Y,參數 a-rg Z,行號line,String 類型的輸入參數數(shù)組 in Arg,Int32 類型(xíng)的輸出參數數組 out Arg,以及(jí) byte 類型的(de)數組 bin,長度等於 8,一條指令的長度(dù),8 個字(zì)節,用於保存編譯後的二進製指令。

      2.2.2 設計難點

      設計過程中需(xū)要考慮的兩大問題,第一: 若用戶輸入的有空白行(háng),則必須先去(qù)除空白行,否則就算編程讓




    投稿箱:
        如果您有機床行業、企業相關新聞稿件發表,或進行(háng)資訊合作,歡迎聯係本(běn)網編輯部, 郵箱:skjcsc@vip.sina.com
国产999精品2卡3卡4卡丨日韩欧美视频一区二区在线观看丨一区二区三区日韩免费播放丨九色91精品国产网站丨XX性欧美肥妇精品久久久久久丨久久久久国产精品嫩草影院丨成人免费a级毛片丨五月婷婷六月丁香综合