数控机床市场网-专业的数控机床网站

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

用戶名:   密碼:         免費注冊  |   申請VIP  |  

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

車床 銑床 鉆床 數控系統 加工中心 鍛壓機床 刨插拉床 螺紋加工機床 齒輪加工機床
磨床 鏜床 刀具 功能部件 配件附件 檢驗測量 機床電器 特種加工 機器人

數控系統

電工電力 工程機械 航空航天 汽車 模具
儀器儀表 通用機械 軌道交通 船舶

搜索
熱門關鍵字:

數控機床

 | 數控車床 | 數控系統 | 滾齒機 | 數控銑床 | 銑刀 | 主軸 | 立式加工中心 | 機器人
您現在的位置:數控系統網> 技術前沿>基于Qt的數控系統測試軟件的設計與實現
基于Qt的數控系統測試軟件的設計與實現
2018-4-3  來源:轉載  作者:吳純赟 栗勇 杜少華 葛小川

       摘要:數控系統的測試相比較一般的系統更加復雜,以往的測試工具存在測試過程復雜、測試效率低下、可移植性差、用戶交互不理想等缺點。在研究了Linux驅動及Qt技術的基礎下設計并實現了藍天數控系統的測試驅動程序以及基于Qt的測試應用軟件,完成對數控系統I0, DA,鍵盤操作站等的測試。軟件具有較高的移植性,可以運行在不同平臺上,測試人員可以自主選擇測試的項目與過程,提高了測試效率,簡化了測試過程,縮短了測試時間。測試軟件在生產車間中投入使用,有效地保障了數控系統的可靠性。

       關鍵詞:數控系統;軟件測試;Qt技術

       0、引言

       數控技術是工業化過程中發展國家高新技術產業和尖端工業的重要一環,也是先進制造技術的核心研究內容。數控系統測試軟件為工業生產提供了有效保障,目前我國的數控測試軟件主要采用基于c語言的命令行模式,雖然在功能上能覆蓋常用的模塊,但存在可移植性差、用戶交互性弱、測試過程復雜等缺點?;赒t的數控系統測試軟件正是要解決以上問題,為測試人員提供一個操作簡便、可視化程度高、移植性好的測試環境。

       在深入理解Linux內核以及Qt界面、信號與槽機制的前提下,基于Qt的數控系統測試軟件重新設計了GJ303系統的測試3動程序,并且使用Qt的UI實現了可視化操作。軟件完成了對IO,DA,鍵盤、操作站等功能模塊的設計與實現,編譯后部署在藍大高精數控測試生產線上進行實際測試,并記錄測試時間和故障率,從而驗證測試軟件的可行性。

       1、需求說明

       GJ303是新一代開放式普及型數控系統,采用高性能工業級PC平臺,在工業生產中已經有廣泛的應用,生產車間需要在數控系統出廠前對IO,DA,鍵盤操作站等進行測試,以確保軟硬件的正確性和穩定性,為工業生產提供保障。  
 
       對于IO部分,需要GJ303系統與外接板連接,通過測試程序對IO讀寫信號進行測試;DA部分需要程序對DA輸出值進行測試;鍵盤和操作站部分需要通過程序對數控系統鍵盤鍵位的有效性及操作站控制的有效性等進行測試。

       從上述可以看出數控系統的測試存在步驟多、測試過程繁瑣、測試過程掌控不到位等問題。在此背景下,結合當前數控封裝測試車間的實際應用場景,采用Qt技術j實現功能完備、測試過程簡單高效、移植性強、可視化程度高的數控系統測試軟件。

       2、測試軟件驅動的設計與實現

       測試軟件需要對數控系統的硬件資源進行操控,所以底層需要一套專門的驅動來配合上層的Qt程序。藍大數控系統內核是基于Linux 2. 6系統,測試馭動程序符合一般Linu、字符馭動程序開發的流程。在整個數控系統測試軟件中,驅動程序扮演著承上啟下的作用。

       在Linux2. 6內核中,使用cdev結構體描述一個字符設備,cdev結構體的定義描述如下:
 
  
 
 
       cedv結構體的dev_t成員定義了設備號,為32位,其中12位主設備號,20位次設備號。使用下列宏可以獲得主設備號和次設備號:

       MAJOR (dev_ t dev)

       MINOR (dev_ t dev)

       使用下列宏可以通過主設備號和次設備號生成dev_t:

       MKDEV (int major int minor)

       文件操作file  operations是程序操作設備的主要結構,它的成員在應用層中以open ( ) ,write ( ) , read(),close ()等系統調用來體現。以上操作在測試軟件中需要進行自定義,以read函數為例,GJ303系統中需要先設置偏移找到讀取的起始位置,再根據傳入的讀取范圍分配內核空間內存,最后調用_copy_  to_  user函數將需要的數據從內核空間拷貝到用戶空間。write函數操作過程類似,只是拷貝數據的方向相反。

       上層的應用程序在測試過程中需要對機床的各個功能硬件進行命令的收發,通過以上馭動程序的調用就可以高效便捷地進行交互。

       3、測試軟件應用層的設計與實現

       3.1 總體架構設計

       測試軟件從結構上分成二層,如圖1所示,用戶界面采用Qt技術實現,底層調用馭動測試程序。驅動程序直接解析用戶界而傳來的測試命令,數控硬件系統根據馭動程序進行相應的操作完成測試。
 
  
 
