何 軍 卓惠華
摘要:OPC UA 協(xié)議作為工業(yè)通訊協(xié)議,憑借其具備的平臺獨(dú)立性、網(wǎng)絡(luò)兼容性和語言互通性,支持實(shí)時(shí)數(shù)據(jù)的采集與設(shè)備間通信的整合。本文詳述OPC UA 的核心特點(diǎn),并對該協(xié)議在減少汽車制造領(lǐng)域設(shè)備的停機(jī)時(shí)間、提高生產(chǎn)效率以及降低成本方面進(jìn)行探討?;贠PC UA 協(xié)議的數(shù)據(jù)采集與應(yīng)用系統(tǒng)可以實(shí)時(shí)跟蹤設(shè)備狀況,對設(shè)備進(jìn)行維護(hù)和管理,進(jìn)一步降低設(shè)備停線率,提高生產(chǎn)效率,為現(xiàn)代汽車制造業(yè)帶來了創(chuàng)新的解決方案。
關(guān)鍵詞:汽車制造;OPC UA ;數(shù)據(jù)采集;效率;設(shè)備維護(hù)
中圖分類號: TP391 文獻(xiàn)標(biāo)識碼:A
0 引言
全球制造業(yè)尤其是汽車行業(yè)的迅猛發(fā)展和競爭激烈,公司需要削減成本、增強(qiáng)生產(chǎn)效能和減少設(shè)備停工時(shí)間[1]。數(shù)據(jù)采集技術(shù)有助于提高設(shè)備運(yùn)行效率以及控制成本[2]。OPC UA 協(xié)議,作為工業(yè)自動化領(lǐng)域關(guān)鍵技術(shù)的組成部分,構(gòu)建安全且可信賴的數(shù)據(jù)交互機(jī)制。此協(xié)議支持各種硬件與軟件間的數(shù)據(jù)互換。借助此協(xié)議,公司可對生產(chǎn)線實(shí)施精確控制與即時(shí)監(jiān)督,有效減少設(shè)備故障頻次與停機(jī)時(shí)長,進(jìn)而提升生產(chǎn)力和經(jīng)濟(jì)效益。
本文描述了OPC UA 的數(shù)據(jù)采集與應(yīng)用系統(tǒng)細(xì)致規(guī)劃和執(zhí)行過程。文章特別指出此系統(tǒng)在汽車制造業(yè)中的應(yīng)用,如何有效減少生產(chǎn)設(shè)備的停機(jī)時(shí)間,提高生產(chǎn)效率。該系統(tǒng)通過KEPServerEX集成多種PLC 設(shè)備,實(shí)現(xiàn)數(shù)據(jù)的快捷接入與即時(shí)處理。
1 OPC UA 協(xié)議概述
1.1 OPC UA 協(xié)議簡介
OPC UA 是一種全球性的工業(yè)通信協(xié)議,在自動化系統(tǒng)中,用于數(shù)據(jù)交互與監(jiān)控。該協(xié)議為工業(yè)應(yīng)用提供一種高效、安全且可擴(kuò)展的通信方式[3]。
1.2 OPC UA 架構(gòu)
OPC UA 架構(gòu)主要基于以下幾個(gè)核心方面。
(1)Server and Client 模式: OPC Client 定義了Client 與Server 間的通訊方式。當(dāng)用戶端啟動對數(shù)據(jù)及服務(wù)的存取的請求時(shí),服務(wù)器會對數(shù)據(jù)及資源進(jìn)行管理,并解決安全問題[4]。
(2)會話層:會話層負(fù)責(zé)用戶和服務(wù)器間的聯(lián)系,保證通訊的連貫性和安全。
(3)服務(wù)集合:OPC 用戶終端提供讀、寫、瀏覽等一系列的服務(wù)[5]。
(4)信息化模塊:OPC UA 系統(tǒng)以信息模塊為中心,能夠根據(jù)需要定制不同的數(shù)據(jù)類型。
2 數(shù)據(jù)采集與應(yīng)用系統(tǒng)概述與技術(shù)選型
2.1 系統(tǒng)概述
該系統(tǒng)適用于汽車制造中的設(shè)備數(shù)據(jù)采集與監(jiān)測,需滿足以下基本要求。
(1)實(shí)時(shí)性:可以對 PLC 數(shù)據(jù)進(jìn)行實(shí)時(shí)的采集和處理。
(2)可靠性:要求整個(gè)系統(tǒng)能夠穩(wěn)定地工作,保證資料的完整、準(zhǔn)確。盡量避免因系統(tǒng)失效而造成的資料遺失或出錯。
(3)安全:保證數(shù)據(jù)在傳送時(shí)的安全性,不會有任何的泄漏。
(4)可擴(kuò)充性:該系統(tǒng)具有很好的可擴(kuò)充性,可以很容易地整合新的數(shù)據(jù)源。
2.2 技術(shù)選型
(1)KEPServerEX :選擇KEPServerEX 作為OPC 服務(wù)器,是因?yàn)樗С謴V泛的工業(yè)通信標(biāo)準(zhǔn),包括OPC UA,能夠與各種PLC 和控制系統(tǒng)通訊[6]。
(2)Python :Python 擁有強(qiáng)大的數(shù)據(jù)處理庫和簡潔的語法,便于實(shí)現(xiàn)數(shù)據(jù)處理邏輯。
(3)MySQL :選擇MySQL 作為數(shù)據(jù)庫系統(tǒng),是因?yàn)樗湫阅芨?、可靠性好、?yīng)用場景廣泛。
(4)帆軟軟件:作為數(shù)據(jù)可視化平臺,帆軟軟件提供強(qiáng)大的報(bào)表設(shè)計(jì)工具和豐富的可視化組件,數(shù)據(jù)展示更加直觀和實(shí)用。
3 數(shù)據(jù)采集系統(tǒng)與應(yīng)用系統(tǒng)實(shí)現(xiàn)
3.1 數(shù)據(jù)采集
3.1.1 PLC 程序編寫與配置
在可編程邏輯控制器(PLC)上編寫采集程序,實(shí)時(shí)監(jiān)控某臺機(jī)床的參數(shù)。這些實(shí)時(shí)計(jì)算的參數(shù)存儲在PLC 內(nèi)部的特定數(shù)據(jù)地址中。編寫程序時(shí)需確保能夠高效且穩(wěn)定地讀取和更新參數(shù),以便后續(xù)進(jìn)行數(shù)據(jù)采集和分析工作。
3.1.2 OPC UA 通道配置
在進(jìn)行數(shù)據(jù)采集之前,需要在KEPServerEX 軟件中配置與PLC 的連接。根據(jù)PLC 的品牌選擇合適的通道,并在該通道下添加一個(gè)指向需要采集數(shù)據(jù)的PLC 的設(shè)備。在設(shè)備配置中,需要輸入PLC 的IP 地址,并根據(jù)PLC 的型號和通訊協(xié)議設(shè)置相應(yīng)的參數(shù)。
完成與PLC 的通訊設(shè)置后,需要在設(shè)備上創(chuàng)建數(shù)據(jù)標(biāo)簽來指示需要采集的數(shù)據(jù)。這些數(shù)據(jù)標(biāo)簽可以根據(jù)需要進(jìn)行自定義命名,并輸入存儲在PLC 內(nèi)部的特定數(shù)據(jù)地址,以獲取相應(yīng)的數(shù)值。
接下來,在KEPServerEX 中新建OPC UA 通道,并配置適當(dāng)?shù)陌踩呗院驼J(rèn)證方法,以確保數(shù)據(jù)的安全傳輸。然后,在OPC UA 通道中導(dǎo)入在設(shè)備上創(chuàng)建的數(shù)據(jù)標(biāo)簽,將PLC 中的變量地址映射到OPC UA 節(jié)點(diǎn)(圖1)。
3.1.3 使用Python 進(jìn)行數(shù)據(jù)采集
通過利用Python 中的OPC UA 庫,可以創(chuàng)建一個(gè)連接到OPC UA 服務(wù)器的客戶端。這個(gè)客戶端需要配置一些基本信息,如服務(wù)器的IP 地址和端口號。一旦Python 程序成功地連接到服務(wù)器的URL,它就可以訪問到服務(wù)器上的數(shù)據(jù)節(jié)點(diǎn)。這些數(shù)據(jù)節(jié)點(diǎn)相當(dāng)于PLC 中變量地址在OPC UA 中的對應(yīng)節(jié)點(diǎn),對于監(jiān)控和分析工作至關(guān)重要。通過這種方式,Python 程序可以實(shí)時(shí)地獲取所需的數(shù)據(jù)。
3.2 數(shù)據(jù)處理
數(shù)據(jù)處理包括從原始數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)化和整理,以確保其在進(jìn)一步分析和儲存時(shí)的可利用性。這個(gè)環(huán)節(jié)對于數(shù)據(jù)的有效性和后續(xù)處理流程的效率具有關(guān)鍵性的影響。根據(jù)實(shí)際情況,每一個(gè)數(shù)據(jù)需要附加上時(shí)間標(biāo)簽、機(jī)床工位號標(biāo)識以及數(shù)據(jù)類型的信息,接著將這些經(jīng)過處理的數(shù)據(jù)整合成一個(gè)結(jié)構(gòu)化的列表。
3.3 數(shù)據(jù)存儲解決方案
MySQL 數(shù)據(jù)庫非常適合執(zhí)行大量數(shù)據(jù)的插入、查詢和事務(wù)處理。通過適當(dāng)?shù)脑O(shè)置和優(yōu)化,它可以應(yīng)對頻繁的數(shù)據(jù)請求。此外,MySQL 還支持水平擴(kuò)展,這意味著可以通過增加服務(wù)器數(shù)量來分散負(fù)載,從而增強(qiáng)處理能力。為高效地存儲和檢索采集過程中得到的數(shù)據(jù),需要設(shè)計(jì)結(jié)構(gòu)化的數(shù)據(jù)表。根據(jù)實(shí)際情況,該表應(yīng)該包含主鍵(ID)、時(shí)間(date_time)、工位號(station_name)、數(shù)據(jù)種類(category)和數(shù)值(data)等字段,表結(jié)構(gòu)如圖2 所示。
為了加快數(shù)據(jù)檢索速度,特別為時(shí)間字段設(shè)計(jì)B+ 樹索引。這種索引結(jié)構(gòu)特別適合處理時(shí)間序列數(shù)據(jù)的查詢,可以顯著提高范圍查詢的效率。數(shù)據(jù)處理完成后,會存儲到預(yù)先設(shè)計(jì)好的數(shù)據(jù)庫表中。
使用Python 的MySQL 驅(qū)動程序,建立與MySQL 數(shù)據(jù)庫的連接,編寫SQL 插入語句,將處理好的數(shù)據(jù)插入數(shù)據(jù)庫表格中。在插入數(shù)據(jù)過程中,實(shí)行異常處理機(jī)制,以處理可能出現(xiàn)的問題,如連接斷開或數(shù)據(jù)格式錯誤。
3.4 數(shù)據(jù)可視化
在數(shù)據(jù)收集和存儲任務(wù)完成后,將這些信息以易于理解的形式展示變得至關(guān)重要。使用帆軟軟件,一個(gè)功能強(qiáng)大的數(shù)據(jù)可視化工具,可以利用其出色的報(bào)表生成和圖形處理功能來實(shí)時(shí)展示和分析數(shù)據(jù)。通過帆軟的數(shù)據(jù)庫連接技術(shù),能夠通過JDBC 類接口與MySQL 數(shù)據(jù)庫無縫連接,實(shí)現(xiàn)數(shù)據(jù)的即時(shí)檢索和展示。數(shù)據(jù)可視化界面如圖3 所示。
3.4.1 配置數(shù)據(jù)庫連接
在帆軟軟件平臺上,我們建立一個(gè)新的數(shù)據(jù)源連接。首先,我們選擇JDBC(Java Database Connectivity)作為連接類型。接著,我們配置網(wǎng)絡(luò)連接屬性,包括輸入數(shù)據(jù)庫服務(wù)器的地址、選擇適當(dāng)?shù)亩丝谔?、指定?shù)據(jù)庫名稱、輸入登錄用戶名和密碼。
完成這些設(shè)置后,我們需要進(jìn)行連接測試,以確保網(wǎng)絡(luò)連接是正常的,并驗(yàn)證帆軟軟件能夠成功與數(shù)據(jù)庫交互。
3.4.2 編寫SQL 查詢
利用帆軟軟件的查詢編輯器,用戶可以編寫SQL 查詢語句,以提取需要展示的數(shù)據(jù)。為了符合特定的展示需求,需定制相應(yīng)的SQL 查詢。例如,若需查詢某一時(shí)間段內(nèi)各個(gè)機(jī)床工作站的電流和電壓數(shù)據(jù),需要制定一個(gè)專門的SELECT 查詢語句。
3.4.3 設(shè)計(jì)圖表和報(bào)表
使用帆軟軟件的圖表制作工具,我們可以將數(shù)據(jù)有效地轉(zhuǎn)換為圖形化表示。圖表類型是根據(jù)數(shù)據(jù)特征和展示目的來決定的,例如,我們可能會用到折線圖、柱狀圖或餅圖。通過細(xì)致調(diào)整圖表的顏色、標(biāo)記、圖例以及其他視覺元素,我們能顯著增強(qiáng)報(bào)告的視覺呈現(xiàn)效果。
3.5 數(shù)據(jù)應(yīng)用
3.5.1 確定預(yù)警閾值
在本系統(tǒng)中,設(shè)定閾值依靠對歷史數(shù)據(jù)的詳細(xì)分析及相關(guān)領(lǐng)域知識。閾值設(shè)定的具體步驟如下。
(1)收集歷史數(shù)據(jù):我們專注于兩種情況下的數(shù)據(jù),即設(shè)備正常運(yùn)行時(shí)與發(fā)生故障時(shí)。這些數(shù)據(jù)包括所有監(jiān)控設(shè)備的相關(guān)參數(shù),如電壓和電流。
(2)分析歷史數(shù)據(jù):使用收集到的數(shù)據(jù)進(jìn)行深入分析,確定設(shè)備正常操作的數(shù)據(jù)范圍和故障發(fā)生時(shí)的數(shù)據(jù)界限。計(jì)算數(shù)據(jù)的統(tǒng)計(jì)指標(biāo),如均值、中位數(shù)和標(biāo)準(zhǔn)差,幫助我們精確識別數(shù)據(jù)的正常波動區(qū)間。同時(shí),應(yīng)用散點(diǎn)圖、箱形圖等可視化工具直觀展示數(shù)據(jù)分布,幫助識別異常數(shù)據(jù)和趨勢。
(3)設(shè)定閾值:基于對歷史數(shù)據(jù)的細(xì)致研究和累積的實(shí)踐經(jīng)驗(yàn),我們設(shè)定了預(yù)警閾值。
3.5.2 實(shí)時(shí)預(yù)警與維護(hù)計(jì)劃優(yōu)化
在該系統(tǒng)中,實(shí)時(shí)監(jiān)控關(guān)鍵性能參數(shù),并將測得的數(shù)據(jù)與設(shè)定的預(yù)警閾值進(jìn)行比較,從而快速偵測可能的異常情況。系統(tǒng)配置自動警報(bào)功能,一旦檢測到超出閾值的參數(shù),就會自動向維修團(tuán)隊(duì)發(fā)送電子郵件或短信,通知他們相關(guān)參數(shù)及其當(dāng)前數(shù)值。這樣,維護(hù)團(tuán)隊(duì)可以迅速了解情況并采取必要的措施。相關(guān)的自動預(yù)警通知展示在圖4 中。
通過系統(tǒng),設(shè)備維護(hù)團(tuán)隊(duì)可以靈活調(diào)整和改進(jìn)他們的維護(hù)策略,確保在設(shè)備空閑或生產(chǎn)低谷期進(jìn)行必要的維護(hù)工作,以盡量減少對正常生產(chǎn)活動的影響。系統(tǒng)的實(shí)時(shí)監(jiān)控至關(guān)重要,它可以實(shí)時(shí)跟蹤設(shè)備的運(yùn)行狀況,幫助維護(hù)團(tuán)隊(duì)合理安排保養(yǎng)時(shí)間。這種做法不僅有助于防止意外故障,還能減少由于設(shè)備突然停機(jī)引發(fā)的經(jīng)濟(jì)損失,從而有效提高生產(chǎn)效率。
4 結(jié)束語
本文所研究的基于OPC UA 協(xié)議構(gòu)建的數(shù)據(jù)采集和應(yīng)用系統(tǒng),整合了數(shù)據(jù)采集、處理、存儲、可視化及實(shí)際應(yīng)用功能,強(qiáng)調(diào)OPCUA 協(xié)議在提升制造效率、減少設(shè)備故障和降低維護(hù)成本方面的核心價(jià)值。該系統(tǒng)可以實(shí)時(shí)監(jiān)測數(shù)據(jù),對異常狀態(tài)進(jìn)行及時(shí)預(yù)警,并支持制定預(yù)防性維護(hù)策略。此外,這項(xiàng)研究不僅提升了汽車制造的經(jīng)濟(jì)效益,還明確了將云計(jì)算和人工智能技術(shù)整合進(jìn)工業(yè)自動化系統(tǒng)中的途徑,極大地增強(qiáng)了工業(yè)自動化系統(tǒng)的智能化程度。
【參考文獻(xiàn)】
[1] 庹鵬, 鄧文亮, 黃杰. 基于工業(yè)網(wǎng)絡(luò)的發(fā)動機(jī)智能制造工廠裝備數(shù)據(jù)采集研究[J]. 內(nèi)燃機(jī),2023,39(06):16-22.
[2] 代亞男. 基于OPC UA 的智能工廠數(shù)據(jù)中心關(guān)鍵技術(shù)研究與應(yīng)用[D]. 西安理工大學(xué),2018.
[3] 梁超權(quán), 安曉飛, 劉俊鋒, 等. 基于OPC 通信協(xié)議的采煤機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)研究[J]. 煤礦機(jī)械,2024,45(04):201-204.
[4] 李金普, 韓佳起, 胡長霆. 基于OPCUA 協(xié)議的西門子PLC 設(shè)備故障監(jiān)測系統(tǒng)開發(fā)[J]. 科學(xué)技術(shù)創(chuàng)新,2021,(05):170-172.
[5] 楊仲強(qiáng), 孫運(yùn)淑, 楊興, 等. 基于OPC UA 在機(jī)測量數(shù)據(jù)自動采集技術(shù)研究[J]. 自動化應(yīng)用,2022,(06):13-17.
[6] 張蕾. 面向IIOT 的數(shù)字化車間數(shù)據(jù)通信研究及應(yīng)用[J]. 電子工業(yè)專用設(shè)備,2021,50(02):52-56.
作者簡介:
何軍,碩士,工程師,研究方向?yàn)槠囍悄苤圃?、?shù)字化運(yùn)營。
卓惠華,本科,助理工程師,研究方向?yàn)槠囍圃煸O(shè)備、智能制造。