余 蕓
(上海工業自動化儀表研究院有限公司,上海 200233)
鍋爐焊接車間有多種型號的焊機,包括大馬鞍焊機、小馬鞍焊機、自動埋弧焊機、伊薩焊機等。各種焊機獨立工作,但在工作時沒有記錄電壓、電流等參數。這會產生以下問題。①各種焊機的通信協議各異,使得焊接車間的焊機數據采集后需要投入巨大的成本進行整合。②焊接過程中不能對焊機的電壓和電流等重要參數進行實時監控記錄,導致焊接產品的質量得不到保證。③由于沒有統一的通信協議,車間制造執行系統(manufacturing execution system,MES)在設計時,只能被動地集成各種不同的通信協議[1]與焊機設備相適配,提高了系統開發的難度,阻礙了整個車間信息化建設。所以,在鍋爐焊接車間內不同焊機設備之間建立一種簡單、可靠的統一通信模式具有重要的意義。對象鏈接與嵌入的過程控制(object linking and embedding for process control,OPC)用于設備和軟件之間交換數據[2]。OPC統一架構(OPC unified architecture,OPC UA)是在OPC基礎上[3-4],為了應對標準化和跨平臺的趨勢而推出的新標準。該技術可以很好地解決上述問題。
本文基于JAVA的設備信息系統的開發[5],可有效記錄和保存焊機在焊接過程中產生的重要數據,使企業管理者能對焊機進行有效的監控,追溯焊接產品的質量。
針對焊接車間缺乏焊機工作狀態數據、不能很好追溯產品焊接質量的問題,本文設計了焊機數據采集建設方案。該方案由工作站、制造企業MES和OPC服務器、紫蜂協議(ZigBee)網關、遠程終端控制系統(remote terminal unit ,RTU)組成。系統架構如圖1所示。

圖1 系統架構圖Fig.1 System architecture diagram
遠程終端控制系統是焊機設備的數據采集裝置。每臺焊機均配有一臺RTU。RTU采集電流傳感器輸出的電流信號、焊接電壓信號和溫度信號等,并通過ZigBee網絡上傳給ZigBee網關。無線網關主要負責整個無線網絡的建立,并對焊接數據采集設備的數據進行接收,轉化為以太網協議上傳給OPC Server。采集裝置還能對焊機工作狀態進行控制。如果焊機的電壓、電流等超過采集裝置的預設值,采集裝置會給出報警信號或切斷焊機的電源使其停止工作。
OPC Server接收和處理ZigBee網關傳來的焊機在生產過程中產生的數據,并對這些數據進行記錄、保存和查詢,以實現對生產過程的有效監視。通過OPC客戶端,可對焊機設備進行管理控制,并對數據采集裝置設置的生產參數進行修改和保存,以適應不同焊接產品的需求。
鍋爐焊接車間的設備信息系統是MES的一部分,通過數據庫讀取設備的工作信息,使管理者能了解設備的工作狀態,從而追溯焊接產品的質量。
運行程序前,先建立.ini配置文件。配置文件保存網關的IP地址、port端口號、每個數據采集設備的設備編號等。程序首先進行初始化工作,創建OPC Group和OPC Item。每個焊機對應一個OPC Group。焊機的工作參數對應OPC Item,所以每個 OPC Group 包含了許多的 OPC Item[6]。然后,讀取配置文件,獲得網關的IP地址和端口號,并從配置文件獲得數據采集模塊的設備編號和設備ID。所有配置完成后,創建數據處理線程,按照ZigBee網關發送數據的時間進行數據接收、處理和發送,并調用數據存儲模塊實現數據存儲功能。同時,啟動定時器功能,定時對OPC Item的狀態進行刷新。
OPC Server程序流程如圖2所示。

圖2 OPC Server 程序流程圖Fig.2 OPC Server program flowchart
數據采集模塊[7]是OPC Server軟件的核心。其主要功能是接收ZigBee網關發送來的數據,并對數據進行處理和保存。首先,數據采集模塊判斷是否已連接ZigBee網關。如已連接,則分析ZigBee網關發送來的數據,判斷是哪個數據采集設備發送的。然后,讀取電壓、電流值等,更新OPC Group和OPC Item。最后,把數據保存到數據庫中。
程序采用定時器線程來刷新OPC Group 和OPC Item,同時控制接收到的數據顯示時間為1 min。如果超過1 min沒有接收到新的采集數據,程序會將之前顯示的數據置為0。
數據采集流程如圖3所示。

