余 蕓
(上海工業(yè)自動化儀表研究院有限公司,上海 200233)
鍋爐焊接車間有多種型號的焊機,包括大馬鞍焊機、小馬鞍焊機、自動埋弧焊機、伊薩焊機等。各種焊機獨立工作,但在工作時沒有記錄電壓、電流等參數(shù)。這會產(chǎn)生以下問題。①各種焊機的通信協(xié)議各異,使得焊接車間的焊機數(shù)據(jù)采集后需要投入巨大的成本進行整合。②焊接過程中不能對焊機的電壓和電流等重要參數(shù)進行實時監(jiān)控記錄,導致焊接產(chǎn)品的質(zhì)量得不到保證。③由于沒有統(tǒng)一的通信協(xié)議,車間制造執(zhí)行系統(tǒng)(manufacturing execution system,MES)在設計時,只能被動地集成各種不同的通信協(xié)議[1]與焊機設備相適配,提高了系統(tǒng)開發(fā)的難度,阻礙了整個車間信息化建設。所以,在鍋爐焊接車間內(nèi)不同焊機設備之間建立一種簡單、可靠的統(tǒng)一通信模式具有重要的意義。對象鏈接與嵌入的過程控制(object linking and embedding for process control,OPC)用于設備和軟件之間交換數(shù)據(jù)[2]。OPC統(tǒng)一架構(gòu)(OPC unified architecture,OPC UA)是在OPC基礎上[3-4],為了應對標準化和跨平臺的趨勢而推出的新標準。該技術可以很好地解決上述問題。
本文基于JAVA的設備信息系統(tǒng)的開發(fā)[5],可有效記錄和保存焊機在焊接過程中產(chǎn)生的重要數(shù)據(jù),使企業(yè)管理者能對焊機進行有效的監(jiān)控,追溯焊接產(chǎn)品的質(zhì)量。
針對焊接車間缺乏焊機工作狀態(tài)數(shù)據(jù)、不能很好追溯產(chǎn)品焊接質(zhì)量的問題,本文設計了焊機數(shù)據(jù)采集建設方案。該方案由工作站、制造企業(yè)MES和OPC服務器、紫蜂協(xié)議(ZigBee)網(wǎng)關、遠程終端控制系統(tǒng)(remote terminal unit ,RTU)組成。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖Fig.1 System architecture diagram
遠程終端控制系統(tǒng)是焊機設備的數(shù)據(jù)采集裝置。每臺焊機均配有一臺RTU。RTU采集電流傳感器輸出的電流信號、焊接電壓信號和溫度信號等,并通過ZigBee網(wǎng)絡上傳給ZigBee網(wǎng)關。無線網(wǎng)關主要負責整個無線網(wǎng)絡的建立,并對焊接數(shù)據(jù)采集設備的數(shù)據(jù)進行接收,轉(zhuǎn)化為以太網(wǎng)協(xié)議上傳給OPC Server。采集裝置還能對焊機工作狀態(tài)進行控制。如果焊機的電壓、電流等超過采集裝置的預設值,采集裝置會給出報警信號或切斷焊機的電源使其停止工作。
OPC Server接收和處理ZigBee網(wǎng)關傳來的焊機在生產(chǎn)過程中產(chǎn)生的數(shù)據(jù),并對這些數(shù)據(jù)進行記錄、保存和查詢,以實現(xiàn)對生產(chǎn)過程的有效監(jiān)視。通過OPC客戶端,可對焊機設備進行管理控制,并對數(shù)據(jù)采集裝置設置的生產(chǎn)參數(shù)進行修改和保存,以適應不同焊接產(chǎn)品的需求。
鍋爐焊接車間的設備信息系統(tǒng)是MES的一部分,通過數(shù)據(jù)庫讀取設備的工作信息,使管理者能了解設備的工作狀態(tài),從而追溯焊接產(chǎn)品的質(zhì)量。
運行程序前,先建立.ini配置文件。配置文件保存網(wǎng)關的IP地址、port端口號、每個數(shù)據(jù)采集設備的設備編號等。程序首先進行初始化工作,創(chuàng)建OPC Group和OPC Item。每個焊機對應一個OPC Group。焊機的工作參數(shù)對應OPC Item,所以每個 OPC Group 包含了許多的 OPC Item[6]。然后,讀取配置文件,獲得網(wǎng)關的IP地址和端口號,并從配置文件獲得數(shù)據(jù)采集模塊的設備編號和設備ID。所有配置完成后,創(chuàng)建數(shù)據(jù)處理線程,按照ZigBee網(wǎng)關發(fā)送數(shù)據(jù)的時間進行數(shù)據(jù)接收、處理和發(fā)送,并調(diào)用數(shù)據(jù)存儲模塊實現(xiàn)數(shù)據(jù)存儲功能。同時,啟動定時器功能,定時對OPC Item的狀態(tài)進行刷新。
OPC Server程序流程如圖2所示。
圖2 OPC Server 程序流程圖Fig.2 OPC Server program flowchart
數(shù)據(jù)采集模塊[7]是OPC Server軟件的核心。其主要功能是接收ZigBee網(wǎng)關發(fā)送來的數(shù)據(jù),并對數(shù)據(jù)進行處理和保存。首先,數(shù)據(jù)采集模塊判斷是否已連接ZigBee網(wǎng)關。如已連接,則分析ZigBee網(wǎng)關發(fā)送來的數(shù)據(jù),判斷是哪個數(shù)據(jù)采集設備發(fā)送的。然后,讀取電壓、電流值等,更新OPC Group和OPC Item。最后,把數(shù)據(jù)保存到數(shù)據(jù)庫中。
程序采用定時器線程來刷新OPC Group 和OPC Item,同時控制接收到的數(shù)據(jù)顯示時間為1 min。如果超過1 min沒有接收到新的采集數(shù)據(jù),程序會將之前顯示的數(shù)據(jù)置為0。
數(shù)據(jù)采集流程如圖3所示。
圖3 數(shù)據(jù)采集流程圖Fig.3 Data collection flowchart
數(shù)據(jù)存儲模塊的主要功能是把接收到的數(shù)據(jù)保存到數(shù)據(jù)庫,為MES的設備管理系統(tǒng)的應用作準備。由于ZigBee網(wǎng)絡每15 s發(fā)送一次數(shù)據(jù),而數(shù)據(jù)庫因為不是實時數(shù)據(jù)庫,所以插入數(shù)據(jù)的頻率不能那么高。程序首先定義一個類。類的屬性是接收到的數(shù)據(jù)類型(即OPC Item),包括電壓、電流和溫度等參數(shù)。然后,程序定義一個鏈表(list)。鏈表的數(shù)據(jù)類型是類的屬性,每次接收到的數(shù)據(jù)就插入鏈表中。最后,程序設置一個定時器線程,把1 min接收到的所有數(shù)據(jù)插入數(shù)據(jù)庫中,同時清空鏈表,為接收新的數(shù)據(jù)作準備。
設備信息系統(tǒng)是MES的重要組成部分[8],主要功能有設備資產(chǎn)臺賬、設備定期維護計劃、設備大/中修記錄、設備維修履歷、設備參數(shù)運行趨勢等。管理者通過這個系統(tǒng),不僅可以了解設備的基本情況,還可以了解設備運行的歷史參數(shù),從而追溯產(chǎn)品質(zhì)量。
系統(tǒng)采用Web Service服務。與本地服務相比,Web Service服務具備平臺無關性、跨越防火墻以及編程語言無關性等優(yōu)勢[9],采用JAVA作為開發(fā)語言,具有面向?qū)ο蟆⒎植际?、解釋性、健壯、安全與系統(tǒng)無關、可移植、高性能、多線程和動態(tài)的特點[10],被廣泛應用于企業(yè)級Web應用開發(fā)和移動應用開發(fā)。
為了降低層與層之間的耦合度、減少數(shù)據(jù)互相干擾,本系統(tǒng)采用分層架構(gòu)開發(fā)。系統(tǒng)架構(gòu)分為數(shù)據(jù)層和應用層。
①數(shù)據(jù)層:OPC Server把數(shù)據(jù)存儲在MES數(shù)據(jù)庫,并在其中新建一個設備運行信息表。
②應用層:采用HTML實現(xiàn)靜態(tài)頁面設計與布局;采用JavaScript 創(chuàng)建動態(tài)頁面效果并與后端進行數(shù)據(jù)交互。
根據(jù)焊接鍋爐車間的業(yè)務需求,系統(tǒng)設計了設備資產(chǎn)臺賬、設備定期維護計劃、設備大/中修記錄、設備維修履歷、設備參數(shù)運行趨勢等功能模塊。其中,與OPC Server有緊密聯(lián)系的是設備資產(chǎn)臺賬模塊。
設備臺賬模塊記錄了設備的基本信息,包括資產(chǎn)編號、資產(chǎn)名稱、生產(chǎn)廠家等,通過資產(chǎn)編號、名稱等,能快速查找到用戶所需的設備;通過新增和刪除按鈕,可以增加新的設備和刪掉已淘汰的設備;通過導入按鈕,可以把Excel表格的設備信息導入系統(tǒng);通過導出按鈕,可以把設備信息導出到Excel表格中。
實體關系如圖4所示。
圖4 實體關系圖Fig.4 Entity relationship diagram
數(shù)據(jù)庫設計是整個系統(tǒng)的基礎和核心,直接影響到整個系統(tǒng)完成性的優(yōu)劣[11]。本系統(tǒng)采用SQL Server作為數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫設計分為三個階段。首先,通過需求分析得到所需設備的數(shù)據(jù)項,設計出能滿足用戶需求的實體、屬性,并找到實體與屬性之間的聯(lián)系。
其次,根據(jù)實體關系圖,確定以下數(shù)據(jù)庫表。
①設備基本信息表,包括資產(chǎn)編號、資產(chǎn)名稱、規(guī)格型號、生產(chǎn)廠家、投產(chǎn)日期、功率、設備狀態(tài)、使用情況、資產(chǎn)位置、一保周期、二保周期、歸口部門、使用部門、科目、驗收日期、資產(chǎn)原值。
②設備運行記錄表,包括資產(chǎn)編號、電壓、電流、溫度、電壓最大值、電壓最小值、電流最大值、電流最小值、發(fā)送時間。
最后,進行數(shù)據(jù)庫的物理結(jié)構(gòu)設計,確定兩個表中各字段的數(shù)據(jù)類型和長度、是否為空,以及兩個表的主鍵和外鍵值。其中:設備基本信息表的資產(chǎn)編號和資產(chǎn)名稱是主鍵,不能為空且資產(chǎn)編號是設備基本信息表的外鍵;設備運行記錄表的資產(chǎn)編號是主鍵,不能為空。
焊接數(shù)據(jù)采集系統(tǒng)主要應用在華西能源的焊接車間,以實現(xiàn)對車間的焊接設備的實時監(jiān)視。該采集系統(tǒng)主要實現(xiàn)了以下功能。
①焊機工作電壓和電流的實時采集并上傳。
②通過MES客戶端,查看當前數(shù)據(jù),并依據(jù)不同工藝需求可靈活配置無線焊接數(shù)據(jù)采集設備的焊接參數(shù)。
③通過對焊接參數(shù)查看界面的簡單配置,可查看歷史數(shù)據(jù),以實現(xiàn)焊縫質(zhì)量的可追溯性。
④根據(jù)需要,可方便地增減監(jiān)控點。
⑤當采集數(shù)據(jù)出現(xiàn)異常時,發(fā)出紅色信號警示;當節(jié)點斷網(wǎng)時,發(fā)出黃色信號警示。
焊接參數(shù)實時監(jiān)測系統(tǒng)包括重容車間和管子車間,能顯示實時信息和歷史信息。在監(jiān)測頁面,正在工作的焊接設備用綠燈顯示,沒有工作的設備用灰色表示。設備工作時,能實時顯示電壓、電流參數(shù),管理人員通過實時監(jiān)測系統(tǒng),對焊接設備工作情況能一目了然。
焊接設備的參數(shù)信息保存在MES的設備信息系統(tǒng)中,用戶可以依據(jù)不同工藝需求靈活配置焊接參數(shù),并下發(fā)給無線焊接數(shù)據(jù)采集設備,以控制現(xiàn)場的實際焊機工作;同時,用戶可以在MES客戶端查詢焊機的當前或歷史工作狀態(tài),為產(chǎn)品質(zhì)量追溯提供技術支撐。
系統(tǒng)采用OPC UA技術進行數(shù)據(jù)采集和接收,能迅速建立起各個焊機設備和MES的通信連接,解決了由于各種焊機的不同通訊協(xié)議使系統(tǒng)開發(fā)困難和成本上升的問題;采用JAVA技術開發(fā)設備信息系統(tǒng),使管理者能夠了解設備運行的歷史數(shù)據(jù),保證了質(zhì)量的可追溯性,也使得焊接作業(yè)的生產(chǎn)管理和質(zhì)量監(jiān)督及監(jiān)控逐步實現(xiàn)數(shù)字化。該研究對車間數(shù)字化生產(chǎn)起到了推動作用。