張為民 馬 杰
1(廣州航海學院信息與通信工程學院 廣東 廣州 510725)2(深圳市鎮泰自動化技術有限公司 廣東 深圳 518052)
制造企業生產過程不同類型生產設備之間相互獨立,若缺乏實時數據共享,則會導致一系列信息孤島問題,制約工廠各系統之間的協調[1]。生產過程中將多臺生產設備實時數據遠程集中到一起,隨時通過網頁查看生產數據、了解生產狀況、在線分析關鍵數據并及時發現異常。這對提高生產效率,保證生產過程穩定及減少生產事故都具有重要意義[2-6]。傳統OPC技術(OLE for Process Control),用于過程控制的對象鏈接和嵌入,這技術很好地解決了不同生產設備間的數據互通性問題。陳文遠等[4]合作開發的“盾構集群遠程監控與智能化決策支持系統”通過傳統OPC Server與盾構機完成實時數據采集,能夠實現不同品牌盾構機的集群式遠程監控與管理。文獻[5]為滿足多組設備的實時集中監控功能,提出了具有OPC功能的上位機系統設計方案,避免了設備故障產生的不良影響,提高了生產效率。文獻[6]針對多種類別及功能的工業爐,基于OPC技術進行數字化集成,達到了降低企業生產成本及提高生產率的核心目的。文獻[7]通過OPC技術實現了多個現場可編程控制器PLC的數據采集功能,可遠程實時訪問現場設備數據。李靜等[8]開發了基于OPC XML(OPC Extensible Markup Language)的狀態及故障監控軟件,高效地完成了對風力發電機的實時監控。
OPC UA:OPC統一架構是在傳統OPC之后的又一個突破,其克服了傳統OPC DCOM分布式組件對象模型(Distributed Component Object Model)遠程訪問具有局限性,且難以配置,以及COM組件對象模型產生的傳輸報文過于復雜,通過Internet發送困難等缺陷。為應用程序提供了更高性能的、可擴展的、安全和可靠的實時數據通信[9-11]。
本文以某鈑金廠3條噴涂生產線的多臺不同類型分布式生產設備為研究對象,應用OPC UA解決方案完成現場生產設備控制器實時數據采集,同時建立相應的實時/歷史數據庫和關系數據庫,最后以Web服務器發布實時數據遠程監測Web網頁。
某鈑金廠五車間共有3條噴涂生產線(J線、G線和F線),各噴涂生產線分別包括前端處理、輸送、烘爐及粉床等工序。目前,現場已經完成了生產設備自動化操作程序的開發和調試,形成了獨立的“生產單元”。然而,這些生產設備沒有聯網,各生產單元的實時數據無法采集,生產過程數據無法遠程呈現給管理人員,形成了若干信息孤島。為有效監控生產作業過程,提高生產效率并及時處理現場報警,需配套實施“生產設備實時數據遠程監測”開發項目。
3條噴涂生產線關鍵生產設備的控制器型號統計如表1所示,其中PLC控制器主要是日本三菱FX系列FX2N和FX1N以及德國西門子S7-300系列CPU314和CPU315-2DP。另外,還有日本理化CD系列溫控器CD901。3條噴涂生產線合計設備32臺。

表1 噴涂生產線關鍵生產設備控制器型號統計表
開發項目需實現的生產設備實時數據遠程監測功能主要有:
(1) 生產設備聯網功能。各生產線關鍵生產設備均可實現聯網,可在線遠程監測生產數據。
(2) 數據采集功能。自動采集生產設備實時數據,保證生產數據(產量、停機、廢次品及設備運行狀態等)的準確性。
(3) 關鍵數據分析功能。通過對關鍵采集數據的統計分析,能確定影響生產設備效率的主要原因。從而可以有針對性地采取措施,提高生產設備運行的效率和可靠性。
(4) 狀態監視及故障報警功能。通過對生產過程的可視化監視及生產設備故障的實時報警,提高生產的透明度和管理層的響應速度,進一步保證生產設備的持續有效運行,減少停機浪費。
(5) 歷史數據記錄及報表打印功能。能夠以圖、表的形式查詢歷史數據并打印。
為滿足各噴涂生產線作業及數據管理需求,生產設備實時數據遠程監測系統采用客戶機/服務器C/S和瀏覽器/服務器B/S相結合的分層結構進行設計。
(1) 按照生產線系統分為J線、G線和F線3個區域。每個區域在本地設置1臺前置數采計算機,安裝數據采集軟件,負責采集本區域的關鍵生產設備控制器實時數據。
如圖1所示,本文以J線為例介紹前置數采計算機完成數據采集的過程,G線和F線過程類似。

