0 引言
制造執行管理系統(Manufacturing Execution System, MES)是企業信息系統中重要的一部分,它是上層的計劃管理系統與底層的工業控制系統之間信息交互的紐帶。在指導工廠的生產運作工程中,MES的人機交互程序負責將系統收集到的信息實時反饋給現場操作人員。目前企業中部署MES人機交互程序時采用的部署方式,普遍存在程序可恢復性和安全性不強、維護時需要大量人力等困難。特別是中小型制造企業普遍存在制造實力弱、資金不足、管理制度不完善、基礎落后、技術不強等不足。因此,企業迫切需要一個更簡單安全的MES方案來提高企業的信息化程度和綜合競爭力。為此,本文根據某企業的流水線裝配流程的實際需求,在基于.NET中的ClickOnce技術的理論基礎上,提出了一種安全可靠的MES部署方案,給出了基于ClickOnce的MES人機交互程序實現的系統配置、程序設計等關鍵技術的設計思路。
1 MES人機交互程序
作為企業上層計劃決策系統和底層過程控制系統之間的橋梁,制造執行系統(MES)在車間生產的計劃調度、過程管理等方面起到了越來越重要的作用。人機交互程序作為MES中的一部分,肩負著向每個工位上的操作工顯示生產信息、控制工位流程、人員登陸等功能。
MES在裝配線上的人機交互程序具有如下特點:
1)數量眾多。在MES中需要部署大量的人機交互程序。每一個工位都配有一個操作屏供裝配工操作。
2)部署環境相同。裝配線上操作屏使用工廠內部局域網,采用統一的操作系統,程序運行環境一致。
3)基本功能一致。每個線上人機交互程序都具有相同的基本功能,與PLC交互邏輯相同。
與此同時在程序開發中的需要面對許多挑戰,包括:
1) 需求更改頻繁。MES實施時存在定制作量大、成本高、周期長的問題。在實際開發中程序迭代速度快次數多,一個版本使用一段時間后需要更改功能。
2) 各工位具體功能不同。雖然界面的基本功能一致,但在諸如上線工位、條碼打印工位具有不同的附加功能。這些功能會增大程序的復雜性。
3) 功能間松散耦合。功能間采用緊耦合設計時,僵硬脆弱的架構往往固化了系統的大部分功能,只余小部分可以進行參數的配置,難以保證企業的敏捷性,無法支持企業快速適應市場和生產環境的變化。
傳統的部署方式大多是采用Windows Installer部署,既開發完成后生成一個安裝程序,由實施人員在每臺線上計算機上安裝。這種方式不但需要大量的人員負責安裝配置程序,而且當程序頻繁迭代更新時也容易造成版本混亂的問題。
2 C lickOnce自動部署功能
2.1 功能介紹
ClickOnce 是微軟開發工具Visual Studio中的一種部署技術,使用ClickOnce可在Windows中創建能夠自行更新的應用程序,用戶像運行IOS上的APP一樣,通過運行安裝文件即可安裝程序,在程序每次運行前都會檢查是否需要更新。在ClickOnce 部署技術出現之前,傳統部署技術一直存在著三個主要的問題:
1) 應用程序更新困難。傳統部署技術一般是指利用Windows Installer在計算機中安裝部署應用程序。每當用戶需要更新應用程序時,用戶都必須在計算機中將原程序卸載并重新安裝整個應用程序。而在ClickOnce部署技術中,每次程序啟動時都會自動檢查是否有更新程序。當檢查到需要進行程序更新時,只會從共享文件夾中下載更改過的部分應用程序,然后在計算機中建立一個新的文件夾重新安裝應用程序。
2)更新后影響用戶的其它程序。使用傳統方式部署應用程序時,原始程序的共享組件通常會被更新后的應用程序繼續使用,開發部署人員稍有不慎便有可能發生程序間的版本沖突。而使用ClickOnce部署時,由于每個版本的應用程序都會分開保存在不同的文件夾中,這樣不會影響其他應用程序。
3)更新時要求管理員安全權限。使用傳統方式部署應用程序時,要求必須具有管理員權限用戶才能進行部署,并且安裝升級程序也需要被授權的用戶,這給安裝部署帶來了很多困難;而ClickOnce部署時,可以很方便的使用普通用戶權限安裝應用程序,但系統保證訪問應用程序的過程是安全的。
使用傳統的部署技術,開發人員為了解決以上問題嘗嘗會選擇使用Web上的應用程序而不是桌面應用程序。使用WEB應用部署和安裝都方便,但WEB應用在響應速度和用戶界面豐富性上卻比不上桌面窗體。而通過使用ClickOnce技術部署的桌面應用程序,在克服了這三個主要問題的同時可以繼續享受桌面窗體的優點。
2.2 C lickOnce部署的原理
ClickOnce部署的核心是兩個在發布時生成的XML文件:應用程序清單和部署清單。這兩個文件一般在開發時通過Visual Studio中的發布向導自動生成,發布者也可以利用Microsoft WindowsSDK Tools中的清單生成和編輯工具(Mage.exe)來手動生成需要發布的應用程序清單和部署清單。
應用程序清單中記錄的應用程序本身的信息,包括程序集信息、應用程序安裝時需要的文件、安裝程序時需要的windows用戶賬戶級別以及清單更新在什么位置保存。
部署清單中主要記錄應用程序的采用何種方式部署,其中包括程序當前的版本號、通過何種方式獲取應用程序清單。
部署清單在創建后會被復制到設定好的部署位置。該位置可以是Web服務器、局域網中的共享文件夾或媒體(如 CD)。應用程序清單和應用程序文件也會被復制到在部署清單中的制定部署位置。
在利用ClickOnce部署程序時,用戶可以在網頁上或保存部署的共享文件夾中打開部署清單文件,之后程序會自動將應用程序下載和安裝到計算機上的一個獨立的文件夾中。安裝時程序會彈出一個對話框讓用戶確認安裝信息,之后程序便會自動安裝,安裝結束后應用程序會被啟動。
因為ClickOnce應用程序被單獨存放在一個文件夾內,每個程序都是完全獨立于原有程序的,應用程序的每一個版本都安裝到一個安全的獨立的緩存中,并從該緩存運行。所以安裝或運行利用ClickOnce不熟的應用程序不會影響到現有的其他應用程序。默認情況下,ClickOnce應用程序需要具有網絡域安全權限的用戶在windows中運行。通過設置應用程序清單,可以提升安裝程序所需要的的安全權限。
應用程序在安裝后會在用戶的“開始”菜單和 “添加/刪除程序”組中添加應用程序安裝信息。與傳統部署技術不同的是,使用ClickOnce技術部署的應用程序不會向計算機中的注冊表或C盤中的“Program Files”文件夾添加任何內容,且用戶在安裝時僅需要有限的權限。ClickOnce應用程序在運行時可以自動檢測是否有更新的版本;應用程序在啟動時會比對自身部署清單中的版本號和部署位置中部署清單中的版本號,當發現更高的版本后程序會提示用戶進行更新。在程序發布時,開發人員可以設置發布軟件的版本號。在程序運行中,網絡管理員也可以通過對共享文件夾中的程序進行更改來控制更新策略。在程序部署到計算機后,最終用戶在發現更新時還可以選擇本機是否要進行程序更新。
2.3 C lickOnce部署的優點
圖1 部署方式對比
在安裝方式上,兩種部署方式也有差別。使用 ClickOnce作為部署方式時需要先將應用程序發布到共享文件夾、光盤等指定位置。用戶在安裝時從該位置運行安裝程序。 使用 Windows Installer作為部署方式時,則需要先創建一個應用程序安裝程序文件并在待安裝的系統上分發安裝文件。用戶運行安裝文件以安裝應用程序。
由于 ClickOnce部署的應用程序可自行更新,因此 ClickOnce對于要求經常更新的應用程序而言是最好的選擇。盡管 ClickOnce應用程序最初可以通過使用 CD-ROM 安裝,但在局域網使用時用戶才能利用 ClickOnce更新功能。
2.4 小結
MES在裝配線上的人機交互程序的在開發過程中,ClickOnce技術相對傳統的安裝程序部署方案具有明顯的優勢。安裝程序時操作簡單,無需額外設置步驟。程序只需在服務器更新后,操作屏上就可以自動更新。由于在局域網上運行,網絡環境穩定快速,無需考慮更新下載失敗等因素干擾。每臺觸摸屏可以采用相同的ClickOnce安裝源文件,在程序中對完成工位功能需要的組件進行設置。同時使用ClickOnce技術部署程序時基于證書、代碼訪問安全性策略和 ClickOnce信任提示,使得程序的安裝與更新更為安全。
3 基于ClickOnce的信息系統總體設計實現方案
在上述研究的基礎上,設計并開發了MES在裝配線上的人機交互程序。其中心思想是把不同功能從需求中提取出來并進行分類。依照功能特性的不同分類處理。同時在設計時將這些功能與工位解耦合,降低調試和后期維護時的難度。
系統包括用于運行數據庫的數據庫服務器。用于提供OPC接口與PLC交互數據的OPC服務器。用于人機交互程序發布和管理的ClickOnce發布服務器,線上操作屏。由于ClickOnce發布服務器功能簡單,所以將服務器運行于虛擬機上即可滿足性能要求。
圖2 網絡結構圖
在設計本項目的人機交互程序時,針對不同的功能需求如過程數據讀取、工序提示查看、工位控制、總成上線等關鍵功能,進行分類做不同的設計。
工序提示查看功能。是在界面上顯示操作工需要在本工位上進行的操作及安全提示。這些提示信息依工位保存在數據庫中,且對于單一工位來說在系統運行時工序提示是不會改變的。在實現這類功能時,在程序啟動前先運行一個準備程序,準備程序負責從數據庫中讀取本工位的信息到本地的XML文檔中,之后程序啟動時只對本地的XML文檔進行讀取操作。這樣設計可以減少運行時查詢數據庫給數據庫增加的負擔,同時這樣將程序與數據庫解耦合的做法也有利于調試和測試工作。
在線信息提示功能。是指管理員可以將重要信息顯示在人機交互界面上,通知線上操作工。在實現這類需要頻繁讀取數據庫信息的功能時,可以將信息放置在數據庫中單一的一個表中,每個界面程序定時掃描這個表,以提高讀取速度。
過程數據讀取功能。是指在工人操作工位時,交互程序的界面上會顯示工位操作中得到的的各項測量數據。這些數據是由PLC采集到的,存儲在PLC的DB塊中。MES通過OPC接口讀取數據后,存儲在數據庫中。交互程序周期性的掃瞄數據庫所在工位的數據,并將數據顯示在界面上。
每個工位需要采集的數據數量不同,但基本格式可以統一。在實現這部分功能時,將數據收集和顯示分開,在服務器上實現數據收集,界面上只顯示數據。這樣在服務器上以統一格式收集數據,并存儲到數據表中。而在界面上的僅需要定時掃描數據表上本工位的數據,并顯示在界面上。
工位控制功能。操作工通過界面按鈕控制工位放行。界面程序通過OPC服務器,將工位控制命令寫入PLC中的DB塊,并通過與控制系統定義好的接口與控制程序交互。設計時需要將不同工位上與控制系統交互的流程統一,使得每個工位的接口都是一致的。
總裝上線功能。在上線工位記錄總裝信息。只在上線工位及幾個特殊工位運行。在設計時將這樣的功能提取出來單獨開發,并在程序啟動時加入判定,只在指定工位啟動程序。
將功能分為以上幾類后,人機交互界面上的功能可以進一步劃分為所有工位均具有、與工位相關。同時以觸摸屏的IP作為工位判斷的標識,既將工位號與IP一一相關存儲在數據庫中,在界面的準備程序中判斷觸摸屏屬于哪個工位。這樣所有觸摸屏上要部署的程序就可以用一套代碼生成,從而滿足了ClickOnce部署的條件。
4 結束語
基于ClickOnce自動部署方式設計的MES,利用Visual Studio中的部署技術,與OPC技術和SQLServer數據庫緊密結合。可以自動、靈活、高效的部署MES人機交互界面。解決了企業部署實施MES人機交互程序時面臨的程序可恢復性和安全性不強、維護時需要大量人力等問題。整套系統經過生產階段的測試后,系統性能穩定,操作簡單,可擴展性好,可配置性強,節約大量的維護部署人力,可以更好地推動企業的制造信息化發展,提高企業自身的競爭力。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于ClickOnce技術的MES人機交互程序的設計與實現
本文網址:http://www.guhuozai8.cn/html/consultation/10820511413.html