亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電氣運動控制器填表式編程軟件設(shè)計與實現(xiàn)

        2018-01-19 11:35:34張冀張春雷瞿佳偉
        軟件導(dǎo)刊 2018年10期
        關(guān)鍵詞:軟件設(shè)計

        張冀 張春雷 瞿佳偉

        摘要:操作軟件是現(xiàn)代電氣運動控制系統(tǒng)的重要組成部分。為使人們更加方便地通過運動控制器控制電機進行電氣運動,通過研究運動控制系統(tǒng)各部件之間的通信與控制原理,以及運動控制過程中所需功能,基于Qt Creator設(shè)計并實現(xiàn)了一款運動編程平臺軟件,不僅可滿足基本操作控制需求,而且具有填表式編程功能。在定制設(shè)計的三軸運動控制系統(tǒng)實驗臺上進行操作測試實驗,驗證了該編程軟件操作的有效性和控制便捷性。

        關(guān)鍵詞:填表式編程;電氣運動控制;軟件設(shè)計;Qt Creator

        DOIDOI:10.11907/rjdk.181423

        中圖分類號:TP319

        文獻標(biāo)識碼:A 文章編號:1672-7800(2018)010-0110-04

        英文摘要Abstract:The operating software is an important part of modern electrical motion control systems. In order to make it easier for people to control the motor through the motion controller for electrical motion, by studying the communication and control principles between the various components of the motion control system, and the functions normally required in the motion control process, Qt Creator is designed and implemented. It is a motion programming platform software that not only satisfies basic operation control but also has a form-filling programming function. The operation test experiments on the custom-designed three-axis motion control system test bench verified the operational effectiveness and control convenience of the programming software.

        英文關(guān)鍵詞Key Words:filling programming;electric motion control;software design;Qt Creator

        0 引言

        運動控制系統(tǒng)(Motion Control System)多種多樣,一個典型的現(xiàn)代電氣運動控制系統(tǒng)硬件由上位計算機、運動控制器、功率驅(qū)動裝置、電動機、執(zhí)行機構(gòu)和傳感器反饋檢測裝置等部分組成 [1]。其中上位計算機直接發(fā)出操控命令,且該命令首先傳給運動控制器,運動控制器根據(jù)此命令解析成相應(yīng)時序信號直接控制設(shè)備(如電動機)并獲取設(shè)備狀況 [2]。運動控制器不時讀取設(shè)備狀態(tài)數(shù)據(jù)(一般為模擬量),并將數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號反饋給上位計算機。上位計算機與運動控制器都需要編程,而且各有專門的開發(fā)系統(tǒng)[3]。

        在各個用戶之間的上位計算機系統(tǒng)普遍相同的情況下,人們越來越趨向于只選擇某一款作用于通用計算機系統(tǒng)的操作軟件,控制運動控制器以間接控制電機運動。因此,設(shè)計一款上位計算機操作軟件便成為運動控制過程中必不可少的一部分[4]。

        大多數(shù)上位計算機軟件只包含基本的參數(shù)設(shè)置和手動控制功能,或者僅根據(jù)實際環(huán)境需要(比如某一周期的往復(fù)運動、實時的加減速運動等)設(shè)計與其對應(yīng)的操作軟件[5]。操作人員需要其它特定功能時,軟件開發(fā)人員就要根據(jù)需求特別定制,這一重新研發(fā)定制過程因為開發(fā)周期長,需耗費很多時間與精力。為增加操作軟件的易用性與通用性,在收集整理常用功能后,本文基于Qt Creator軟件,設(shè)計并實現(xiàn)了一款不僅滿足基本操作控制,而且具有填表式編程功能的獨立式上位計算機軟件。操作人員通過該軟件能自主設(shè)計滿足不同功能的程序,該程序一旦導(dǎo)入運動控制器中,電機便能脫離人工進行獨立式運動。

        1 軟件總體設(shè)計

        運動控制過程中的實時控制與功能指令編輯以人機交互形式實現(xiàn)。實時控制指操作人員在手動控制的情況下可以隨時修改運動控制器中電機的運行參數(shù),控制電機的基本運動以及監(jiān)控其運行狀態(tài)。功能指令編輯指操作人員在根據(jù)自身需要選擇編輯好的運動指令集后,下載到運動控制器中,讓其控制電機進行與指令內(nèi)容相符合的自動控制。軟件具有獨立工作特點,在功能指令編輯完成并下載后,軟件能夠脫離人為操作,完全按照所編輯的指令進行工作[6]。

        軟件采用模塊化設(shè)計。由于Qt Creator自身具有ui界面設(shè)計的Qt Designer功能,因此可將該軟件在Qt Creator上的實現(xiàn)分為界面設(shè)計和功能實現(xiàn)兩個模塊,軟件架構(gòu)如圖1所示。

        2 軟件界面設(shè)計

        本著簡潔明了、使用方便快捷的原則,編程軟件主界面設(shè)計如圖2所示。主界面包含“連接控制器”總開關(guān)、打開與手動控制相關(guān)的子界面按鈕(“手動操作”和“參數(shù)設(shè)置”按鈕)、打開與自動控制相關(guān)的子界面按鈕(“程序編輯”按鈕)以及打開運動控制器程序升級和上位計算機軟件升級的子界面按鈕(“關(guān)于”按鈕)4大部分。

        在軟件運行初始化或點擊“程序編輯”按鈕,便會在主界面的右端顯示其對應(yīng)的子界面,在子界面的左端是一個可自由增刪行數(shù)的表格(操作人員進行程序編輯的區(qū)域),子界面的右端是在編輯程序過程中需要的一些常用功能,如對程序進行讀入、修改、新建、刪除、保存、下載等操作。

        在子界面左端表格中,第1列為指令集,包含系統(tǒng)操作、流程控制、輸出口操作、回零運動、直線點位運動、獨立插補運動6種類型,為便于區(qū)分,每種指令集都設(shè)置不同顏色;第2列為選擇第1列指令集后與其對應(yīng)的各種常用指令,如“直線點位運動”對應(yīng)有“設(shè)置點位速度”、“三軸相對運動”、“YZ獨立運動”等等,共設(shè)計了49種常用功能指令;第3至第5列為各個指令需要填寫的參數(shù);第6列為方便操作人員記錄而提供的備注欄。最主要的15種功能指令及參數(shù)填寫格式如表1所示。

        點擊“手動操作”和“參數(shù)設(shè)置”按鈕,在主界面的右端會顯示其對應(yīng)的子界面,主要包含基本的點動操作、各個軸的運動位置顯示、輸入輸出口狀態(tài)與選擇、有關(guān)速度和位移的參數(shù)設(shè)置以及參數(shù)的保存與讀取。

        3 軟件功能實現(xiàn)

        軟件功能實現(xiàn)包含與運動控制器建立通信、設(shè)置界面上各個按鈕單擊的槽函數(shù)、讀寫各類文件以及向運動控制器發(fā)送指令4大功能,需按一定順序?qū)崿F(xiàn),流程如圖3所示。

        運動控制器通信模塊指建立在該運動控制器的通信協(xié)議上,并且通過Qt Creater的程序編寫,實現(xiàn)該軟件與運動控制器的通信。只有在建立好通信的基礎(chǔ)上,軟件才能實時向運動控制器發(fā)送命令,并將運動控制器的機器狀態(tài)傳輸?shù)骄幊誊浖7]。按鈕信號槽模塊指利用Qt Creater特有的信號和槽機制取代某些凌亂的函數(shù)指針,使編寫的程序更為簡潔明了。

        界面上點擊按鈕或觸發(fā)某個事件都可發(fā)出信號,信號再與單個或多個槽函數(shù)(用程序編寫的函數(shù)體)連接,這時無論第一個信號什么時候發(fā)射,系統(tǒng)都將立刻發(fā)射第二個信號,信號與槽構(gòu)造了一個強大的部件編程機制[8]。

        3.1 讀寫文件模塊

        各類軟件都會涉及到文件的讀寫操作,因為只有對文件操作才能實現(xiàn)各種信息的長時間保存[9],本軟件涉及對INI配置文件、BIN二進制文件與TXT文本文件的讀寫。

        INI配置文件是一種按照特定方式排列的文件。每一個INI文件構(gòu)成都非常類似,由若干段落(Section)組成,在每個帶括號的標(biāo)題下是若干個單詞開頭的關(guān)鍵詞(keyword)和一個等號,等號右邊就是關(guān)鍵字對應(yīng)的值(value)[10]。本軟件中的INI文件主要用于參數(shù)設(shè)置界面各參數(shù)的保存與讀取。讀寫INI配置文件流程如圖4所示。在處理INI文件時,創(chuàng)建一個專門的類(class)負責(zé)INI文件的讀寫工作,這個類暴露適當(dāng)?shù)慕涌诠┩獠空{(diào)用。一般的INI文件尺寸很小,因此以文本的方式將整個文件讀入一個string變量中。

        BIN二進制文件為無格式而有數(shù)據(jù)類型,與TXT文本文件儲存方式有根本不同。二進制文件目前廣泛使用IEEE標(biāo)準(zhǔn)浮點格式儲存實型數(shù)據(jù),使用ASCII編碼儲存字符型數(shù)據(jù)[11]。利用二進制文件在儲存實型數(shù)字時能節(jié)約很大空間;因內(nèi)存中參加計算的數(shù)據(jù)都是用二進制無格式儲存起來的,故使用二進制儲存文件也非??旖荩粚τ谝恍┍容^精確的數(shù)據(jù)使用二進制儲存不會造成有效位丟失[12]。該軟件中的BIN二進制文件操作主要用于將編輯好的程序指令轉(zhuǎn)換成二進制數(shù)據(jù),運動控制器通過讀取該二進制文件識別出各種不同類型的運動指令。建立BIN二進制文件及向其寫入內(nèi)容流程如圖5所示。

        TXT文本文件內(nèi)容是線性儲存的,列用空格或Tab間隔,行用回車和換行符間隔。文本文件讀寫與二進制文件讀寫流程類似,不同之處在于創(chuàng)建文件時,后綴名使用“.txt”,以及寫入內(nèi)容時,使用QTextStream數(shù)據(jù)流形式。

        3.2 指令傳輸模塊

        指令傳輸模塊定義每條指令具有不同的表達方式,將編輯好的程序指令轉(zhuǎn)換成二進制并寫入二進制文件。上位計算機與運動控制器建立通信,將該二進制文件迅速傳輸給運動控制器,方便運動控制器解析程序的運動指令[13]。

        例如在“回零運動”指令集中的“啟動回零”指令為0x03000204,該指令定義為16進制形式,高8位的03代表該指令包含3個參數(shù),低8位的02代表指令類型(啟動回零),04代表指令類別(回零運動)。每條指令根據(jù)其作用都具有嚴(yán)格意義上的不同定義,每個定義在運動控制器程序上也都有對應(yīng)的模式識別。

        以“啟動回零”這條指令為例。在按程序編輯表格順序時,如果識別到程序中有“啟動回零”這一指令,便立刻執(zhí)行定義的MC_CMD_StartHome()函數(shù)。定義了一個名為dwCmd的數(shù)組,數(shù)組第一個元素為指令的16進制定義,數(shù)組的其它元素為指令的3個參數(shù)(這3個參數(shù)就是界面上表格中的參數(shù)1、參數(shù)2、參數(shù)3內(nèi)容),執(zhí)行定義的WriteData()函數(shù)。向BIN二進制文件寫入內(nèi)容,WriteData()函數(shù)即向二進制文件中分別寫入dwCmd數(shù)組內(nèi)容和數(shù)組第一個元素(指令的定義)。

        4 實驗操作測試

        在定制的三軸電氣運動控制系統(tǒng)實驗臺上進行軟件測試,如圖6所示。測試前先用Keil軟件單獨編寫運動控制器所需的各個模塊控制程序代碼,利用J-Link工具將完整無誤的控制程序燒入運動控制器作為運行系統(tǒng),還需在PC電腦上安裝運動控制器驅(qū)動。利用一根USB串口線連接運動控制卡和PC電腦(上位計算機與運動控制器之間采用RS232串口通信原理),便可打開研發(fā)的軟件實時向運動控制器發(fā)送指令,將設(shè)計的軟件下載到運動控制器以控制整個系統(tǒng)實驗平臺。

        點擊圖2所示的主界面“下載程序”,便可將程序轉(zhuǎn)換成二進制內(nèi)容傳輸?shù)竭\動控制器中。運動控制器接收并識別二進制內(nèi)容后,立刻通過各驅(qū)動器控制對應(yīng)的電機進行運動。實驗表明:上位計算機與運動控制器之間能有效通信;指令傳輸實時、運動控制準(zhǔn)確,程序編輯具多樣性。

        5 結(jié)語

        本文利用Qt Creater設(shè)計并實現(xiàn)了三軸獨立式電氣運動控制器的填表式編程平臺軟件。通過在定制系統(tǒng)實驗平臺上多次實驗,表明這款軟件能降低操作人員時間與精力,實用性強。除實驗臺上所用皮帶輪直線模組和步進電機外,該軟件還適用于絲桿導(dǎo)軌和伺服電機的工作環(huán)境,對軟件稍作修改則可適用于許多軸的電氣運動控制,該軟件的設(shè)計思想還適用于運動控制的其它領(lǐng)域。

        參考文獻:

        [1] 郗志剛,周宏甫.運動控制器的發(fā)展與現(xiàn)狀[J].機床電器,2005(4):5-10.

        [2] 張學(xué)飛,蔣益興,李健.基于C8051F350型單片機的振動信號采集系統(tǒng)[J].儀表技術(shù)與傳感器,2009(10):52-53,57.

        [3] 黃霆.基于LabVIEW的突發(fā)誤碼儀的上位機設(shè)計與實現(xiàn)[D].武漢:武漢科技大學(xué),2011.

        [4] 林勇強,王勇,馮屹朝.開放式運動控制器技術(shù)現(xiàn)狀與發(fā)展趨勢[J].信息技術(shù),2010,34(5):184-186.

        [5] 劉綠山.嵌入式四軸運動控制器的設(shè)計與研究[D].廣州:廣東工業(yè)大學(xué),2007.

        [6] 陳景波,盧達,王玲玲.全自動電腦橫機上位機軟件的設(shè)計[J].紡織學(xué)報,2011,32(2):131-135.

        [7] 朱振茂.無線網(wǎng)絡(luò)實時監(jiān)測系統(tǒng)上位機軟件的設(shè)計與實現(xiàn)[D].大連:大連海事大學(xué),2008.

        [8] 吳春華.基于ARM和uClinux的嵌入式系統(tǒng)的構(gòu)建研究[D].杭州:浙江大學(xué),2005.

        [9] 趙鐵柱.分布式文件系統(tǒng)性能建模及應(yīng)用研究[D].廣州:華南理工大學(xué),2011.

        [10] 唐振軍.VC++讀寫軟件配置參數(shù)的若干方法[J].電腦編程技巧與維護,2010(9):31-37.

        [11] 馮輝.DICOM二進制文件解讀的VC++實現(xiàn)[J].醫(yī)學(xué)影像學(xué)雜志,2003(7):538-539.

        [12] 謝華成,張昆朋,范黎林,等.基于文件分割的二進制大對象存取算法[J].計算機應(yīng)用,2011,31(10):2612-2616.

        [13] 柯艷,李杰,孔祥雷,等.基于USB2.0的多路數(shù)據(jù)采集系統(tǒng)上位機軟件設(shè)計[J].測試技術(shù)學(xué)報,2010,24(4):351-356.

        (責(zé)任編輯:杜能鋼)

        猜你喜歡
        軟件設(shè)計
        CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于單片機SPCE061A的字幕機點陣式字母電子顯示屏的設(shè)計制作
        商情(2016年42期)2016-12-23 16:56:26
        電力參數(shù)監(jiān)測系統(tǒng)研究
        基于STC單片機的廚房智能安全管控系統(tǒng)的設(shè)計
        基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計
        基于Java串口通訊的檢測系統(tǒng)程序設(shè)計
        JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計及應(yīng)用
        一種VHDL語言代碼重用的方法
        科技視界(2016年20期)2016-09-29 13:33:02
        系統(tǒng)工程方法在計算機軟件設(shè)計中的應(yīng)用分析
        基于Java語言的手機軟件開發(fā)技術(shù)分析
        国产熟妇一区二区三区网站| 国产又黄又大又粗视频| 国产免费av片在线观看播放| 亚洲中国美女精品久久久| 成人大片免费观看视频| 国产喷水1区2区3区咪咪爱av| 亚洲国际无码中文字幕| 亚洲日本在线电影| 亚洲AV综合久久九九| 国产一区二区三区乱码在线| 精品国产一区二区三区不卡在线| 香蕉人人超人人超碰超国产 | 精品国产yw在线观看| 久久国产精品-国产精品| 国产国拍亚洲精品午夜不卡17| 日韩男女av中文字幕| 亚洲开心婷婷中文字幕| 99久久久无码国产精品试看| 日韩精品视频在线观看免费| 久久久人妻精品一区bav| 国产精品爽爽久久久久久竹菊| 日韩精品一区二区三区在线观看| 亚洲国产综合精品久久av| 最新日本人妻中文字幕| 99久久久无码国产精品6| 久久AV中文综合一区二区| 日产一区一区三区区别| 成视频年人黄网站免费视频 | 亚洲两性视频一三区| 国产福利一区二区三区在线观看 | 伊人激情av一区二区三区| 亚洲AV无码成人品爱| 少妇我被躁爽到高潮在线影片| 97人人模人人爽人人喊网| 欧美成人精品第一区二区三区| 亚洲成片在线看一区二区| 丁香花五月六月综合激情| 国产一区二区三精品久久久无广告| 毛片无遮挡高清免费久久| 青草草视频在线观看华人免费| 成人做爰69片免费看网站野花|