圖1 J線關鍵生產設備控制器實時數據采集示意圖
圖1中,前端處理和輸送工序的關鍵生產設備控制器為FX2N及CD901,烘干工序的關鍵生產設備控制器為FX1N及CD901,粉房工序的關鍵生產設備控制器為CPU314,每臺控制器都增加串口通信卡,并分別連接到系統新增的串口轉換器上(8口)。串口轉換器完成8個RS232串口轉換為以太網接口功能。通過以太網接口,安裝數據采集軟件的前置數采計算機采集J線關鍵生產設備控制器實時數據。
(2) 如圖2所示,在中控室設置一臺后臺數采計算機。該計算機通過以太網,收集存儲J線、G線和F線的三臺前置數采計算機采集的關鍵生產設備控制器實時數據。通過以太網,后臺數采計算機收集存儲的實時數據進一步傳輸至數據庫服務器。在數據庫服務器由關系數據庫和實時/歷史數據庫進行二次處理。為提高實時數據刷新速度,中控室的后臺數采計算機與3條噴涂生產線三臺前置數采計算機之間采用緊湊結構的C/S架構。

圖2 生產設備實時數據遠程監測系統結構示意圖
(3) 如圖2所示,數據庫服務器內的關系數據庫和實時/歷史數據庫作為后臺數據庫將處理完成的數據通過以太網傳輸至在中控室設置的Web服務器。遠程瀏覽器通過Internet網絡訪問Web服務器完成相關數據的顯示。為易于部署和維護,實現更高效的遠程實時數據展示,Web服務器與遠程瀏覽器之間采用B/S架構。
數據采集是實時數據服務的基礎和重要環節,傳統數據采集方案是對每個現場設備采用專用的接口函數來實現現場實時數據存取。對于不同類型生產設備控制器,如果分別采用不同的數據采集接口程序,則軟件開發工作負擔重,效率低,不符合實際工作需求。OPC技術是微軟基于COM/DCOM開發的應用于現場生產設備控制器與上層監測系統之間的協議,其隱藏了控制器的差異,為上層監測系統的實時數據采集提供了統一的接口[12-14]。但其有諸多缺點:不具有平臺無關性,僅適用于微軟平臺環境;DCOM的遠程訪問具有局限性,并且難以配置;COM產生的傳輸報文過于復雜,通過Internet來發送COM報文非常困難;實時數據訪問DA(Data Access)、報警事件A&E(Alarms and Events)和歷史數據訪問HAD(Historical Access Data)訪問規范服務之間相互獨立,不便于協調工作[9]。
OPC基金會發布的最新數據通信統一方法為OPC UA,它是在傳統OPC技術取得很大成功之后的又一個突破,讓數據采集、信息模型化以及工廠底層與企業管理層面之間的數據通信更加安全和可靠。其涵蓋了OPC DA、OPC HDA、OPC A&E和OPC安全協議的不同方面,并在傳統OPC基礎之上進行了功能擴展。它滿足了能夠描述復雜系統的、豐富的和可擴展的建模能力,以及平臺獨立的系統接口和安全性的所有需求[9]。
OPC UA的主要特點[9,15]:
(1) 訪問的統一性:有效地將現有的OPC規范(DA、A&E、HDA、命令、復雜數據和對象類型)集成進來,提供了一致和完整的地址空間和服務模型,解決了過去同一系統的信息不能被統一訪問的問題。
(2) 靈活的網絡通信性能:消息的編碼格式可以是XML文本格式或二進制格式,也可使用多種傳輸協議,如傳輸控制協議TCP(Transmission Control Protocol)和通過超文本傳輸協議HTTP(Hyper Text Transfer Protocol)的網絡服務。
(3) 可靠性和冗余性:含有高度可靠性和冗余性設計,可調試的逾時設置、錯誤發現和自動糾正等新特征都使得符合OPC UA規范的軟件產品可以很自如地處理通信錯誤和失敗。標準冗余模型也使得來自不同廠商的軟件應用可以同時被采納并彼此兼容。
(4) 安全模型標準化:訪問規范明確提出了標準安全模型,用于OPC UA應用程序之間傳遞消息的底層通信技術提供了加密功能和標記技術,保證了消息的完整性,也可防止信息的泄漏。
(5) 平臺無關:軟件的開發不再依靠和局限于任何特定的操作平臺,提供了基于Internet的Web Service服務架構和非常靈活的數據交換系統。
本文采用OPC UA技術完成針對不同類型生產設備控制器實時數據采集。
OPC UA實時數據訪問服務是實時數據采集的核心,前置數采計算機從現場生產設備控制器采集數據和文件,提供訪問服務給后臺數采計算機。前置數采計算機數據采集軟件負責管理自身的數據與處理邏輯,并通過OPC UA通信協議提供相應的實時數據服務。其中,數據采集軟件是由軟件開發工具包OPC UA SDK(Software Development Kit)二次開發生成的服務端程序,后臺數采計算機程序負責訪問前置數采計算機數據采集軟件中的數據。
數據采集軟件由底而上分為硬件驅動程序、地址空間、數據編碼、安全協議及通信協議幾個部分。
其中,硬件驅動程序完成對生產設備控制器進行設置和讀寫操作,通過對底層通信細節進行封裝,提供接口函數供調用。通過診斷調試功能可查詢當前通信數據,并可在線進行調試診斷,加快現場實時數據的通信連接進程。
實時數據訪問服務的關鍵在于創建地址空間。地址空間是一系列有具體含義的內存數據與持久數據所組成的數據集合。地址空間采用面向對象的思想進行設計,能夠對現場數據、事件、報警和信息模型進行統一管理與描述。地址空間創建后,從底層控制器讀取的數據就可以存放到相應的數據地址,供后臺數采計算機訪問。
數據可編碼為XML和二進制,通過對數據吞吐量大小的判斷,可選取最優的數據編碼類型。安全協議使用經編碼的服務消息再加上安全的消息頭。通信協議則有多種數據傳輸格式,其中TCP可為數據緩沖區配置不同服務,基于HTTP的簡單對象訪問協議SOAP使用標準端口4840傳輸數據,可穿越Internet網絡防火墻[15]。
前置數采計算機數據采集軟件需建立與生產設備控制器I/O地址相對應的數據采集點表,以便在數據庫服務器上建立統一的實時/歷史數據庫和關系數據庫。表2為800噸壓力機數據采集點表。其中,編號列字段值為前置數采計算機中的數據地址名稱,如編號字段值為BJ.N5.JL.QD.800TYLJ.1。其中,BJ表示工廠名,N5表示車間名,JL表示生產線名,800TYLJ表示生產設備名,1表示生產數據點號。I/O列字段值為現場生產設備控制器定義的I/O數據硬件地址。

