莫太平,呂帝權(quán),趙佩斯
(1.桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院,桂林 541004;2.桂林電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,桂林 541004)
Andon系統(tǒng)最早起源于日本豐田汽車(chē)公司,主要用于實(shí)現(xiàn)車(chē)間現(xiàn)場(chǎng)的目視化管理[1]。而目前車(chē)間生產(chǎn)現(xiàn)場(chǎng)存在如下問(wèn)題:(1)生產(chǎn)人員遇到問(wèn)題時(shí)不能及時(shí)傳達(dá)給相關(guān)負(fù)責(zé)人;(2)車(chē)間工人流動(dòng)性大,遇到問(wèn)題時(shí)不知道找誰(shuí)處理;(3)問(wèn)題分析統(tǒng)計(jì)跟不上,導(dǎo)致相關(guān)問(wèn)題不斷重復(fù)發(fā)生;(4)尤其是大車(chē)間,溝通環(huán)節(jié)嚴(yán)重浪費(fèi)很多時(shí)間。
為了解決上述問(wèn)題,設(shè)計(jì)與實(shí)現(xiàn)了工位暗燈系統(tǒng)。生產(chǎn)線上工位旁安裝一定數(shù)量的異常請(qǐng)求按鈕,當(dāng)按下按鈕時(shí),車(chē)間現(xiàn)場(chǎng)可通過(guò)LED看板或監(jiān)控室的電腦顯示生產(chǎn)線工位出現(xiàn)的異常,同時(shí)播放特定的音樂(lè)來(lái)提醒管理員或以短信的方式來(lái)通知負(fù)責(zé)人解決問(wèn)題。
工位暗燈系統(tǒng)由暗燈設(shè)備、可編程控制器PLC、OPC服務(wù)、監(jiān)控終端、數(shù)據(jù)存儲(chǔ)5個(gè)部分組成。工位暗燈系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall system structure diagram
暗燈設(shè)備包括設(shè)備暗燈、物料暗燈、質(zhì)量暗燈、啟停暗燈4種類(lèi)型。設(shè)備暗燈代表設(shè)備出現(xiàn)了故障;物料暗燈代表生產(chǎn)線上的某個(gè)工位缺料、換料、帶料;質(zhì)量暗燈代表產(chǎn)品質(zhì)量有問(wèn)題;啟停暗燈代表啟動(dòng)或停止工位暗燈系統(tǒng)。
工位暗燈系統(tǒng)中的PLC主要是對(duì)暗燈信號(hào)進(jìn)行處理,將處理好的信號(hào)保存在PLC上,等待OPC服務(wù)來(lái)讀取。
OPC是一種利用微軟的DNA架構(gòu)和COM/DCOM技術(shù)的一個(gè)工業(yè)化標(biāo)準(zhǔn)接口,主要作用是Windows應(yīng)用程序可以通過(guò)OPC中間層訪問(wèn)底層設(shè)備的數(shù)據(jù),而不再擔(dān)心底層設(shè)備驅(qū)動(dòng)如何實(shí)現(xiàn)[2]。通過(guò)配置OPC服務(wù),可以實(shí)時(shí)獲取底層硬件PLC的數(shù)據(jù)。
監(jiān)控終端負(fù)責(zé)從OPC上獲取暗燈數(shù)據(jù),將數(shù)據(jù)保存到遠(yuǎn)程端的數(shù)據(jù)庫(kù)中,并將數(shù)據(jù)顯示在電腦終端或者LED看板上。
系統(tǒng)中采用MVVM設(shè)計(jì)模式和三層架構(gòu)來(lái)設(shè)計(jì)。
MVVM是微軟為WPF提供的一種特有的界面設(shè)計(jì)模式。在MVVM模式下,用戶與View進(jìn)行交換,View與ViewModel通過(guò)數(shù)據(jù)綁定或者命令綁定進(jìn)行交互,ViewModel和 Model進(jìn)行交互。使用MVVM設(shè)計(jì)模式可以幫助分離業(yè)務(wù)層,顯示邏輯和用戶界面,使得程序代碼結(jié)構(gòu)清晰,容易閱讀、測(cè)試、維護(hù)、替換和改進(jìn)[3]。
三層架構(gòu)主要分為表示層、業(yè)務(wù)層、數(shù)據(jù)層。其中,表示層主要負(fù)責(zé)數(shù)據(jù)的呈現(xiàn)和接受用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作界面;業(yè)務(wù)層主要是針對(duì)具體的業(yè)務(wù)問(wèn)題,對(duì)數(shù)據(jù)層進(jìn)行操作;數(shù)據(jù)層主要以Dapper為接口,處理業(yè)務(wù)層對(duì)數(shù)據(jù)的請(qǐng)求。這樣分層的目的是為了實(shí)現(xiàn) “高內(nèi)聚低耦合”的軟件開(kāi)發(fā)思想,提高代碼的優(yōu)化性和重用性。
應(yīng)用軟件的架構(gòu)如圖2所示。
圖2 系統(tǒng)體系結(jié)構(gòu)Fig.2 System architecture diagram
工位暗燈系統(tǒng)主要包括基礎(chǔ)數(shù)據(jù)和暗燈報(bào)表2大功能模塊,系統(tǒng)功能結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)功能結(jié)構(gòu)Fig.3 System function structure diagram
基礎(chǔ)數(shù)據(jù)主要包括用戶管理、車(chē)間管理、生產(chǎn)線管理、暗燈采集器、暗燈類(lèi)型、生產(chǎn)線暗燈音樂(lè)和工位管理7部分組成,每一個(gè)部分都有添加、修改、刪除功能。
用戶管理主要是對(duì)用戶的用戶ID、用戶名、密碼、聯(lián)系方式等信息進(jìn)行管理。
車(chē)間管理是為了管理工廠車(chē)間信息,車(chē)間信息主要包括車(chē)間編碼、車(chē)間名稱(chēng)、負(fù)責(zé)人。
生產(chǎn)線管理是為了管理每個(gè)車(chē)間下的生產(chǎn)線信息,生產(chǎn)線信息主要包括生產(chǎn)線編碼、生產(chǎn)線名稱(chēng)、所屬車(chē)間。
暗燈采集器主要是管理OPC的信息,OPC信息包括編碼、名稱(chēng)、物理地址(OPC的IP地址)。
暗燈類(lèi)型主要是根據(jù)工位異常情況,來(lái)定義不同的暗燈類(lèi)型。暗燈類(lèi)型包括了編碼、名稱(chēng)、音樂(lè)、暗燈顏色(用于報(bào)表餅圖繪制的顏色)、是否停線和啟停標(biāo)記。
生產(chǎn)線暗燈音樂(lè)主要是為每一條生產(chǎn)線添加暗燈音樂(lè),生產(chǎn)線暗燈音樂(lè)的信息包括生產(chǎn)線編碼、暗燈類(lèi)型編碼、音樂(lè)路徑。
工位管理主要是對(duì)車(chē)間生產(chǎn)線下的工位信息進(jìn)行管理,工位信息主要包括生產(chǎn)線編碼、工位編碼、工位名稱(chēng)、暗燈類(lèi)型編碼。
暗燈報(bào)表主要包括暗燈事件、前N位停線工位、暗燈期報(bào)、分類(lèi)暗燈期報(bào)、停線比重分析、短信發(fā)送信息6部分。
暗燈事件是用于顯示暗燈發(fā)生的開(kāi)始時(shí)間、結(jié)束時(shí)間、暗燈類(lèi)型等信息,同時(shí)可以根據(jù)生產(chǎn)線、暗燈類(lèi)型和工位名稱(chēng)等條件進(jìn)行查詢(xún)和導(dǎo)出Excel表格。
前N位停線工位是根據(jù)暗燈停線時(shí)間段和所在生產(chǎn)線的前N位工位進(jìn)行查詢(xún),統(tǒng)計(jì)每一個(gè)暗燈類(lèi)型的停線時(shí)長(zhǎng)、停線次數(shù)和停線頻次最高的前N個(gè)工位,同時(shí)具有導(dǎo)出Excel表格的功能。其中N可以用具體的整數(shù)來(lái)表示。
暗燈期報(bào)是可以根據(jù)暗燈停線時(shí)間段、所在生產(chǎn)線的前N位工位進(jìn)行查詢(xún),統(tǒng)計(jì)當(dāng)前生產(chǎn)線上前N位工位所有暗燈的總工作時(shí)間、總停線時(shí)間和停線率,并繪制停線率曲線圖。
分類(lèi)暗燈期報(bào)可以根據(jù)暗燈停線時(shí)間段、時(shí)長(zhǎng)或者頻次查詢(xún)某個(gè)車(chē)間的停線情況,并繪制所有暗燈停線時(shí)長(zhǎng)或頻次所占百分比的餅狀圖。
停線比重分析可根據(jù)生產(chǎn)線、對(duì)應(yīng)生產(chǎn)線下的工位查詢(xún)某個(gè)暗燈停線時(shí)間段各類(lèi)暗燈的停線比重情況報(bào)表,并繪制各類(lèi)暗燈停線的柱狀圖。
短信發(fā)送信息主要是查詢(xún)短信發(fā)送的歷史記錄,了解短信的發(fā)送情況。
監(jiān)控終端服務(wù)技術(shù)采用VS2010平臺(tái)提供的WCF(windows communication foundation)[4]服務(wù)技術(shù)來(lái)開(kāi)發(fā)。WCF是由微軟開(kāi)發(fā)的一系列支持?jǐn)?shù)據(jù)通信的應(yīng)用程序框架,它整合了原有的Windows通訊的.net Remoting,WebService和 Socket機(jī)制,并融合了Http和Ftp的相關(guān)技術(shù),是Windows平臺(tái)上開(kāi)發(fā)分布式應(yīng)用最佳的實(shí)踐方式。
監(jiān)控終端服務(wù)程序流程圖如圖4所示。
圖4 監(jiān)控終端服務(wù)程序流程Fig.4 Flow chart of monitor terminal service program
本系統(tǒng)的短信服務(wù)采用自動(dòng)啟動(dòng)方式的Windows服務(wù)程序。Windows服務(wù)程序是在Windows操作系統(tǒng)下能完成特定功能的可執(zhí)行的應(yīng)用程序,但是它不像一般的可執(zhí)行文件通過(guò)雙擊就可以運(yùn)行,它有自動(dòng)啟動(dòng)和手動(dòng)啟動(dòng)2種啟動(dòng)方式。短信發(fā)送服務(wù)程序流程如圖5所示。
圖5 短信服務(wù)程序流程Fig.5 Flow chart of short message service program
工位暗燈系統(tǒng)的終端采用WPF技術(shù)進(jìn)行開(kāi)發(fā),WPF通過(guò)XAML標(biāo)記語(yǔ)言來(lái)構(gòu)建絢麗的界面。XAML語(yǔ)言是一種可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言,其特點(diǎn)是簡(jiǎn)單易懂、結(jié)構(gòu)清晰、界面設(shè)計(jì)高效快速[5]。
WPF與MVVM設(shè)計(jì)模式的完美結(jié)合,使得程序開(kāi)發(fā)人員和界面設(shè)計(jì)人員可以各司其職,分別專(zhuān)注于各自負(fù)責(zé)的內(nèi)容,相互不影響,使得開(kāi)發(fā)與設(shè)計(jì)能夠并行進(jìn)行,從而提高了程序的開(kāi)發(fā)效率。
隨著信息化的不斷發(fā)展,企業(yè)之間的競(jìng)爭(zhēng)也將會(huì)日益激烈,加強(qiáng)企業(yè)信息化建設(shè)已經(jīng)成為企業(yè)必選之路。而本文提出的基于C/S模式的工位暗燈系統(tǒng),正是加強(qiáng)企業(yè)信息化建設(shè)的一種方式。通過(guò)實(shí)踐應(yīng)用,證明了采用WPF、WCF和Windows服務(wù)技術(shù)開(kāi)發(fā)的工位暗燈系統(tǒng),除了友好絢麗的界面外,確實(shí)能夠及時(shí)響應(yīng)生產(chǎn)線工位出現(xiàn)的異常情況。通過(guò)暗燈報(bào)表分析,可以為生產(chǎn)線中存在的問(wèn)題提供解決依據(jù),根據(jù)這些依據(jù),提出正確的解決方案,從而保障生產(chǎn)線的正常生產(chǎn)。
[1]王寧,何瑛.汽車(chē)制造業(yè)生產(chǎn)物流物料按燈系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(12):214-218.
[2]王琳.基于MES的機(jī)械產(chǎn)品裝置過(guò)程可視化監(jiān)測(cè)與控制系統(tǒng)研究[D].安徽:合肥工業(yè)大學(xué),2013.
[3]陳濤.MVVM設(shè)計(jì)模式及其應(yīng)用研究[J].計(jì)算機(jī)與數(shù)字工程,2014,42(10):240-243.
[4]張敬普,丁士鋒.精通 C#5.0與.NET 4.5高級(jí)編程—LINQ、WCF、WPF和WF[M].北京:清華大學(xué)出版社,2014.
[5]段宇,唐耀,陳曉強(qiáng).基于WPF的潛水裝具零部件虛擬拆裝實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(10):216-218.