《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 一類基于Windows CE的連續(xù)式單針絎縫機(jī)上位機(jī)程序設(shè)計(jì)
一類基于Windows CE的連續(xù)式單針絎縫機(jī)上位機(jī)程序設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2010年第16期
于 鐳,, 楊 凱
(青島科技大學(xué) 自主導(dǎo)航與智能控制研究所,山東 青島 266042)
摘要: 以基于Windows CE操作系統(tǒng)運(yùn)行的應(yīng)用軟件作為上位機(jī),,以自主開發(fā)的通用運(yùn)動(dòng)控制器作為下位機(jī),以用戶對(duì)連續(xù)式單針絎縫機(jī)的需求為基礎(chǔ),,構(gòu)建成連續(xù)式單針絎縫機(jī)控制系統(tǒng),。采用統(tǒng)一建模語言UML建立連續(xù)式單針絎縫機(jī)上位機(jī)用例圖,并根據(jù)對(duì)用例圖的分析建立上位機(jī)軟件層次模型,。詳細(xì)分析了層次模型之間相互轉(zhuǎn)換的條件和約束關(guān)系,使程序具有較高的可靠性和簡潔的可維護(hù)性,。
Abstract:
Key words :

摘  要: 以基于Windows CE操作系統(tǒng)運(yùn)行的應(yīng)用軟件作為上位機(jī),以自主開發(fā)的通用運(yùn)動(dòng)控制器作為下位機(jī),,以用戶對(duì)連續(xù)式單針絎縫機(jī)的需求為基礎(chǔ),,構(gòu)建成連續(xù)式單針絎縫機(jī)控制系統(tǒng)。采用統(tǒng)一建模語言UML建立連續(xù)式單針絎縫機(jī)上位機(jī)用例圖,,并根據(jù)對(duì)用例圖的分析建立上位機(jī)軟件層次模型,。詳細(xì)分析了層次模型之間相互轉(zhuǎn)換的條件和約束關(guān)系,使程序具有較高的可靠性和簡潔的可維護(hù)性。
關(guān)鍵詞: Windows CE; 連續(xù)式單針絎縫機(jī); 通用運(yùn)動(dòng)控制器; 統(tǒng)一建模語言

    隨著科學(xué)技術(shù)的發(fā)展,,用戶對(duì)自動(dòng)化系統(tǒng)的整體性設(shè)計(jì)提出了很高的要求,。在中國傳統(tǒng)的紡織業(yè)中,隨著電腦絎縫機(jī)的廣泛應(yīng)用,,客戶對(duì)絎縫機(jī)的自動(dòng)化程度要求越來越高,,連續(xù)式電腦絎縫機(jī)也就應(yīng)運(yùn)而生。
 傳統(tǒng)的電腦絎縫機(jī)必須由人工通過夾布架把需要絎縫的布料夾好,,然后放到絎縫機(jī)上進(jìn)行絎縫,,等花樣絎縫完成后,再手動(dòng)把布料拆下,,卷起,。這種絎縫機(jī)操作起來費(fèi)時(shí)費(fèi)力,需要較多的人一起配合工作,。而新型的連續(xù)式絎縫機(jī)則用氣動(dòng)裝置控制機(jī)械夾子替代了夾布架,,當(dāng)要入布時(shí)先打開入布閘門,然后打開夾子,,卷布裝置拖動(dòng)布料到達(dá)要求的位置,,關(guān)閉夾子,張緊布料,,關(guān)閉入布閘門,,入布過程完成。絎縫完成以后先打開入布閘門,,松開夾子,,卷布裝置就可以把已經(jīng)絎縫完成的布料卷起,最后通過切刀把布裁開,,一塊布料的整個(gè)絎縫過程就完成了,。整個(gè)過程只需要一個(gè)人在控制面板上操作就能完成,,省時(shí)省力。
 本文針對(duì)連續(xù)式電腦絎縫機(jī)的特點(diǎn),,采用了基于Embedded Visual C++開發(fā)的上位機(jī)軟件和自主研發(fā)的通用運(yùn)動(dòng)控制器來實(shí)現(xiàn)絎縫功能,,滿足實(shí)際生產(chǎn)需要。