表2 800噸壓力機數據采集點表

續表2
如圖2所示,后臺數采計算機采集的實時數據通過以太網,進一步傳輸至數據庫服務器以提供數據存儲和處理服務。數據庫服務器包括操作系統、關系數據庫及實時/歷史數據庫。
本研究操作系統選用Microsoft Windows Server 2008 R2,關系數據庫選用Microsoft SQL Server 2008,實時/歷史數據庫是數據存儲和處理的核心。
實時/歷史數據庫包括數據采集器、數據存儲單元以及數據接口。數據采集器可完成指定時間間隔數據的采樣,根據數據變化規律可完成按時間周期存儲數據和按事件方式處理數據。數據存儲單元支持死區壓縮和斜率壓縮,以降低數據存儲空間,支持對歷史數據歸檔文件的管理,包括創建、復制、刪除和備份。實時/歷史數據庫以API及SDK的方式提供數據接口,以結構化查詢語言語句SQL語句實現數據查詢。
關系數據庫Microsoft SQL Server 2008采用標準的SQL語言,不僅支持傳統的關系數據庫組件,而且還支持數據庫常用的組件。其中包括觸發器、存儲過程、視圖以及游標等,同時也支持對數據庫進行復制。在數據的二次處理及報警記錄等方面,我們用Microsoft SQL Server 2008關系數據庫作為實時/歷史數據庫的補充。
如圖2所示,Web服務器和數據庫服務器之間通過以太網進行數據通信。實時/歷史數據庫存儲的實時數據以及關系數據庫記錄、跟蹤、分析和處理的數據,通過Java Script可視化編程設置,最后通過Web服務器進行發布。
如圖2所示,遠程瀏覽器通過Internet完成對Web服務器的數據訪問。其中,Web服務器操作系統選用Microsoft Windows Server 2008 R2,以Microsoft IIS7.0完成對Web服務的部署。含有Webkit內核的瀏覽器(如Microsoft Internet Explorer9.0以上版本、谷歌瀏覽器、Chrome等)均可作為遠程瀏覽器來訪問Web服務器。通過遠程瀏覽器Web網頁瀏覽和查看關系數據庫和實時/歷史數據庫的實時數據和歷史數據,相關管理人員就可在遠程隨時掌握生產數據,有關生產狀況也一目了然。
B/S模式的前臺遠程瀏覽器與后臺Web服務器的Web數據實時交互通信過程如圖3所示。其中,通過創建WebSocket(Web套接字)連接和關閉WebSocket連接,前后臺Web數據即可完成Internet兩端的全雙工實時交互通信[1,16]。