圖1 系統整體結構 

       Qt具有跨平臺以及界而美觀等優點,且在嵌入式領域已經有廣泛地應用,所以本軟件的用戶交互界面全部由Qt來實現。應用層的開發在搭載Ubuntu 14. 04的PC下完成,測試與部署則在藍大數控GJ303系統上進行。上圖中數控系統部分實際還需要用到I0, DA的外接測試板以及外置手輪。

       3. 2 事件處理機制

       由于以往的藍大數控系統測試工具都是基于C語言的命令行格式,測試人員即便測試某個小功能也要掌握所有的命令選項,一步步地進入到測試點。這不僅造成測試過程復雜,還容易出錯。傳統的程序界而跳轉采用順序馭動,導致邏輯復雜,跳轉代碼與業務代碼摻雜在一起,結構混亂,不利于軟件的功能擴展及移植。

       軟件使用Qt實現事件馭動機制,并抽取測試人員常用的測試選項于頁而供直接使用,很好地解決了以上問題。測試軟件的測試組件由按鈕和命令行組成。按鈕是由事件馭動的測試路徑,需要通過數控系統自帶的鍵盤綁定相應的事件;命令行則是快捷測試路徑的入口,需要綁定并解析相應鍵盤輸入的字符串。為了讓軟件更好地支持與底層硬件通信,提高測試效率,以上測試路徑采用異步的事件通知。異步意味著當主線程接受完一個信號后可以繼續處理業務邏輯,不必等待,當調用QApplication : : exec時,就進入了事件循環隊列。對于按鈕和命令,自定義的事件主要對QKeyEvent進行封裝,只需對不同的事件源進行判斷就可以滿足動態需求。測試人員在對某個功能進行測試時,其輸入將被包裝成一個事件源。如果是簡單的鍵盤事件,將調用Qt自帶的事件處理器,但當要輸入命令時,就先由事件分發器捕獲回這次命令事件,然后判斷是否自定義的事件,若是則分發器查找對應的自定義事件處理器,并觸發相應的操作,具體流程如圖2所示。為了便于管理眾多的按鈕與命令輸入框,也為了統一結果顯示頁而,軟件還擴展了Qt的部分控件:

       (1) 狀態控制方法,由于不同控件有各自的布局及大小管理方法,使用時十分不便,本軟件設計的voidset-eometry (int , int , int , int)成員方法可以統一設置所以控件的大小及位置,前兩個參數表示起點位置,后兩個參數表示長度和寬度;

       (2) 字體設置方法,為了使界而支持各種編碼的字符,設計了QString to -Chinese (const char*  str,constchar*  code)方法,內部使用了QTextCodec字符編碼器將傳入的信息提示字符串str轉變為code指定的編碼,使得軟件支持國際化。

       基于異步的事件處理機制對數控測試軟件的各個功能模塊進行了解耦,不同模塊間形成了責任鏈模式,在提高性能的同時也增加了擴展性。
 
  

圖2  自定義事件處理機制

       3. 3  IO與DA測試的設計與實現

       IO與DA是數控系統的基礎,是數控系統機床控制系統的重要組成部分,因此對這兩部分的測試就尤為重要。GJ303數控系統的IO模式是48IN320UT以及32IN240UT,測試時需要考慮多種輸入輸出的情況。

       IO測試模塊程序流程如圖3所示,以48IN320UT輸出測試為例,犯個比特要每隔is輸出一位,要控制時間間隔便要使用Qt定時器來完成任務。該功能模塊的實現方法定義: void IO_ outport (int offset , int st , un-signed int word),該方法內部實現需要使用上文的驅動程序,即調用writ。系統調用,該系統調用將向操作系統內核傳遞IO輸出數據。

       DA的測試需要提供一組待測電壓以及一組與之對應的地址。軟件中封裝了void DA outport (int st int chunsigned int word)方法,word參數就是要測試的DA地址值,前而兩個參數是狀態控制參數。為了可擴展性,測試的地址岡值可以由測試人員自行輸入,軟件后臺會將最近的一次設定值保存在數組中,并寫入配置文件刷新到磁盤上。測試開始時軟件會根據最終的地址傳入上述方法,底層使用系統調用傳遞給數控系統。
 
  

