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

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

用戶名:   密碼:         免費注冊  |   申請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
主站蜘蛛池模板: 亚洲一区日韩一区欧美一区a,中文字幕乱妇无码AV在线,欧美日韩免费在线观看,国产精品一区二区三区免费,日韩精品免费一线在线观看,日韩一本在线,国产呦精品一区二区三区下载,国产日韩精品一区二区在线观看,欧美日韩高清一区二区三区,日韩在线免费观看视频,欧美日韩一区在线观看 | 昆山开曼流体系统科技有限公司| 无锡言午机械,无锡市言午机械有限公司--官方网站 | 实验反应釜,高压反应釜,玻璃反应釜,不锈钢反应釜-烟台招远松岭化工设备有限公司 | 铸造工具|芯撑|铸造毛刷|枣强县永盛五金工具厂 | 数控机床市场网-专业的数控机床网站| 葡萄糖酸钠_食用葡萄糖_精萘-安徽鹏腾实业有限公司 | 锯轨机|气动锯轨机|内燃锯轨机|电动钢轨钻孔机|内燃钢轨钻孔机-山东卓力铁路设备有限公司 | 清河县隆鑫密封件有限公司,汽车用密封条,配电箱柜、集装箱密封胶条,建筑门窗、家具用密封条,无毒环保医用密封条,船舶、农机用密封条,异型产品 | 郑州空气能热水器,郑州空气能热水器经销商,郑州空气能热水器维修,郑州空气能热水器安装 | 仪器校准,校验,校正,检定选值得托付的第三方法定计量检测机构! 铱金供应-上海钌合金-氯铱酸厂家-上海庞势新材料科技有限公司 | 推台锯_多片锯_圆木推台锯_方木多片锯_圆木多片锯-河北茂业机械有限公司 | 煤炭烘干机|煤泥烘干机|矿泥烘干机|酒糟烘干机|果渣烘干机-东鼎干燥官方网站 | 万级无菌室-阳性对照室-干细胞实验室-广州沃霖实验室设备有限公司 | 精品中文字幕在线观看,粉嫩av一区二区三区,最近中文字幕在线看免费视频,亚洲高清在线观看,日本一区二区视频手机免费看,国产黄色小视频,亚洲高清免费视频,国产精品一区二区欧美视频,亚洲人免费视频,亚洲视频在线观看免费,国产免费高清综合视频,中文字幕永久在线 | 专注全球电机测试-电机测试系统-AIP艾普【官网】 | 全自动圆木多片锯_立式圆木多片锯价格_大型圆木多片锯厂家-邢台友创机械制造有限公司 | 湖北高新技术企业认定申报|武汉高企认定代办|武汉项目申报首选 - 湖北创优企科技服务有限公司 | 威海牙科,威海种植牙,威海人工种植牙-威海经济开发区姚晓艺口腔诊所 | 玉米脱皮制糁机-玉米深加工机械价格-玉米糁加工机器设备-玉米渣加工成套设备-河南粮院 | 压滤机_板框压滤机_生产厂家陕西华星佳洋装备制造有限公司 | 衢州装饰公司_衢州装修公司_衢州创美装饰工程有限公司 - Powered by www.qzcmzs.com | 陶瓷靶材_氧化铌靶材_合金靶材_专注河北氧化铌靶材批发-河北东同光电科技有限公司 | 南京货架|仓库货架|货架公司|仓储货架工厂批发定做-南京苏正科技实业公司 | 镗铣头-铣头-数控铣头-高密市振飞机械制造有限公司 | 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 上海教师招聘考试网_上海编制教师招聘网| 泥浆振动筛|卧式泥浆搅拌器|泥浆离心机|泥浆处理固控设备_沧州宏宇石油机械有限公司 | 五金冲压厂家_五金冲压件加工_微细孔加工-深圳市浩鑫精密五金制品有限公司 | 恒温干燥箱厂家-烘箱厂家-马弗炉厂家-生化培养箱-上海有丰科学仪器有限公司 | 智能化会议系统|多媒体会议系统|无纸化会议系统|会议音箱|高清视频会议终端|智能化会议室|会议系统|视频会议系统-深圳市航视达科技有限公司 | 净水器厂家_杭州净水器厂家_杭州拥政科技有限公司 | 山东健泽医疗科技有限公司-官网_深呼吸训练器_肋骨固定板_放疗定位膜耗材生产厂家招商 | 猪粪烘干机|小型鸡粪烘干机|猪粪烘干机价格|小型鸡粪烘干机价格 - 河南宏科重工干燥机设备生产厂家 | 渣浆泵厂家/潜水-渣浆泵过流件-管道增压泵 - 河北聚洪泵业有限公司 | 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 - 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 | 纸袋机|多层纸袋机|高速纸袋机|无锡市天天友情机械有限公司 | 桥梁支座更换_桥梁检测车租赁_高空作业车出租_支座更换_伸缩缝安装_隧道防水_养护加固_维修_出租_衡水庆兴桥梁养护工程有限公司 桥梁养护|桥梁维修加固|隧道裂缝修补|支座更换|管道堵水气囊|衡水众拓路桥养护有限公司 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 树脂门|卫浴门|医院门|医院专用门|卫生间门—湖南航天康达树脂门 | 江苏保捷锻压有限公司(中国汽车零部件供应商,锻造,精加工,热处理) |