圖3 Web數據實時交互示意圖
首先,遠程瀏覽器向Web服務器發起WebSocket握手請求,并發送基于HTTP的請求報文。然后,Web服務器收到遠程瀏覽器的WebSocket握手請求報文并進行解析。如果滿足WebSocket協議條件,則Web服務器向遠程瀏覽器發送WebSocket握手應答,并發送基于HTTP的應答報文。最后,遠程瀏覽器收到Web服務器的WebSocket應答報文并對其進行解析驗證。如果驗證成功,則創建WebSocket連接,雙方進行全雙工Web數據實時交互通信。Web數據實時交互完成后,遠程瀏覽器主動關閉WebSocket連接。
B/S模式開發的生產設備實時數據遠程監測系統主要由系統登錄、生產設備信息監控、報表統計分析及系統管理等幾部分組成。其中,系統管理按照系統管理員、全廠、生產車間和生產線四級用戶進行權限設置。系統管理員為超級用戶,擁有系統管理等所有權限。全廠管理擁有對整個工廠進行生產設備實時數據遠程監測的權限,生產車間和生產線管理則分別對應擁有具體生產車間和生產線的生產設備實時數據遠程監測權限。按照系統管理所定義設置的用戶,輸入用戶名和密碼后即可完成系統登錄。
系統建立工廠級、車間級、生產線級和設備單元級的生產設備信息監控畫面。畫面具備三維生產設備實時狀態顯示功能,最小可顯示畫面到機臺,能夠進行模塊化分區選擇,顯示相關數據。設備運行過程中,當實際狀態與重點工藝控制參數不符的時候,系統具有報警信息實時突出顯示和歷史統計等功能。
如圖4為沖床生產設備信息監控畫面截圖,在該畫面截圖左上方可顯示沖床的三維圖形。在左下方生產統計模塊可顯示其沖壓次數、沖壓時間、設定片數、沖壓速度、沖壓片數及沖料架數等實時數據。在右上方設備狀態模塊可顯示其運行、停機、報警及通信狀態。另外,該模塊還可統計作業時間、停機時間、生產時間和故障時間。在該畫面截圖右下方異常信號模塊則顯示發生異常的項目,有緊急停止、光柵保護、氣壓過低、油壓過低、整機潤滑故障、主機變頻故障、分機變頻故障及儲油罐缺油報警等。通過該畫面可對生產過程進行可視化監視,能夠實現生產過程實時狀態及生產設備故障實時報警和統計顯示。從而提高了生產過程透明度,為生產管理提供了有利工具。

圖4 沖床生產設備信息監控畫面截圖
報表統計分析通過預定的要求自動生成所需要的統計報表和分析圖表。具體有生產報表、倉庫報表、消耗統計報表、生產設備統計報表、生產數據匯總表及生產異常工時統計表等。系統具備強大的查詢功能,可以用表單中的任何字段作為查詢條件自動生成各類報表,并可導出和打印。
如圖5為停機時間統計報表顯示畫面截圖。圖中報表縱坐標表示停機項目,橫坐標表示停機時間。圖5表明,脹管機停機、烘干機停機、左機器人報警停機、碼垛機停機、搬運機械臂停機、產品變更停機及吹氧化皮機缺料停機時間分別為2.4、2.3、0.9、0.4、0.3、0.2和0.1 min。這些統計數據,對于確定影響生產線正常運行的主要原因,并有針對性地采取措施來提高生產設備運行效率,具有重要參考價值。

圖5 停機時間統計報表顯示畫面截圖
本研究基于OPC UA實現了生產過程中多臺不同類型分布式生產設備控制器的實時數據采集與轉換,并通過對實時/歷史數據庫和關系數據庫的綜合開發應用,完成了數據存儲和二次處理。最后,開發了B/S模式的Web系統,可實現遠程瀏覽器與Web數據庫的數據實時交互。工廠相關管理人員在各自辦公場所就能及時監測現場生產設備作業狀況,從而可快捷和準確地了解現場生產數據,更好地進行生產管理和決策。鈑金廠32臺關鍵生產設備實時數據遠程監測應用表明,系統功能完全滿足生產設備實時數據遠程監測綜合管理需求,提高了生產效率。研究成果在制造企業具有一定的推廣應用價值。