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