圖3 數據采集流程圖Fig.3 Data collection flowchart
數據存儲模塊的主要功能是把接收到的數據保存到數據庫,為MES的設備管理系統的應用作準備。由于ZigBee網絡每15 s發送一次數據,而數據庫因為不是實時數據庫,所以插入數據的頻率不能那么高。程序首先定義一個類。類的屬性是接收到的數據類型(即OPC Item),包括電壓、電流和溫度等參數。然后,程序定義一個鏈表(list)。鏈表的數據類型是類的屬性,每次接收到的數據就插入鏈表中。最后,程序設置一個定時器線程,把1 min接收到的所有數據插入數據庫中,同時清空鏈表,為接收新的數據作準備。
設備信息系統是MES的重要組成部分[8],主要功能有設備資產臺賬、設備定期維護計劃、設備大/中修記錄、設備維修履歷、設備參數運行趨勢等。管理者通過這個系統,不僅可以了解設備的基本情況,還可以了解設備運行的歷史參數,從而追溯產品質量。
系統采用Web Service服務。與本地服務相比,Web Service服務具備平臺無關性、跨越防火墻以及編程語言無關性等優勢[9],采用JAVA作為開發語言,具有面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的特點[10],被廣泛應用于企業級Web應用開發和移動應用開發。
為了降低層與層之間的耦合度、減少數據互相干擾,本系統采用分層架構開發。系統架構分為數據層和應用層。
①數據層:OPC Server把數據存儲在MES數據庫,并在其中新建一個設備運行信息表。
②應用層:采用HTML實現靜態頁面設計與布局;采用JavaScript 創建動態頁面效果并與后端進行數據交互。
根據焊接鍋爐車間的業務需求,系統設計了設備資產臺賬、設備定期維護計劃、設備大/中修記錄、設備維修履歷、設備參數運行趨勢等功能模塊。其中,與OPC Server有緊密聯系的是設備資產臺賬模塊。
設備臺賬模塊記錄了設備的基本信息,包括資產編號、資產名稱、生產廠家等,通過資產編號、名稱等,能快速查找到用戶所需的設備;通過新增和刪除按鈕,可以增加新的設備和刪掉已淘汰的設備;通過導入按鈕,可以把Excel表格的設備信息導入系統;通過導出按鈕,可以把設備信息導出到Excel表格中。
實體關系如圖4所示。

圖4 實體關系圖Fig.4 Entity relationship diagram
數據庫設計是整個系統的基礎和核心,直接影響到整個系統完成性的優劣[11]。本系統采用SQL Server作為數據庫系統。數據庫設計分為三個階段。首先,通過需求分析得到所需設備的數據項,設計出能滿足用戶需求的實體、屬性,并找到實體與屬性之間的聯系。
其次,根據實體關系圖,確定以下數據庫表。
①設備基本信息表,包括資產編號、資產名稱、規格型號、生產廠家、投產日期、功率、設備狀態、使用情況、資產位置、一保周期、二保周期、歸口部門、使用部門、科目、驗收日期、資產原值。
②設備運行記錄表,包括資產編號、電壓、電流、溫度、電壓最大值、電壓最小值、電流最大值、電流最小值、發送時間。
最后,進行數據庫的物理結構設計,確定兩個表中各字段的數據類型和長度、是否為空,以及兩個表的主鍵和外鍵值。其中:設備基本信息表的資產編號和資產名稱是主鍵,不能為空且資產編號是設備基本信息表的外鍵;設備運行記錄表的資產編號是主鍵,不能為空。
焊接數據采集系統主要應用在華西能源的焊接車間,以實現對車間的焊接設備的實時監視。該采集系統主要實現了以下功能。
①焊機工作電壓和電流的實時采集并上傳。
②通過MES客戶端,查看當前數據,并依據不同工藝需求可靈活配置無線焊接數據采集設備的焊接參數。
③通過對焊接參數查看界面的簡單配置,可查看歷史數據,以實現焊縫質量的可追溯性。
④根據需要,可方便地增減監控點。
⑤當采集數據出現異常時,發出紅色信號警示;當節點斷網時,發出黃色信號警示。
焊接參數實時監測系統包括重容車間和管子車間,能顯示實時信息和歷史信息。在監測頁面,正在工作的焊接設備用綠燈顯示,沒有工作的設備用灰色表示。設備工作時,能實時顯示電壓、電流參數,管理人員通過實時監測系統,對焊接設備工作情況能一目了然。
焊接設備的參數信息保存在MES的設備信息系統中,用戶可以依據不同工藝需求靈活配置焊接參數,并下發給無線焊接數據采集設備,以控制現場的實際焊機工作;同時,用戶可以在MES客戶端查詢焊機的當前或歷史工作狀態,為產品質量追溯提供技術支撐。
系統采用OPC UA技術進行數據采集和接收,能迅速建立起各個焊機設備和MES的通信連接,解決了由于各種焊機的不同通訊協議使系統開發困難和成本上升的問題;采用JAVA技術開發設備信息系統,使管理者能夠了解設備運行的歷史數據,保證了質量的可追溯性,也使得焊接作業的生產管理和質量監督及監控逐步實現數字化。該研究對車間數字化生產起到了推動作用。