1 連續(xù)式絎縫機(jī)控制原理
 整個(gè)絎縫機(jī)運(yùn)動(dòng)系統(tǒng)主要由基于嵌入式操作系統(tǒng)Windows CE的上位機(jī)程序,、基于Motorola DSP的通用運(yùn)動(dòng)控制器,、伺服電機(jī)和傳感器等外部執(zhí)行裝置組成。在這個(gè)系統(tǒng)中,,上位機(jī)程序就像人的大腦一樣處理各種指令信息以及可能發(fā)生的異常,;通用運(yùn)動(dòng)控制器則類似于人體的神經(jīng)中樞,將上位機(jī)發(fā)送的指令傳送給外部執(zhí)行裝置,,并將執(zhí)行裝置的反饋信息傳回到上位機(jī)程序,;外部執(zhí)行裝置則相當(dāng)于四肢和感覺器官,根據(jù)上位機(jī)的指令來完成相應(yīng)的動(dòng)作,,并把外部的一些信息反饋回去,。絎縫機(jī)的工作原理是用戶在計(jì)算機(jī)上設(shè)計(jì)出要絎縫的花樣,將花樣傳入下位機(jī)的控制器中,,控制器根據(jù)設(shè)計(jì)好的花樣控制M軸電機(jī)帶動(dòng)針架上下往返運(yùn)動(dòng),,往返一次絎縫一針,控制X軸電機(jī)和Y軸電機(jī)帶動(dòng)面料前后、左右移動(dòng),在織物上絎縫出設(shè)計(jì)的花樣,,從而實(shí)現(xiàn)絎縫的目的[1]。
