摘 要: 以基于Windows CE操作系統(tǒng)運行的應用軟件作為上位機,以自主開發(fā)的通用運動控制器作為下位機,以用戶對連續(xù)式單針絎縫機的需求為基礎,構建成連續(xù)式單針絎縫機控制系統(tǒng)。采用統(tǒng)一建模語言UML建立連續(xù)式單針絎縫機上位機用例圖,并根據(jù)對用例圖的分析建立上位機軟件層次模型。詳細分析了層次模型之間相互轉換的條件和約束關系,使程序具有較高的可靠性和簡潔的可維護性。
關鍵詞: Windows CE; 連續(xù)式單針絎縫機; 通用運動控制器; 統(tǒng)一建模語言
隨著科學技術的發(fā)展,用戶對自動化系統(tǒng)的整體性設計提出了很高的要求。在中國傳統(tǒng)的紡織業(yè)中,隨著電腦絎縫機的廣泛應用,客戶對絎縫機的自動化程度要求越來越高,連續(xù)式電腦絎縫機也就應運而生。
傳統(tǒng)的電腦絎縫機必須由人工通過夾布架把需要絎縫的布料夾好,然后放到絎縫機上進行絎縫,等花樣絎縫完成后,再手動把布料拆下,卷起。這種絎縫機操作起來費時費力,需要較多的人一起配合工作。而新型的連續(xù)式絎縫機則用氣動裝置控制機械夾子替代了夾布架,當要入布時先打開入布閘門,然后打開夾子,卷布裝置拖動布料到達要求的位置,關閉夾子,張緊布料,關閉入布閘門,入布過程完成。絎縫完成以后先打開入布閘門,松開夾子,卷布裝置就可以把已經絎縫完成的布料卷起,最后通過切刀把布裁開,一塊布料的整個絎縫過程就完成了。整個過程只需要一個人在控制面板上操作就能完成,省時省力。
本文針對連續(xù)式電腦絎縫機的特點,采用了基于Embedded Visual C++開發(fā)的上位機軟件和自主研發(fā)的通用運動控制器來實現(xiàn)絎縫功能,滿足實際生產需要。
1 連續(xù)式絎縫機控制原理
整個絎縫機運動系統(tǒng)主要由基于嵌入式操作系統(tǒng)Windows CE的上位機程序、基于Motorola DSP的通用運動控制器、伺服電機和傳感器等外部執(zhí)行裝置組成。在這個系統(tǒng)中,上位機程序就像人的大腦一樣處理各種指令信息以及可能發(fā)生的異常;通用運動控制器則類似于人體的神經中樞,將上位機發(fā)送的指令傳送給外部執(zhí)行裝置,并將執(zhí)行裝置的反饋信息傳回到上位機程序;外部執(zhí)行裝置則相當于四肢和感覺器官,根據(jù)上位機的指令來完成相應的動作,并把外部的一些信息反饋回去。絎縫機的工作原理是用戶在計算機上設計出要絎縫的花樣,將花樣傳入下位機的控制器中,控制器根據(jù)設計好的花樣控制M軸電機帶動針架上下往返運動,往返一次絎縫一針,控制X軸電機和Y軸電機帶動面料前后、左右移動,在織物上絎縫出設計的花樣,從而實現(xiàn)絎縫的目的[1]。
2 系統(tǒng)的用例建模
UML[2]是一種可用于大型系統(tǒng)建模的統(tǒng)一建模語言, 它不僅支持面向對象的分析和設計, 還支持軟件開發(fā)過程。用例視圖描述系統(tǒng)應該交付的功能,也就是外部參入者所看到的功能[3]。本軟件設計采用UML建模語言,對連續(xù)式絎縫系統(tǒng)進行用例分析,通過對整個系統(tǒng)框架進行構造來實現(xiàn)上位機軟件設計和建模。上位機是整個系統(tǒng)的最頂層,主要功能是根據(jù)操作者的要求發(fā)送數(shù)據(jù)和指令,并將必要的位置、速度以及故障報警等信息讀取回來。因此根據(jù)上位機的功能要求使用UML構造上位機的用例圖,如圖1所示。
界面顯示又細分為操作界面顯示、花樣顯示、當前絎縫參數(shù)、運行信息顯示。其中,操作界面顯示中包含了方向鍵、參數(shù)的設定、絎縫功能的選擇,以及對花樣的選擇;花樣顯示則顯示當前絎縫花樣,并實時顯示在軌運動軌跡;當前絎縫參數(shù)顯示了當前絎縫的針距、速度、花樣名稱、X/Y軸坐標;運行信息所顯示的是絎縫狀態(tài)、報警信息和提示信息。
設置參數(shù)中包含了對將要絎縫的花樣的參數(shù)設定,其中包括針距、轉速、空走速度、加固、斷線檢測、花樣補償?shù)脑O定。
功能選擇細分為絎縫功能選擇、離軌運動、在軌運動、針梭調整、花樣管理的選擇以及急停功能。其中,絎縫功能包括定起絎點、定出布點、定時打油;離軌運動包括回斷線點/穿線點、回起絎點/收絎點、方向鍵空走、回出布點、框架校零/歸零;在軌運動包括開車、停車、向前/后空走;針梭調整選擇包括重定梭位,高點、對梭、回高點、手動;花樣管理包括讀取、預覽花樣、花樣打版。
3 上位機軟件結構
3.1上位機軟件層次圖
通過對絎縫機上位機用例圖的分析和軟件的構建可以將上位機軟件劃分為四個層次:系統(tǒng)類(CSYSTEM)處于系統(tǒng)的第一層,系統(tǒng)類的成員類(CDlg、CIC、CMailBox)處于系統(tǒng)的第二層,人機交互界面類(CDlg)的成員類(CHFShow、CHFDoc)和智能控制類(CIC)的成員類(CDSP_IMC、CKB_IMC、CKB_Process、CHF_Process)處于系統(tǒng)的第三層,作為公有成員存在的插補類(CChaBu)處于系統(tǒng)的第四層,如圖2所示。
系統(tǒng)類(CSYSTEM)在程序初始化時被實例化,其成員類也隨之實例化。系統(tǒng)類不提供具體方法,只是作為系統(tǒng)的“框架”。
智能控制類(CIC)為絎縫線程提供主控函數(shù),響應用戶操作、調控設備狀態(tài)并作出相應的動作。人機交互界面類(CDlg)是以圖形界面形式與用戶交互,通過通信接口類與智能控制類通信,將文件讀寫類、圖形與文件顯示類實例化,作為其成員。通信接口類(CMailBox)為智能控制類和人機交互界面類的通信提供接收和發(fā)送服務,并存儲待接收的信息。
處于第三層的圖形與文本顯示類(CHFShow)為程序提供圖形及文本顯示方法,并支持特殊功能,例如:動態(tài)跟蹤軌跡等。文件讀寫類(CHFDoc),提供文件讀寫方法,讀取花樣文件,寫入信息參數(shù),并為特殊功能處理提供支持,例如:快速前進等。DSP運動控制類(CDSP_IMC),通過串口類與運動控制器通信,并在內部提供存儲區(qū),存放由串口傳遞來的信息??绮蕉翁幚眍悾–KB_Process)和絎縫段處理類(CHF_Process),通過基于段的插補,分別得到跨步段和絎縫段的運動控制數(shù)據(jù),并存儲在動態(tài)數(shù)組中。
插補類(CChaBu)提供基于花樣段的插補方法和花樣插補數(shù)據(jù),并在插補方法中啟動插補線程,對花樣進行插補。
3.2上位機軟件活動圖
封裝性作為面向對象程序設計的基本特征之一,是指將抽象得到的屬性數(shù)據(jù)和行為代碼有機地結合起來,形成一個具有類特征的統(tǒng)一體[4]。此外,通過封裝,可以決定對象的哪些屬性和行為作為內部細節(jié)被隱藏起來,哪些屬性和行為是作為對象和外部的接口。本文中的上位機程序就很好地利用了面向對象程序設計的封裝性,將系統(tǒng)類的子類劃分為三個大類,即人機交互界面類、通信接口類、智能控制類。程序運行時,他們之間的相互關系如圖3所示。
在程序中,人機交互界面類和智能控制類分別通過LoadMailBox()裝載了信箱類對象(mBox)的地址,人機交互界面類通過這個地址調用信箱類中的Send()往信箱類中的結構體變量添加數(shù)據(jù),這個Send()就是信箱類對于對話框類的外部接口。智能控制類則通過LoadMailBox()獲得的信箱類對象的地址調用Receive()來取出對話框類在信箱類結構體內存放的數(shù)據(jù),這個Receive()同樣是信箱類對于智能控制類的外部接口。同時智能控制類還能對人機交互界面類產生的系統(tǒng)信息進行響應。圖3簡潔明了地描述了程序中類與類之間動態(tài)活動過程。
通過對各個類之間的封裝可以很好地減少由于各類之間的相互調用可能引起的錯誤,與此同時,從UML的活動圖中可以清晰地看出各個對象之間的關系,有效地對系統(tǒng)工作進行掌控,防止因軟件功能互相耦合而引起的邏輯混亂。
4 嵌入式操作系統(tǒng)Windows CE
鑒于絎縫控制系統(tǒng)對實時性以及圖形界面顯示等方面的要求,選擇Windows CE作為整個系統(tǒng)的操作系統(tǒng)。作為微軟的嵌入式操作系統(tǒng),Windows CE以其高可靠性和穩(wěn)定性、硬件的良好兼容性、較高的安全性和容易上手的開發(fā)環(huán)境[5]等優(yōu)點深受廣大開發(fā)者的喜歡,而且可以根據(jù)控制系統(tǒng)的需求靈活地進行裁剪,去掉一些無關的功能,使系統(tǒng)運行起來更加穩(wěn)定、高效。
本文提出了一種單針絎縫機上位機程序設計方法,分析和構建了上位機的主要功能、實現(xiàn)方式和軟件流程,并通過UML圖分別展示了上位機用例圖、軟件層次圖和動態(tài)活動圖,以及根據(jù)應用需要對操作系統(tǒng)的選擇。使用UML圖進行軟件設計能夠使得軟件層次更加清晰,結構嚴謹,可維護性強,充分體現(xiàn)出UML在面向對象編程中所起的重要作用。同時,本文所敘述的軟件設計和建模方法,對其他上位機軟件開發(fā)有很好的借鑒作用。
參考文獻
[1] 高鵬翔.獨立絎縫機計算機控制系統(tǒng)的設計[J].紡織學報,2001,22(1):48-57.
[2] BERGENTI F,POGGI A.Supporting agent-oriented modeling with UML[J]. International Journal of Software Engineer and Knowledge Engineering,2002,12(6):605-618.
[3] GOMAA H. 用UML設計并發(fā)、分布式、實時應用[M]. 呂慶中,李燁,羅方斌譯.北京:北京航空航天大學出版社,2004.
[4] RICHTER J. Windows核心編程[M]. 王建華,張煥生,侯麗坤,等譯. 北京:機械工業(yè)出版社,2000.
[5] 薛大龍,陳世帝,王韻編著.Windows CE嵌入式系統(tǒng)開發(fā)[M]. 北京:電子工業(yè)出版社,2008.