支持MES系統(tǒng)的服務(wù)程序設(shè)計
引言 上世紀(jì)90年代以來,信息技術(shù)不斷的發(fā)展和成熟,同時,在經(jīng)濟(jì)全球化趨勢不斷加強(qiáng)的背景下企業(yè)競爭的市場環(huán)境已經(jīng)發(fā)生了根本的變化,市場的主要特征表現(xiàn)為以顧客的需求和企業(yè)的需求創(chuàng)造為主要特征,市場競爭的要素涉及到了工控時間、質(zhì)量、價格、服務(wù)、環(huán)境和產(chǎn)品的更新率。為了提高企業(yè)的競爭能力,企業(yè)必須重視把制造技術(shù)與信息技術(shù)、自動化技術(shù)、現(xiàn)代管理技術(shù)和系統(tǒng)科學(xué)技術(shù)有機(jī)的融合在一起。 MES(Manufacturing Execution System)即“制造執(zhí)行系統(tǒng)”同企業(yè)資源計劃(ERP)一樣從理念發(fā)展到軟件平臺,是信息技術(shù)發(fā)展的必然產(chǎn)物。然而,目前在國內(nèi)許多企業(yè)尤其是工廠企業(yè)對MES的重視程度遠(yuǎn)不及ERP,事實上在工廠型的企業(yè)里應(yīng)用MES不僅能夠迅速的提高該企業(yè)的市場競爭能力,同時也能迅速的為企業(yè)現(xiàn)有的信息網(wǎng)絡(luò)投資獲取回報。 1 MES的架構(gòu)設(shè)計 MES在整個企業(yè)的信息化系統(tǒng)中處于承上啟下的地位,是獲取生產(chǎn)實時信息的接口。如圖1所示 1.1 傳統(tǒng)的MES 在我國,現(xiàn)有的MES大都是針對某一特定領(lǐng)域或工作環(huán)境而設(shè)計的單一的應(yīng)用系統(tǒng),這種MES的通用性差,這種MES往往適用于連續(xù)型的生產(chǎn)企業(yè),且前提是該企業(yè)的生產(chǎn)管理非常完善,流水線生產(chǎn)程度極高,目前的實際情況是,我國大多數(shù)企業(yè),尤其是國企,很多都是非流水線的離散型生產(chǎn)企業(yè),因此這種MES并不適用于在我國的企業(yè)大范圍推廣,同時這種MES也不能適應(yīng)多變的市場需求。 1.2 我國MES的使用現(xiàn)狀 目前,國內(nèi)還沒有自主開發(fā)得很成熟的適用于多種生產(chǎn)類型的MES軟件。目前大多數(shù)MES都是針對連續(xù)型生產(chǎn)企業(yè)的,目前實施該類型MES比較成功的企業(yè)有廣州本田、TCL,NUFO中國、杭州士蘭集成電路公司。但是,由于我國大多數(shù)企業(yè)的管理并不完善,目前許多成功企業(yè)采用的MES都是從國外引進(jìn)的,它們的價格昂貴。通常在一個企業(yè)實施MES少則幾百萬,多則甚至幾千萬,而且這些費用緊緊是MES的軟件部分。許多企業(yè)難以承受昂貴的MES開發(fā)費用,再者,國外的MES的開發(fā)對象是具有非常先進(jìn)的制造技術(shù),和具有非常豐富的生產(chǎn)經(jīng)驗的企業(yè),并不一定都適用于國內(nèi)的企業(yè),在實施過程中通常會對策略進(jìn)行修改,這又加長了實施周期。而如何降低MES的開發(fā)成本和增加MES的靈活性,使MES能夠適用于我國大部分生產(chǎn)方式相對落后的離散型制造企業(yè)是當(dāng)前在國內(nèi)企業(yè)實施MES的當(dāng)務(wù)之急。 1.3 服務(wù)程序支持的MES 服務(wù)程序支持的MES繼承了模塊化MES的優(yōu)點,并且以服務(wù)程序作為整個MES系統(tǒng)中的核心部分是溝通MES系統(tǒng)現(xiàn)場數(shù)據(jù)獲取、數(shù)據(jù)提交、數(shù)據(jù)整理、數(shù)據(jù)保存的橋梁,同時能夠完成生產(chǎn)計劃的制定、排序、下達(dá)(包括自動和手工)、暫停、恢復(fù)、插入、取消等,幾乎所有有關(guān)生產(chǎn)計劃執(zhí)行的操作都可以通過服務(wù)程序來完成。如圖2所示,可以看出在整個MES系統(tǒng)中,服務(wù)程序連接了下層的數(shù)據(jù)采集模塊和上層的管理模塊,并提供了與其他系統(tǒng)或設(shè)備的擴(kuò)展接口,采取服務(wù)程序的架構(gòu),能夠連接產(chǎn)品在產(chǎn)過程 中所 經(jīng) 過的各個離散加工點,使得MES服務(wù)器成為各個離散加工點的加工信息處理中心。在企業(yè)內(nèi)部,為了保證系統(tǒng)的穩(wěn)定性、安全性以及降低開發(fā)成本,提高現(xiàn)有信息網(wǎng)絡(luò)的利用率,MES系統(tǒng)的上位設(shè)計宜采用C/S三層體系結(jié)構(gòu),這樣,服務(wù)程序又可以作為這種三層C/S結(jié)構(gòu)MES的中間層,并可以把部分業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗等集成到服務(wù)程序中。 2 MES服務(wù)程序的具體設(shè)計 基于上述的MES的構(gòu)思,我們設(shè)計了一套服務(wù)程序支持的MES。其中服務(wù)程序部分是該MES的核心部分其具體的設(shè)計及討論 2.1 通信協(xié)議的設(shè)計 在本MES系統(tǒng)中,服務(wù)程序需要完成與下層通信模塊和上層管理模塊的通信,首先要考慮的必然是通信協(xié)議的選用,在計算機(jī)與計算機(jī)的網(wǎng)絡(luò)通訊中我們采用局域網(wǎng)中常用的TCP/IP協(xié)議,這一層協(xié)議的選用主要與MES系統(tǒng)建立的硬件網(wǎng)絡(luò)環(huán)境有關(guān)。除了網(wǎng)絡(luò)硬件層協(xié)議的選擇,在軟件層也需要設(shè)計一套請求應(yīng)答協(xié)議,許多軟件開發(fā)者認(rèn)為程序在與不同的模塊間進(jìn)行通信時應(yīng)該采用統(tǒng)一的請求應(yīng)答協(xié)議,并且將這些程序放在同一個程序文件中,雖然這種設(shè)計方式有利于減少程序的開發(fā)周期但是卻增加了軟件的后期維護(hù)難度,尤其在移植MES的部分模塊時甚至?xí)斐蓞f(xié)議混亂而導(dǎo)致移植失敗。因此,我們在設(shè)計MES的服務(wù)程序的請求應(yīng)答協(xié)議時把與不同模塊通信的協(xié)議及程序放在相互獨立的文件中以提高服務(wù)程序與其它MES模塊通信的效率以及這部分代碼的可讀性和可維護(hù)性。例如,與底層的通信模塊通信時可采用:CMDFlag +請求命令類型+CMDSplit+信息1+DataSplit+信息2+DataSplit+……+信息n+Data0ver其中CMDFIag為通信模塊向服務(wù)程序請求的命令類型起始分割符,MDSplit為請求命令類型的結(jié)束分割符同時表示請求命令中具體信息的開始,請求命令中的具體信息之間以DataSplit作為分割符,最后請求命令以Data0ver為結(jié)束符。 相應(yīng)的應(yīng)答協(xié)議或其它MES模塊與服務(wù)程序通信的請求應(yīng)答協(xié)議也可以仿照這種格式來制定,需要注意的是在具體的程序設(shè)計中要注意保持命令類型的唯一性,以避免系統(tǒng)在解釋命令類型時產(chǎn)生歧義,同時程序?qū)f(xié)議進(jìn)行解釋時還必須具有一定的容錯能力。 2.2 服務(wù)程序的初始化設(shè)計 以服務(wù)程序為核心的MES要正常工作必須在運(yùn)作前對服務(wù)程序進(jìn)行初始化,服務(wù)程序的初始化包括與數(shù)據(jù)庫建立正確而穩(wěn)定可靠的連接、對最近的生產(chǎn)數(shù)據(jù)進(jìn)行分析、最新生產(chǎn)參數(shù)的確定、更新待分配生產(chǎn)計劃隊列、更新日計劃隊列、更新材料隊列、更新操作工隊列、更新設(shè)備隊列、刷新數(shù)據(jù)庫等,其主要目的是在計算機(jī)內(nèi)存中設(shè)置生產(chǎn)過程中所涉及的各種要素,保持內(nèi)存數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)的同步從而正確而有效地指導(dǎo)生產(chǎn)。我們在設(shè)計程序時可以采用動態(tài)隊列以及類的概念來組織生產(chǎn)數(shù)據(jù),并且可以采用隊列嵌套以及指針的思想來提高數(shù)據(jù)的利用率。在設(shè)計隊列和類時必須包括服務(wù)程序所管瞎的各個生產(chǎn)要素,同時要理清各生產(chǎn)要素的關(guān)系,例如:設(shè)備隊列MachList由多個實例化的設(shè)備類Machltem?組成,而不同的設(shè)備可能能加工的工序集是不同的,這樣就要求每個實例化的設(shè)備類中要有一個能加工的工序集隊列Can-ProcList,這就需要用到隊列嵌套技術(shù)了。這些情況在實際的工廠生產(chǎn)中大量的存在。從程序的角度來看,服務(wù)程序初始化的實質(zhì)就是對各個隊列以及實例化的類賦予初值,為后繼生產(chǎn)創(chuàng)造基礎(chǔ)條件。 2.3 服務(wù)程序設(shè)計要點 工廠生產(chǎn)的連續(xù)性和合理性依賴于MES的正常運(yùn)作,而MES的正常運(yùn)作又依賴于服務(wù)程序的正常運(yùn)行,提高服務(wù)程序的運(yùn)行效率就是提高M(jìn)ES的運(yùn)作效率,就是提高工廠的生產(chǎn)效率。服務(wù)程序承擔(dān)了包括生產(chǎn)計劃的排產(chǎn)、生產(chǎn)數(shù)據(jù)的保存以及質(zhì)量數(shù)據(jù)的處理等任務(wù),而處理這些任務(wù)時所涉及的數(shù)據(jù)量往往是很大的,因此,在程序設(shè)計時要提高內(nèi)存中數(shù)據(jù)的利用率和盡量減少程序?qū)Υ疟P的操作以及減少與數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)交換。 1) 系統(tǒng)參數(shù)配置的獨立化: 許多程序的設(shè)計者直接將系統(tǒng)的配置放在程序當(dāng)中,這樣做雖然提高了系統(tǒng)的集成度,也免去了用戶在使用系統(tǒng)前對系統(tǒng)進(jìn)行配置,但這樣卻降低了系統(tǒng)的可移植性。服務(wù)程序為了提高服務(wù)程序的可移植性,將系統(tǒng)配置和參數(shù)設(shè)置獨立于程序之外而保存在ini文件中,當(dāng)數(shù)據(jù)庫服務(wù)器被移植到其它地方或MES的其它模塊的配置發(fā)生變化時只需要修改ini文件即可,而不需要修改服務(wù)程序的源代碼,其中ini文件中的敏感配置,例如密碼、數(shù)據(jù)庫位置等完全可以通過各種加密措施來保證這些配置的安全。 2) 用好“池”的概念: 在實際的生產(chǎn)過程中,離散生產(chǎn)過程一般會存在以下實際問題使得某一工序的待加工計劃出現(xiàn)堆積現(xiàn)象: 1.同一個生產(chǎn)計劃在不同的工序階段所需要的工時是不可能相同的。 2.而不同的計劃在同一個工序中所消耗的工時也是不可能相同的。 3.不同計劃的工藝有可能不同但卻有交叉的工序。 以上三點是造成某一工序的待加工計劃出現(xiàn)堆積現(xiàn)象的主要原因,此外,一些例如:設(shè)備檢修、工人請假、停電、工人的熟練程度等也是造成堆積現(xiàn)象的原因。一般的工廠生產(chǎn)可以通過增加設(shè)備和增加工人的方法來解決,但問題是堆積現(xiàn)象的堆積度是不斷在變化的,需要增加的設(shè)備和工人的數(shù)量難以確定,因此服務(wù)程序中利用了‘他”的思想來解決這一問題。具體做法是為每一個工序設(shè)計一個待分配計劃工序隊列,隊列有兩個數(shù)據(jù)接口,輸人接口Input和輸出接口Output(以下Input指代輸人接口,Output指代輸出接口),而這個隊列就是所謂的‘他”這里可稱為“待分配計劃工序池”。輸入接口為上一工序,輸出接口為本工序。該隊列記錄的數(shù)據(jù)結(jié)構(gòu)至少包括計劃任務(wù)生產(chǎn)屬性、工序、優(yōu)先級,把上一工序完成的計劃任務(wù)按照工序從輸人接口Input放人到對應(yīng)的待分配計劃工序池中,可以通過該計劃任務(wù)所屬訂單的客戶重要程度、交貨期、批量的大小來計算出各個待分配計劃任務(wù)的優(yōu)先級。當(dāng)本工序的某臺終端請求計劃時,服務(wù)程序就會在待分配計劃工序池中按待分配任務(wù)的優(yōu)先級和請求終端對應(yīng)設(shè)備的加工屬性通過輸出接口Output把待分配計劃下發(fā)給請求終端。并且可以動態(tài)的計算出每個待分配計劃工序池中的待分配計劃所需的總工時,這樣,有關(guān)人員就可以很容易地計算出需要如何安排設(shè)備和工人等生產(chǎn)資源。 3) 優(yōu)先級調(diào)度: 在流水線生產(chǎn)中,不同任務(wù)的產(chǎn)品在線內(nèi)的加工順序是按照計劃的投產(chǎn)先后順序來調(diào)度的,因而處理起來比較簡單,但在離散生產(chǎn)中,由于不同任務(wù)的加工品到達(dá)同一工序的時間和順序不完全取決于計劃的投產(chǎn)先后,還取決于計劃的生產(chǎn)工藝和相關(guān)的各種生產(chǎn)要素。這樣,在離散制造業(yè)中,服務(wù)程序設(shè)計的******難點和重點在于生產(chǎn)計劃的自動排產(chǎn),即何時下發(fā)哪一個工序的待生產(chǎn)計劃給哪一個設(shè)備終端。生產(chǎn)計劃優(yōu)先級的計算并不太難實現(xiàn),根據(jù)事先給定的優(yōu)先級規(guī)則可以計算出來。但同一個優(yōu)先級若出現(xiàn)幾個待分配計劃時就需要計算解決計劃的選擇問題。 隨機(jī)服務(wù)(RS):即在幾個相同優(yōu)先級的待分配計劃中隨機(jī)的下發(fā)合適請求終端的待分配計劃。它的優(yōu)點是實現(xiàn)起來非常的容易,因此在許多場合被采用。但沒有利用請求終端對應(yīng)的設(shè)備的加工歷史,缺乏主觀控 |
<< RS485基本知識變壓器瓦斯保護(hù)淺談 >>