魏曉晴,吳旭光,白曉娟,郝 方,張 偉
(1. 西北工業(yè)大學 航海學院,西安 710072;2. 中航工業(yè)沈陽飛機工業(yè)(集團)有限公司,沈陽 110032)
工業(yè)注塑機[1]逐漸向著特大型,精密儀器的方向發(fā)展,因而對控制系統(tǒng)的要求越來越高,如今基于嵌入式的專用計算機控制系統(tǒng)已經(jīng)占據(jù)了主導地位[2],這類控制系統(tǒng)能夠滿足特定的注塑需求,實現(xiàn)高精度的控制功能,存儲大量的模具資料。
更可靠,更直觀的控制界面是控制系統(tǒng)發(fā)展的要求。本文的界面就是為注塑機的一種嵌入式控制系統(tǒng)設計的,與傳統(tǒng)的控制界面相比,具有以下優(yōu)勢:多種控制功能、良好的通信功能、實時性強、圖形動畫界面。提高了界面的易用性、可靠性和美觀性。
本文設計的工作界面基于一種嵌入式控制系統(tǒng)[3],該控制系統(tǒng)采用上位機+下位機的結(jié)構[4],如圖1所示。
上位機完成人機接口、控制算法、系統(tǒng)管理等功能,硬件上選用PC104總線結(jié)構的VDX-6354,功能強大。其外圍接口包括:普通鍵盤和鼠標、任意尺寸的VGA或者TFT液晶顯示屏和觸摸屏、CF卡、以太網(wǎng)口、串口、USB口及音頻接口等。軟件上選用Windows XPe操作系統(tǒng),可支持多種通用語言,如C++,可靠性高,處理速度快,人機界面友好。
下位機負責數(shù)據(jù)采集、開關量I/O、數(shù)據(jù)預處理、D/A轉(zhuǎn)換等任務,根據(jù)需要選擇了16位低功耗高性能的MSP430F149芯片。
上、下位機之間通過RS-485實現(xiàn)串行通信,傳輸速度快,距離遠,并且能夠組網(wǎng),使系統(tǒng)具有良好的可擴展性。
本系統(tǒng)上位機操作系統(tǒng)是Windows,因而用C++來進行界面開發(fā)就十分方便,并且界面實時性好,友好易用。因此本文運用VC++的MFC,編寫基于對話框的工作界面,并且選用上位機串口進行通信。
該界面可對注塑機運作情況進行監(jiān)控,并可通過調(diào)整參數(shù)等而改變注塑機的工作,根據(jù)需求,主要可劃分為監(jiān)控界面和設置界面。
界面操作流程如圖2所示:系統(tǒng)啟動,自檢完成后進入主畫面,從該界面可進入六種操作模式,任何一個操作模式在運行前都應該通過串口向下位機申請信號量,沒有取得該信號量的時候不被允許進入該項操作。
監(jiān)控部分:生產(chǎn)狀況及各主要參數(shù)之監(jiān)察頁面是整個界面系統(tǒng)的重點,承載了主要的控制工作。因為有三種控制工作方式[5],監(jiān)控部分可劃分為三個子界面,分別是:手動控制模式,半自動控制模式和全自動控制模式。手動模式時上位機發(fā)出一個命令,下位機控制注塑機完成一個生產(chǎn)動作;半自動模式時上位機發(fā)出一個命令,下位機控制注塑機完成一個生產(chǎn)周期;全自動模式時下位機控制注塑機自動完成上位機設定的N個生產(chǎn)周期。
設置部分:各動作與狀態(tài)參數(shù)之設置頁面??煞譃橄到y(tǒng)參數(shù)設置模式,手動調(diào)模模式和系統(tǒng)調(diào)試模式三個子界面。
下面以監(jiān)控工作模式的半自動控制界面為例,分析界面的具體設計與實現(xiàn)。
2.2.1 界面的設計
整個界面可分為標題欄、菜單欄和工作區(qū)三大部分。標題欄顯示軟件圖標,以及當前工作頁面名稱。菜單欄可實現(xiàn)控制功能以及頁面跳轉(zhuǎn)。主工作區(qū)對生產(chǎn)狀況及各主要參數(shù)進行監(jiān)察。
主工作區(qū)又可分為三個部分:工作環(huán)境監(jiān)控,工藝流程監(jiān)控,工作情況監(jiān)控與警報,如圖3所示。
工作環(huán)境監(jiān)控:如時間顯示、環(huán)境溫度顯示等等。
工藝流程監(jiān)控:將一個塑模的整個工藝周期分為9個工作段,并且以動畫形式表現(xiàn)在界面上,更直觀方便的實現(xiàn)了對注塑機工作的實時監(jiān)控。
工作情況監(jiān)控與警報:顯示警報監(jiān)控下的壓力值、溫度比、運行動作、螺桿轉(zhuǎn)速、動作完成情況等等。
2.2.2 半自動控制模式的實現(xiàn)
該模式實現(xiàn)的控制功能為:上位機界面向下位機系統(tǒng)發(fā)出一個命令,下位機控制注塑機完成一個工作周期。
算法實現(xiàn)如下:設定一個BULL型控制變量m_w,默認為FALSE,如果菜單項命令“開始/下一模”被點擊,該變量變?yōu)門RUE,并且向下位機發(fā)送開始信號,下位機收到信號后按順序調(diào)用完成一個塑模的9個工作段的全部代碼,控制機器完成一周期工作,并且向上位機發(fā)送停止信號,上位機收到信號后將m_w變?yōu)镕ALSE,界面同時停止監(jiān)控。部分代碼示例如下:
1)菜單項命令“開始/下一?!北稽c擊時,m_w的狀態(tài)設定:
2)完成一模后,收到下位機停止信號,m_w=FALSE,系統(tǒng)停止,并且各變量清零:
m_w=FALSE; m_3_8=_T("未運行");m_3_43=_T("停止監(jiān)控");//監(jiān)控停止
l=0;k=0;n=0;r=0;s=0;v=0;z=0;a=0;……//界 面各變量清零
為了在實現(xiàn)多種控制功能的基礎上,滿足人機的友好交互,這里將高實時性且易實現(xiàn)的C++“異或擦除”動畫技術運用于界面的開發(fā),將注塑機的實時工作情況以動畫形式表現(xiàn)在界面上,更直觀方便的實現(xiàn)了監(jiān)控,如圖3所示。
該動畫原理是:在圖像所在原位置反色畫出圖像,二者相消,相當于擦除原圖像;并在新位置繪出新圖像。如果反復不斷地擦除和重新繪畫,圖像看起來就會像是在屏幕上穿越移動。它占用內(nèi)存資源少且執(zhí)行速度快,而諸如利用動態(tài)開辟圖視口方法、利用顯示頁和編輯頁交替變化、利用畫面存儲再重放的方法等程序比較復雜,且要對圖像不斷進行存取操作,這需要耗費大量內(nèi)存資源,降低系統(tǒng)實時性,而異或擦除法動畫則可以很好解決上述問題。
該動畫的實現(xiàn)過程如下:根據(jù)工藝流程獨立編寫各個工作段顯示代碼,下位機運行到哪個工作段,上位機獲得相應信號,調(diào)用相應圖像顯示代碼,以顯示當前工作畫面。
部分代碼示例(如開模工作段)如下:
本界面提供了與下位機通信的接口,從而形成了一個功能比較完整的系統(tǒng)。通信串口選用RS-485[6],異步,半雙工傳輸,默認通訊協(xié)議方式采用ASCII方式。它數(shù)據(jù)最高傳輸速率高,抗共模噪聲干擾性好,傳輸距離遠,并且能夠組網(wǎng),使系統(tǒng)具有良好的可擴展性。
安裝驅(qū)動后,將RS485串口模擬為上位機的COM口,就可以利用VC的通信控件MSComm編程串口通信,進行串口初始化,捕捉并處理各種通信事件,完成接收數(shù)據(jù)、發(fā)送數(shù)據(jù)等通信管理。該控件采用事件驅(qū)動的接收方式。
向下位機發(fā)送數(shù)據(jù)的部分實現(xiàn)代碼如下:
本文構建了基于嵌入式控制系統(tǒng)的注塑機圖形工作界面,在完成多種控制功能和通信任務的基礎上,將“異或擦除”動畫技術運用于嵌入式工作界面開發(fā),實現(xiàn)了圖形化的工作監(jiān)控。測試證明,該界面能夠準確穩(wěn)定地完成實時監(jiān)控、通信、顯示功能,達到了預期的良好效果。
本文創(chuàng)新點:充分利用硬件資源,實現(xiàn)了多種上位機控制模式算法,并且把“異或擦除”動畫技術應用于工業(yè)控制(此方法也同樣適應用于其他微控制器的人機工作界面),選用RS485通信增強了系統(tǒng)的可擴展性。
[1] 鐘漢如. 注塑機控制系統(tǒng)[M]. 北京: 化學工業(yè)出版社,2004.
[2] 吳建華. 嵌入式網(wǎng)絡注塑機人機界面設計[D]. 浙江大學,2005.
[3] 肖鼎新, 吳旭光, 馮歡歡, 侯京鋒. 基于PC/104的工業(yè)注塑機控制器設計[J]. 制造業(yè)自動化, 2010, 32(10): 70-73.
[4] 高云迪, 吳旭光, 史建華 , 胡超凡. 基于嵌入式Linux的工業(yè)注塑機控制器設計[J]. 計算機測量與控制, 2009,17(1): 69-71.
[5] 方慶華, 康存鋒, 馬春敏. 基于軟PLC的全電子注塑機控制系統(tǒng)設計[J]. 工程塑料應用, 2006, 34(4): 58-60.
[6] 李現(xiàn)勇. Visual C++串口通信技術與工程實踐[M]. 北京:人民郵電出版社, 2004.