2 系統(tǒng)的用例建模
 UML[2]是一種可用于大型系統(tǒng)建模的統(tǒng)一建模語言, 它不僅支持面向?qū)ο蟮姆治龊驮O(shè)計(jì), 還支持軟件開發(fā)過程,。用例視圖描述系統(tǒng)應(yīng)該交付的功能,,也就是外部參入者所看到的功能[3]。本軟件設(shè)計(jì)采用UML建模語言,,對(duì)連續(xù)式絎縫系統(tǒng)進(jìn)行用例分析,,通過對(duì)整個(gè)系統(tǒng)框架進(jìn)行構(gòu)造來實(shí)現(xiàn)上位機(jī)軟件設(shè)計(jì)和建模。上位機(jī)是整個(gè)系統(tǒng)的最頂層,,主要功能是根據(jù)操作者的要求發(fā)送數(shù)據(jù)和指令,,并將必要的位置、速度以及故障報(bào)警等信息讀取回來,。因此根據(jù)上位機(jī)的功能要求使用UML構(gòu)造上位機(jī)的用例圖,,如圖1所示。

   界面顯示又細(xì)分為操作界面顯示,、花樣顯示,、當(dāng)前絎縫參數(shù)、運(yùn)行信息顯示,。其中,,操作界面顯示中包含了方向鍵、參數(shù)的設(shè)定、絎縫功能的選擇,以及對(duì)花樣的選擇,;花樣顯示則顯示當(dāng)前絎縫花樣,,并實(shí)時(shí)顯示在軌運(yùn)動(dòng)軌跡;當(dāng)前絎縫參數(shù)顯示了當(dāng)前絎縫的針距,、速度,、花樣名稱、X/Y軸坐標(biāo),;運(yùn)行信息所顯示的是絎縫狀態(tài),、報(bào)警信息和提示信息。
 設(shè)置參數(shù)中包含了對(duì)將要絎縫的花樣的參數(shù)設(shè)定,,其中包括針距,、轉(zhuǎn)速、空走速度,、加固,、斷線檢測、花樣補(bǔ)償?shù)脑O(shè)定,。
 功能選擇細(xì)分為絎縫功能選擇,、離軌運(yùn)動(dòng)、在軌運(yùn)動(dòng),、針?biāo)笳{(diào)整,、花樣管理的選擇以及急停功能。其中,,絎縫功能包括定起絎點(diǎn),、定出布點(diǎn)、定時(shí)打油,;離軌運(yùn)動(dòng)包括回?cái)嗑€點(diǎn)/穿線點(diǎn),、回起絎點(diǎn)/收絎點(diǎn)、方向鍵空走,、回出布點(diǎn),、框架校零/歸零;在軌運(yùn)動(dòng)包括開車,、停車,、向前/后空走;針?biāo)笳{(diào)整選擇包括重定梭位,,高點(diǎn),、對(duì)梭、回高點(diǎn),、手動(dòng),;花樣管理包括讀取,、預(yù)覽花樣、花樣打版,。
3 上位機(jī)軟件結(jié)構(gòu)
3.1上位機(jī)軟件層次圖

 通過對(duì)絎縫機(jī)上位機(jī)用例圖的分析和軟件的構(gòu)建可以將上位機(jī)軟件劃分為四個(gè)層次:系統(tǒng)類(CSYSTEM)處于系統(tǒng)的第一層,,系統(tǒng)類的成員類(CDlg、CIC,、CMailBox)處于系統(tǒng)的第二層,,人機(jī)交互界面類(CDlg)的成員類(CHFShow、CHFDoc)和智能控制類(CIC)的成員類(CDSP_IMC,、CKB_IMC,、CKB_Process、CHF_Process)處于系統(tǒng)的第三層,,作為公有成員存在的插補(bǔ)類(CChaBu)處于系統(tǒng)的第四層,,如圖2所示。

 系統(tǒng)類(CSYSTEM)在程序初始化時(shí)被實(shí)例化,,其成員類也隨之實(shí)例化,。系統(tǒng)類不提供具體方法,只是作為系統(tǒng)的“框架”,。
 智能控制類(CIC)為絎縫線程提供主控函數(shù),,響應(yīng)用戶操作、調(diào)控設(shè)備狀態(tài)并作出相應(yīng)的動(dòng)作,。人機(jī)交互界面類(CDlg)是以圖形界面形式與用戶交互,,通過通信接口類與智能控制類通信,將文件讀寫類,、圖形與文件顯示類實(shí)例化,,作為其成員。通信接口類(CMailBox)為智能控制類和人機(jī)交互界面類的通信提供接收和發(fā)送服務(wù),,并存儲(chǔ)待接收的信息。
 處于第三層的圖形與文本顯示類(CHFShow)為程序提供圖形及文本顯示方法,,并支持特殊功能,,例如:動(dòng)態(tài)跟蹤軌跡等。文件讀寫類(CHFDoc),提供文件讀寫方法,,讀取花樣文件,,寫入信息參數(shù),并為特殊功能處理提供支持,,例如:快速前進(jìn)等,。DSP運(yùn)動(dòng)控制類(CDSP_IMC),通過串口類與運(yùn)動(dòng)控制器通信,并在內(nèi)部提供存儲(chǔ)區(qū),,存放由串口傳遞來的信息,??绮蕉翁幚眍悾–KB_Process)和絎縫段處理類(CHF_Process),通過基于段的插補(bǔ),,分別得到跨步段和絎縫段的運(yùn)動(dòng)控制數(shù)據(jù),,并存儲(chǔ)在動(dòng)態(tài)數(shù)組中。
 插補(bǔ)類(CChaBu)提供基于花樣段的插補(bǔ)方法和花樣插補(bǔ)數(shù)據(jù),,并在插補(bǔ)方法中啟動(dòng)插補(bǔ)線程,,對(duì)花樣進(jìn)行插補(bǔ)。