圖3  IO測試流程

       3. 4 鍵盤測試的設計與實現

       數控系統的鍵盤是其在工業生產環境中最常用的外設,操作人員絕大部分操作及維護都是通過它來完成的,因此對鍵盤的測試尤為重要。GJ303數控系統的鍵盤和普通PC機的鍵位基木相同,但多了幾個系統鍵。該部分測試的主要思想是利用Qt的鍵盤事件。當在主界而按下代表鍵盤測試的按鈕后,整個鍵盤進入測試模式,測試人員之后按下的每個鍵都會在軟件的界面上進行回顯,直到連按2次ESC鍵后退出測試。

       進入鍵盤測試后就觸發了事件源,事件分發器捕獲事件源并判斷自定義事件。軟件中對該功能的自定義事件改變了QKeyEvent原來的傳播行為,將輸出重定向至內存中,再在界而上輸出。只要生產時鍵盤焊接等工藝沒有發生錯誤,測試時鍵盤的事件源就會被準確地捕獲,一次典型的捕獲過程如圖4所示。
 
  
圖4 鍵盤測試流程

       3. 5 操作站測試的設計與實現

       操作站是鍵盤的延伸,是數控系統對機床進行控制的操作而板,可以控制數控運行過程中主軸的轉動方向、液壓系統、照明等,圖5是GJ303系統配套的操作站。
 
  
 
圖5 操作站

       對操作站的測試不同于鍵盤,因為它是數控系統獨有的,Qt的事件并不支持。軟件中采用的方法是對操作站的鍵位進行轉換,然后用類似于鍵盤的測試方法在主界面上回顯按下的鍵位。

       對于數控系統底層馭動來講,操作站的每個鍵位都對應著IO的某個地址,地址的格式是8位的無符號整數。在軟件中為了簡潔使用unsigned char ch_pre變量表示,整個轉換的過程使用void mopValueToText(unsigned char ch_pre, unsigned char ch_rev,char*str)這個方法來完成,轉換過程如圖6所示。
 
  

圖6 操作站轉換過程

       接下去的操作是分發器調用以上轉換方法,而非某個自定義事件。轉換方法的核心部分是將IO地址一一轉換成中文或其他語言,代碼片段如下:

       case 0x81 : sprintf (str, " % s",”進給修調0%”);

       0x81就是IO地址“進給修調”是需要在主界而上顯示的表述。

       4、測試結果

       測試軟件通過交叉編譯后部署在測試車間的GJ303數控系統上供測試人員使用。針對3個月的車間平均測試統計,結果如表1所示。
 
  
 
表1  GJ303數控系統測試時間比較

       表1中數據是部署后車間流水線上每臺數控系統各個項目的平均測試時間,是經過長時間累計測試得出的。從中可以看出4個項目測試時間都有較大的縮短,使得測試效率得到提高。對于出廠數控系統的故障率和返修率也進行了統計,如表2所示。
 
  

表2  GJ303數控系統故障率比較

       從表2可以看出在使用新的測試軟件后平均故障率大幅卜降,給生產帶來了較大的保障,提高了產品的經濟效益。

       5、結論與展望

       基于Qt的GJ303數控系統測試軟件完成了對I0,DA,鍵盤與工作站的測試,并且在藍大數控測試生產線上進行了部署。經過長期運行證明了該軟件測試系統的穩定性與高效性。軟件幫助測試人員建立了完善易用的人機交互界面,對各個部分的測試效率也有較大地提高。

       由于軟件采用了Qt技術,因此其跨平臺性也進一步得到了提高,目前已經針對GJ301,GJ302等藍天數控系統進行改造,是測試軟件能部署在更多的數控系統上,從而創造更多的經濟效益。

       未來的工作還要進一步擴展測試軟件的功能,例如編碼器、軸測試等,最終使軟件能夠適應更多的生產環境。
 
       來源:中國科學院大學,中國科學院沈陽計算技術研究所高檔數控國家土程研究中心.沈陽高精數控智能技術股份有限公司 
    投稿箱:
        如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
