數(shù)控人機(jī)界面編輯系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
點(diǎn)擊:1417
A+ A-
所屬頻道:新聞中心
1 引言
為了進(jìn)一步提高數(shù)控系統(tǒng)用戶界面的友好性,開發(fā)出適合不同用戶的界面,為數(shù)控系統(tǒng)設(shè)計(jì)一種專用的人機(jī)界面編輯工具十分必要。此工具軟件主要用于創(chuàng)建數(shù)控系統(tǒng)的人機(jī)界面,可以在Windows環(huán)境下運(yùn)行,通過內(nèi)部圖形庫或自定義的圖形庫進(jìn)行鏈接,編制個(gè)性化界面。采用“所見即所得”的觀念,使用者可立即在屏幕上看到畫面設(shè)計(jì)的實(shí)際結(jié)果:如各種字形大小、顏色、元件位置、圖形等;在屏幕上的顯示都會(huì)與實(shí)際人機(jī)界面所顯示的畫面一樣。而在編輯操方法上以物件導(dǎo)向的理念設(shè)計(jì),達(dá)到拖曳式編輯,使用者可將畫面設(shè)計(jì)工作區(qū)中的元件,隨意以滑鼠拖曳到其他位置,或改變其外形、大小等。同時(shí),通過為元件的屬性參數(shù)設(shè)置特定的事件或者特定的變量,從而與數(shù)控系統(tǒng)中的PLC程序或零件加工程序進(jìn)行數(shù)據(jù)鏈接,實(shí)現(xiàn)數(shù)控系統(tǒng)供用戶觀察、修改和設(shè)置內(nèi)部軟件運(yùn)行過程及數(shù)據(jù)的人機(jī)交互界面。
2 系統(tǒng)總體結(jié)構(gòu)
2.1 數(shù)控人機(jī)界面組成元素
主要用于顯示各種加工參數(shù)或狀態(tài)量等數(shù)字信息,如主軸轉(zhuǎn)速、進(jìn)刀量、坐標(biāo)位置等。變數(shù)可讀,也可以修改,用戶可以通過按鍵修改某些變數(shù)的值,以設(shè)置各種加工參數(shù)。
2)動(dòng)態(tài)圖素,可以用圖形動(dòng)畫的形式來反映一些設(shè)備工作狀態(tài),如可以用動(dòng)態(tài)圖素來實(shí)現(xiàn)信號(hào)燈、錯(cuò)誤警告、狀態(tài)提示等。這些動(dòng)態(tài)圖素與控制器內(nèi)的變量建立了對(duì)應(yīng)關(guān)系,根據(jù)變量的變化,圖形對(duì)象可以進(jìn)行改變,變量可以是內(nèi)存變量,也可以是I/0 變量。
3)靜態(tài)圖素,在整個(gè)界面里主要起修飾作用,用于顯示一些固定不變的信息,它與以上兩種圖素相結(jié)合共同構(gòu)成一個(gè)友好的顯示界面。
2.2 界面編輯系統(tǒng)總體結(jié)構(gòu)
界面編輯系統(tǒng)結(jié)構(gòu)分為文件管理、屏幕圖形設(shè)計(jì)、編譯處理、模擬仿真等幾大模塊,其總體結(jié)構(gòu)如圖2 所示。各模塊功能如下。元庫文件的保存、讀取和刪除等。
2)屏幕圖形設(shè)計(jì)模塊,是一個(gè)供用戶進(jìn)行人機(jī)界面圖形設(shè)計(jì)和顯示的具有實(shí)時(shí)人機(jī)交互功能的通用性核心模塊。功能特性:(1)根據(jù)數(shù)控顯示界面的特點(diǎn),本模塊提供直線、矩形、圓、圓弧、文字、圖片等基本圖形元素及變數(shù)顯示、動(dòng)態(tài)文字、動(dòng)態(tài)圖片、表格、功能按鍵5 種特殊圖形元素。用戶用上述圖形元素就可以很容易地設(shè)計(jì)各種操作方便、界面友好的數(shù)控人機(jī)對(duì)話界面。(2)本模塊還提供移動(dòng)、刪除、縮放、復(fù)制和層次變換等基本圖形編輯工具,方便用戶靈活編輯各種圖形。(3)屏幕圖形元素是以矢量圖形方式表達(dá),所在編輯中不會(huì)有失真的現(xiàn)象。(4)每個(gè)屏幕圖形元素具有自己的屬性,用戶通過修改圖形元素的屬性值來控制它的功能。
3)編譯處理過程就是把設(shè)計(jì)的屏幕圖形文件轉(zhuǎn)換成指定數(shù)控操作顯示設(shè)備能解釋執(zhí)行的屏幕數(shù)據(jù)的過程,即編譯處理程序要完成將用戶設(shè)計(jì)的屏幕圖形元素的幾何參數(shù)、功能屬性等信息轉(zhuǎn)化為數(shù)控操作系統(tǒng)的數(shù)據(jù)來顯示。
4)模擬仿真模塊為用戶提供一種不經(jīng)數(shù)控設(shè)備,直接在電腦上模擬仿真數(shù)控顯示界面的運(yùn)行環(huán)境,以檢驗(yàn)設(shè)計(jì)的界面是否有效、友好,若不符合要求,可返回屏幕設(shè)計(jì)模塊繼續(xù)編輯。模擬功能分為離線模擬和在線模擬兩種。離線模擬不與數(shù)控設(shè)備聯(lián)系,由電腦簡單模擬各屏幕顯示效果;而在線模擬將由電腦接管數(shù)控操作界面的部分功能,通過串口通訊與數(shù)控設(shè)備通訊,真實(shí)再現(xiàn)最終界面設(shè)計(jì)效果。
3 系統(tǒng)主要模塊的設(shè)計(jì)實(shí)現(xiàn)
3.1 繪圖引擎的實(shí)現(xiàn)
本系統(tǒng)的核心功能就是要實(shí)現(xiàn)具有實(shí)時(shí)人機(jī)交互功能的界面圖形設(shè)計(jì)和顯示的界面編輯系統(tǒng),需要一個(gè)性能較好,可擴(kuò)展的繪圖引擎作為后臺(tái)支持。面向?qū)ο蟮木幊碳夹g(shù)可以幫助操作者很好地實(shí)現(xiàn)這一目的。
筆者結(jié)合自己開發(fā)的系統(tǒng),提出如下基于WindowsGDI 二維圖形引擎結(jié)構(gòu)框架。該結(jié)構(gòu)框架中應(yīng)用程序分為兩部分,一部分是封裝在動(dòng)態(tài)連接庫中的二維繪圖類,主要功能為各圖形元素的創(chuàng)建、編輯和顯示;另一部分則為主應(yīng)用程序,負(fù)責(zé)數(shù)據(jù)處理、界面顯示及交互控制。但就整個(gè)系統(tǒng)而言還包括Windows GDI 二維圖形庫。
由于這里所給出的只是一個(gè)系統(tǒng)設(shè)計(jì)思想,故未列出系統(tǒng)中包含的所有類和處理過程。CEiement 是一個(gè)實(shí)現(xiàn)圖元繪制的公共基類。圖元是一個(gè)幾何形體,也可以是一種虛擬的圖元組合,具有某種表現(xiàn)形式和事件響應(yīng)能力;一個(gè)幾何圖元具有外形特征、風(fēng)格和對(duì)鼠標(biāo)事件、鍵盤事件以及特定命令的處理能力。外形特征由圖元的頂點(diǎn)確定,可以通過控制點(diǎn)來改變圖元的外形。CEiement 類用于實(shí)現(xiàn)上述圖元的這些功能,其中定義了加載圖元數(shù)據(jù)、繪制圖元、操縱圖元等所用到的公共接口或成員變量,這個(gè)基類里所定義的是圖元共有的特征,而真正的功能大多數(shù)是由其派生類來實(shí)現(xiàn)的。如可由CEiement 派生出直線圖元(Cline)、圓弧圖元(Carc)、變數(shù)圖元(Cvariabie)、表格圖元(Ctabie)等。
Ctoois 工具類是用戶利用鼠標(biāo)、鍵盤來創(chuàng)建、操縱圖元的中介,大致包括創(chuàng)建、選擇和變換三種工具,創(chuàng)建工具能夠在畫布上創(chuàng)建出不同的圖元,選擇工具可以在畫布上選擇若干圖元,變換工具是對(duì)圖元進(jìn)行位置的變換。
CCommand 命令類是用戶行為和改變圖元屬性的中介。任何改變圖元屬性的操作都是通過某種特定命令執(zhí)行的,而不論這個(gè)命令發(fā)自何處。例如,圖元移動(dòng)是由移動(dòng)命令執(zhí)行的,圖元?jiǎng)h除是由刪除命令執(zhí)行的。而且,大多命令的執(zhí)行是可逆的,也即是可以撤銷命令而恢復(fù)到執(zhí)行前的狀態(tài)。當(dāng)然,也有些命令是不可逆的。
屏幕類Cscreen 用于實(shí)現(xiàn)創(chuàng)建圖元、操縱圖元、管理圖元、顯示圖元等任務(wù)。其中定義了一個(gè)與屏幕圖形設(shè)計(jì)界面(如VC + + 中的CView 類)的接口,使用該指針可完成所有與繪圖引擎的交互功能,主應(yīng)用程序中所有對(duì)圖元的訪問均通過Cscreen 間接進(jìn)行。該系統(tǒng)結(jié)構(gòu)具有良好的可擴(kuò)展性,用戶還可在此結(jié)構(gòu)基礎(chǔ)上進(jìn)一步擴(kuò)展支持更多的圖元繪制和操作。
3.2 編譯器的設(shè)計(jì)
用戶設(shè)計(jì)好的圖形界面必須經(jīng)過編譯、優(yōu)化、壓縮等數(shù)據(jù)處理后,才能被控制器顯示驅(qū)動(dòng)程序所使用。編譯系統(tǒng)的功能主要是以屏幕為單位處理,將其中的圖形元素的幾何參數(shù)、功能屬性等信息,翻譯成便于計(jì)算機(jī)處理的格式,存放在指定的內(nèi)存專用區(qū)域,顯示驅(qū)動(dòng)程序便可對(duì)界面數(shù)據(jù)解釋并顯示在屏幕上。
編譯器對(duì)源屏幕數(shù)據(jù)逐屏掃描一遍,對(duì)屏幕上的圖元按不同類型把轉(zhuǎn)換出來的數(shù)據(jù)放在各自的臨時(shí)數(shù)據(jù)區(qū)規(guī)定的單元中,這些數(shù)據(jù)區(qū)分別是變數(shù)數(shù)據(jù)區(qū)、文字?jǐn)?shù)據(jù)區(qū)和圖檔數(shù)據(jù)區(qū),在這個(gè)過程中要對(duì)編譯數(shù)據(jù)作壓縮處理,對(duì)相同的數(shù)據(jù)則不存入數(shù)據(jù)區(qū),以減小編譯后的數(shù)據(jù)量。最后將這些數(shù)據(jù)區(qū)連接起來并生成一個(gè)完整的界面數(shù)據(jù)文件,這個(gè)數(shù)據(jù)文件即可導(dǎo)入到控制器里運(yùn)行。
4 結(jié)語
用本系統(tǒng)設(shè)計(jì)的操作界面,不但使數(shù)控設(shè)備的性能和特點(diǎn)一目了然,而且在操作過程中也帶來諸多方便。在沒有人機(jī)界面時(shí),往往為了適應(yīng)不同的工件尺寸,操作人員不得不時(shí)時(shí)改變加工程序,影響加工效率。而采用人機(jī)界面后,就可以將加工程序編成一個(gè)“傻瓜程序”,將需要改變的工作參數(shù)用一些變量代替,操作人員只需將這些變量對(duì)應(yīng)的值輸入到界面中相應(yīng)的位置即可。
綜上所述,本軟件為用戶開發(fā)應(yīng)用界面提供了開放的功能和靈活的方法,也帶來方便的操作和效率的提高。軟件更重要的優(yōu)勢(shì)就是易學(xué)易用,完全不需要記憶任何功能指令或坐標(biāo)值,只要操縱滑鼠,就能完成畫面設(shè)計(jì)。
(審核編輯: 智匯胡妮)
分享