3.2上位機(jī)軟件活動(dòng)圖
 封裝性作為面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征之一,,是指將抽象得到的屬性數(shù)據(jù)和行為代碼有機(jī)地結(jié)合起來,,形成一個(gè)具有類特征的統(tǒng)一體[4]。此外,,通過封裝,,可以決定對(duì)象的哪些屬性和行為作為內(nèi)部細(xì)節(jié)被隱藏起來,哪些屬性和行為是作為對(duì)象和外部的接口,。本文中的上位機(jī)程序就很好地利用了面向?qū)ο蟪绦蛟O(shè)計(jì)的封裝性,,將系統(tǒng)類的子類劃分為三個(gè)大類,即人機(jī)交互界面類,、通信接口類,、智能控制類。程序運(yùn)行時(shí),,他們之間的相互關(guān)系如圖3所示,。

   在程序中,人機(jī)交互界面類和智能控制類分別通過LoadMailBox()裝載了信箱類對(duì)象(mBox)的地址,,人機(jī)交互界面類通過這個(gè)地址調(diào)用信箱類中的Send()往信箱類中的結(jié)構(gòu)體變量添加數(shù)據(jù),,這個(gè)Send()就是信箱類對(duì)于對(duì)話框類的外部接口。智能控制類則通過LoadMailBox()獲得的信箱類對(duì)象的地址調(diào)用Receive()來取出對(duì)話框類在信箱類結(jié)構(gòu)體內(nèi)存放的數(shù)據(jù),,這個(gè)Receive()同樣是信箱類對(duì)于智能控制類的外部接口,。同時(shí)智能控制類還能對(duì)人機(jī)交互界面類產(chǎn)生的系統(tǒng)信息進(jìn)行響應(yīng)。圖3簡潔明了地描述了程序中類與類之間動(dòng)態(tài)活動(dòng)過程,。
 通過對(duì)各個(gè)類之間的封裝可以很好地減少由于各類之間的相互調(diào)用可能引起的錯(cuò)誤,,與此同時(shí),從UML的活動(dòng)圖中可以清晰地看出各個(gè)對(duì)象之間的關(guān)系,,有效地對(duì)系統(tǒng)工作進(jìn)行掌控,,防止因軟件功能互相耦合而引起的邏輯混亂。
4 嵌入式操作系統(tǒng)Windows CE
    鑒于絎縫控制系統(tǒng)對(duì)實(shí)時(shí)性以及圖形界面顯示等方面的要求,,選擇Windows CE作為整個(gè)系統(tǒng)的操作系統(tǒng),。作為微軟的嵌入式操作系統(tǒng),Windows CE以其高可靠性和穩(wěn)定性,、硬件的良好兼容性,、較高的安全性和容易上手的開發(fā)環(huán)境[5]等優(yōu)點(diǎn)深受廣大開發(fā)者的喜歡,,而且可以根據(jù)控制系統(tǒng)的需求靈活地進(jìn)行裁剪,去掉一些無關(guān)的功能,,使系統(tǒng)運(yùn)行起來更加穩(wěn)定,、高效。
    本文提出了一種單針絎縫機(jī)上位機(jī)程序設(shè)計(jì)方法,,分析和構(gòu)建了上位機(jī)的主要功能,、實(shí)現(xiàn)方式和軟件流程,并通過UML圖分別展示了上位機(jī)用例圖,、軟件層次圖和動(dòng)態(tài)活動(dòng)圖,,以及根據(jù)應(yīng)用需要對(duì)操作系統(tǒng)的選擇。使用UML圖進(jìn)行軟件設(shè)計(jì)能夠使得軟件層次更加清晰,,結(jié)構(gòu)嚴(yán)謹(jǐn),,可維護(hù)性強(qiáng),充分體現(xiàn)出UML在面向?qū)ο缶幊讨兴鸬闹匾饔?。同時(shí),,本文所敘述的軟件設(shè)計(jì)和建模方法,對(duì)其他上位機(jī)軟件開發(fā)有很好的借鑒作用,。
參考文獻(xiàn)
[1]  高鵬翔.獨(dú)立絎縫機(jī)計(jì)算機(jī)控制系統(tǒng)的設(shè)計(jì)[J].紡織學(xué)報(bào),,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設(shè)計(jì)并發(fā),、分布式,、實(shí)時(shí)應(yīng)用[M]. 呂慶中,李燁,,羅方斌譯.北京:北京航空航天大學(xué)出版社,,2004.
[4]  RICHTER J. Windows核心編程[M]. 王建華,張煥生,,侯麗坤,等譯. 北京:機(jī)械工業(yè)出版社,,2000.
[5]  薛大龍,陳世帝,,王韻編著.Windows CE嵌入式系統(tǒng)開發(fā)[M]. 北京:電子工業(yè)出版社,,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。