何森 王釩旭
摘 要:目前,在主流汽車廠總裝車間,生產(chǎn)效率達(dá)到60JPH以上,節(jié)拍緊、停臺(tái)壓力大。提取設(shè)備數(shù)據(jù)、實(shí)現(xiàn)設(shè)備狀態(tài)監(jiān)控,通過機(jī)器學(xué)習(xí)實(shí)現(xiàn)智能分析、判斷、預(yù)測,可降低設(shè)備故障率和設(shè)備維修人員數(shù)量。一汽-大眾佛山總裝一車間(以下簡稱“總一車間”)采用“西門子PLC+樹莓派4B+Snap7協(xié)議庫+Python編程語言”方案,成功實(shí)現(xiàn)了5處數(shù)字化場景。同時(shí)基于車間擰緊數(shù)據(jù),應(yīng)用機(jī)器學(xué)習(xí)技術(shù),實(shí)現(xiàn)擰緊過程的智能監(jiān)控、自動(dòng)故障識(shí)別。
關(guān)鍵詞:設(shè)備狀態(tài)監(jiān)控;機(jī)器學(xué)習(xí);樹莓派;Python;PLC
1 方案
1.1 基于樹莓派及Snap7的低成本西門子PLC數(shù)據(jù)采集
總一車間采用“西門子PLC+樹莓派4B+Snap7協(xié)議庫+Python編程語言”的數(shù)據(jù)采集方案,新增核心硬件樹莓派的價(jià)格控制在400元以下,涉及的操作系統(tǒng)及開發(fā)軟件均為開源免費(fèi)。
確定方案后,需進(jìn)行Python-Snap7在樹莓派硬件中l(wèi)inux環(huán)境配置。
正式與PLC通訊前,需對PLC進(jìn)行配置和權(quán)限的設(shè)置:給予完全訪問權(quán)限,開放其自身讀寫權(quán)限。另外需要開啟“允許來自遠(yuǎn)程對象的PUT/GET通信訪問”。
用python語言進(jìn)行Snap7 客戶端編程的流程:
(1)腳本文件中添加庫;
(2)創(chuàng)建客戶端類對象,連接PLC;
(3)連接成功后,開始定時(shí)讀取操作;
(4)添加Snap7庫:import snap7;
(5)創(chuàng)建客戶端語句:plc=snap7.client.Client();
(6)連接plc:plc.connect("ip",rack,solt)。
解析數(shù)據(jù):由于使用read_area()和db_read()所讀出的源數(shù)據(jù)為二進(jìn)制數(shù)據(jù),即字節(jié)數(shù)組格式bytearray,故需對其解析,才能轉(zhuǎn)換為目標(biāo)格式。
1.2 基于大數(shù)據(jù)機(jī)器學(xué)習(xí)的擰緊質(zhì)量監(jiān)控系統(tǒng)
總一車間安裝了268套自動(dòng)擰緊設(shè)備,自2012年量產(chǎn)后存儲(chǔ)了大量擰緊數(shù)量,在此基礎(chǔ)上引入機(jī)器學(xué)習(xí)技術(shù),實(shí)現(xiàn)擰緊異常的自動(dòng)判斷,及不合格原因的自動(dòng)分析判別。
自學(xué)習(xí)系統(tǒng)整體流程如下:
(1)采用K-Means聚類算法,對歷史數(shù)據(jù)螺栓擰緊曲線進(jìn)行聚類操作,獲取異常數(shù)據(jù)的異常種類;
(2)分場景對歷史數(shù)據(jù)進(jìn)行邊緣檢測算法,找出每個(gè)場景下螺栓擰緊曲線分布,構(gòu)建曲線分布區(qū)域模型,以診斷曲線是否正常;
(3)采用第一步聚類后,獲取的帶有異常種類的數(shù)據(jù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型;
(4)對于異常曲線,提取曲線數(shù)值特征后,采用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型;
(5)每隔一段時(shí)間,根據(jù)人工驗(yàn)證反饋數(shù)據(jù),自動(dòng)優(yōu)化和訓(xùn)練螺栓擰緊曲線分布區(qū)域模型和神經(jīng)網(wǎng)絡(luò)模型;
(6)新螺栓類型擴(kuò)展:當(dāng)數(shù)據(jù)庫中出現(xiàn)一種新的螺栓擰緊數(shù)據(jù),診斷系統(tǒng)會(huì)對數(shù)據(jù)進(jìn)行解析匹配,使用一定量的數(shù)據(jù)生成螺栓擰緊曲線區(qū)域檢測模型,然后采用通用模型對異常曲線進(jìn)行異常分類;
(7)新異常類型擴(kuò)展:如果發(fā)現(xiàn)一種新的螺栓異常種類,在數(shù)據(jù)庫中積累一定的該異常類型的數(shù)據(jù),重新訓(xùn)練生成一個(gè)通用異常分類診斷模型。在診斷系統(tǒng)繼續(xù)運(yùn)行過程中,根據(jù)反饋和調(diào)整,再為每種螺栓類型訓(xùn)練生成專用異常分類診斷模型。
2 成果
2.1 設(shè)備運(yùn)行數(shù)據(jù)集中采集監(jiān)控
設(shè)備監(jiān)控主要有兩個(gè)方面:一是及時(shí)準(zhǔn)確地獲取設(shè)備的最新狀態(tài),對設(shè)備狀態(tài)進(jìn)行分析記錄,包括電機(jī)電流、溫度、轉(zhuǎn)速,為后續(xù)設(shè)備維護(hù)保養(yǎng)提供決策,降低停臺(tái)和維修人員數(shù)量。二是及時(shí)獲取設(shè)備上實(shí)時(shí)儲(chǔ)存的與產(chǎn)品相關(guān)的數(shù)據(jù),用以監(jiān)控生產(chǎn)過程,分析追溯質(zhì)量缺陷,提高質(zhì)量。
總一車間基于上述方案,目前開發(fā)了以下5處應(yīng)用場景。
2.1.1 輥道線及舉升機(jī)驅(qū)動(dòng)電機(jī)電流實(shí)時(shí)監(jiān)控
利用SEW變頻器預(yù)留字實(shí)現(xiàn)PLC讀取電機(jī)電流值存入DB塊,再用python-Snap7編程創(chuàng)建客戶端,將數(shù)據(jù)存入MySQL數(shù)據(jù)庫的同時(shí),在中央上位機(jī)進(jìn)行實(shí)時(shí)可視化。目前成功的預(yù)判了多處舉升機(jī)電流異常,及時(shí)處理,避免了重大停臺(tái)。
2.1.2 車間全車間輸送線車輛實(shí)時(shí)定位
利用python-snap7獲取車間各處設(shè)備PLC堆棧中存儲(chǔ)的車輛kenn碼數(shù)據(jù)后,從fis數(shù)據(jù)庫查找對應(yīng)的車輛fis數(shù)據(jù),還原出大線所有工位對應(yīng)的實(shí)時(shí)車輛信息,編寫成網(wǎng)頁動(dòng)態(tài)顯示,一眼就能看到檢索車輛的具體位置。該系統(tǒng)預(yù)計(jì)每年能減少鎖定問題車輛所在工位所花費(fèi)時(shí)間15小時(shí)/年,同時(shí)減少質(zhì)量成本。
2.1.3 前束檢測設(shè)備節(jié)拍實(shí)時(shí)顯示
總一車間前束檢測設(shè)備共有5個(gè)檢測口,每個(gè)檢測口的檢測時(shí)間均不一致(檢測時(shí)間取決于被檢測車輛)。總裝一車間通過在各檢測口增加傳感器,利用python-snap7獲取傳感器數(shù)據(jù),編寫QT界面程序,并嵌入返修合格率網(wǎng)頁,采用低成本的樹莓派作為現(xiàn)場嵌入式主機(jī),展示前束檢測實(shí)時(shí)時(shí)間車數(shù)及合格率展示于現(xiàn)場電視屏幕上。實(shí)施后節(jié)約單車排隊(duì)時(shí)間約15 s。
2.1.4 車身吊具驅(qū)動(dòng)電機(jī)溫度實(shí)時(shí)監(jiān)控
總一車間共有可升降車身吊具95臺(tái)。針對電機(jī)抱閘損壞、吊具行走輪損壞等問題,借助測量電機(jī)溫度可以間接地暴露異常。
通過在現(xiàn)場安裝測溫儀、模擬量模塊并進(jìn)行布線,在線測量車身吊具電機(jī)溫度并寫入PLC,利用python-snap7庫獲取PLC中的實(shí)時(shí)溫度數(shù)據(jù),用PyQT5庫制作成可視化界面方便維修人員集中監(jiān)控,實(shí)施后提前發(fā)現(xiàn)故障、減少停臺(tái)45 min/年。
2.1.5 PGD天窗涂膠設(shè)備計(jì)量泵狀態(tài)實(shí)時(shí)監(jiān)控
總一車間將基于樹莓派及Snap7設(shè)備數(shù)據(jù)采集方案運(yùn)用至工藝涂膠設(shè)備核心部件計(jì)量泵的運(yùn)行狀態(tài)監(jiān)控,實(shí)時(shí)采集計(jì)量泵的填充進(jìn)度、壓力、電流、轉(zhuǎn)速和溫度,及車輛底盤號(hào),啥時(shí)候減少停臺(tái)40 min/年。
2.2 擰緊大數(shù)據(jù)機(jī)器學(xué)習(xí)質(zhì)量診斷系統(tǒng)
總一車間開發(fā)的擰緊曲線自學(xué)習(xí)質(zhì)量監(jiān)控系統(tǒng),經(jīng)過一年多的訓(xùn)練及優(yōu)化,已經(jīng)學(xué)習(xí)了10 w+條數(shù)據(jù),聚類出了30種異常類型。目前已有13種螺栓場景異常類型準(zhǔn)確率保持在99%以上。螺栓診斷服務(wù)的速度在0.15~0.2 s每條。實(shí)現(xiàn)擰緊異常原因的自動(dòng)分析判別,減少經(jīng)驗(yàn)依賴,減低質(zhì)量風(fēng)險(xiǎn),提升擰緊質(zhì)量問題的分析效率。