主站蜘蛛池模板: 十堰急开锁0719-8888139|十堰开锁公司|十堰开锁电话|十堰换锁价格-同福锁城-十堰同福锁城 | 纸带过滤机,磁性分离器,排屑器-烟台通赫机床辅机有限公司 | 球场地板_运动场地面_体育设施器材_地坪漆工程_项目承接-大上实业(深圳)有限公司 | 汽车标签|医疗标签|电子标签|手机电池标签|电脑电池标签|电源标签|耐高温标签|防静电标签|手机出厂膜|手机全裹膜|手机包裹膜|手机卖点膜|热转印标签|遮阳板标签|天势科技|-标签印制专家! | 专业制造泥浆泵阀箱、锻造零件、曲轴、台阶轴等各种机械部件 - 四川中宇重工科技有限公司 | 英格索兰隔膜泵_ARO气动隔膜泵_英格索兰隔膜泵配件【原厂正品】连续五年无投诉_英格索兰隔膜泵代理-苏州瑞晟茂环保设备有限公司 印刷公司,北京印刷厂,宣传画册手册印刷厂-和智印彩页设计 | 食品包装膜-铝箔包装袋-食品真空包装袋定制-塑料包装袋厂家-德远塑业 | 行域人才网-垂直行业领域招聘首选的专业人才网,分行业招聘就上行域人才网 | 青州市昌达机械设备有限公司_洗石机-洗砂机-筛沙机-砂石分离机-洗轮机-制砂机 | 曙海培训-ZEMAX培训射频培训无线电培训GMS培训EMC培训电磁兼容性培训Maxwell培训欧姆龙培训procast培训可靠性培训光学培训工业机器人培训NI培训Linux培训5G培训Hadoop培训CFD培训 | 西藏旅游-西藏中旅-西藏中旅国际旅行社| 豪顺物流官网-南京物流公司,南京货运公司「全国专线配送」 | 压力蒸汽灭菌器_脉动真空灭菌器_环氧乙烷灭菌器_等离子灭菌器_广州市科洋 | 伸缩接头,限位伸缩接头,传力接头,可拆卸接头,橡胶接头,衬四氟橡胶接头,橡胶软连接,橡胶补偿器,防水套管- 巩义市隆盛管道设备有限公司 | 同步分流马达_液压泵维修_派克多路阀-济南富诚液压设备有限公司 通用变频器|国产变频器|深圳变频器厂家-深圳市英捷思技术有限公司 | 智能化会议系统|多媒体会议系统|无纸化会议系统|会议音箱|高清视频会议终端|智能化会议室|会议系统|视频会议系统-深圳市航视达科技有限公司 | 造型松|造型黑松|油松|泰山松-莱芜市盛世园林苗木专业合作社 | 吸附式干燥机|零气耗压缩热干燥机|无锡气净法工业技术有限公司【官网】 | 尼日利亚SONCAP认证_沙特SABER认证_摩洛哥COC认证-诺帝检测技术(上海)有限公司 | 叶片泵,液压电机,油泵电机,变量叶片泵,油压电机-广东俊泰液压科技有限公司 | 文轩热能_水冷板散热器热设计热管理系统_铝型材铲齿摩擦焊热管_散热片散热板生产加工厂家 | 黄山市惠康膳食管理服务有限公司 - 官网首页 | 烟囱防腐_维修_刷航标_美化_加固_刷色环 | 西安泰富西玛电机有限公司总部-电机-高压电机-西玛电机-西安西玛电机-泰富西玛电机-西安电机厂-西玛电机销售 | 华网,华网资讯,华网头条,华人网络家园 | 塑料托盘 塑料周转箱零件盒生产销售-江苏卡尔富塑业科技有限公司 | 上海航空货运,上海空运,东方航空快递,机场物流,航空快运,上海东方航空托运公司 | 欢迎光临广西七三科技有限公司官网 | 立式加工中心_龙门加工中心_卧式加工中心-山东威达重工股份有限公司 | 企业认证-山东环鲁认证管理有限公司 | 山东致合必拓环保科技股份有限公司| 浙江云野科技有限公司_智慧旅游规划_智慧景区管理系统_全域旅游解决方案-云野科技旅游大数据管理平台 | 四字成语大全6000个,经典成语大全及解释,1000个50000个成语及解释 - 同鑫成语网 | 实验室超纯水机-超纯水机-超纯水仪-上海赫恩实业有限公司 | 上海轮毂生产厂家-改装轮毂-锻造轮毂价格-上海毂信汽车零部件有限公司 | 内蒙古天奇生物科技有限公司——OEM代工|ODM定制|原料供应|骨肽|片剂|胶囊剂|口服液 | 透明膜包装机_三维包装机_上海拓懿机械有限公司 | 液压尾管悬挂器,机械式尾管悬挂器价格,石油套管扶正器厂家,连续油管悬挂器,高压双塞水泥头,免钻塞注水泥分级箍,单塞套管水泥头价格,弹性套管扶正器,铸铝钢性扶正器,钢性套管扶正器厂家 | 华药药业集团|华药修医师|修医师浸膏|河南华药药业有限公司 | 上海瀚广科技(集团)有限公司,上海瀚广,瀚广 | 天津高压泵-高压清洗机-高压柱塞泵-厂家-价格-天津高压泵格瑞德 天津翻译公司盖章|022-58385822| 翰文博译(天津)商务咨询有限公司 |