王磊 孫蘭芳


摘要:介紹了汽車發動機生產企業智能化系統中動力總成制造執行系統(Power Train Manufacturing Execution System,PTMES)應用于發動機裝配生產的工作原理,分析了發動機數據信息統計存在錯傳、漏傳等問題的原因,針對性地在西門子S7-300系列PLC中建立了緩存程序,有效解決了數據信息錯漏的問題,同時建立報警提醒,降低了發動機追溯數據無法查詢的風險,極大地改善了數據信息的穩定性。
關鍵詞:PTMES;PLC;數據漏傳;緩存
中圖分類號:TP274;U466? ? 文獻標志碼:A? ? 文章編號:1671-0797(2023)17-0009-04
DOI:10.19514/j.cnki.cn32-1628/tm.2023.17.003
1? ? PTMES簡介
1.1? ? PTMES概念
PTMES是動力總成制造執行系統Power Train Manufacturing Execution System的簡稱,是一套面向制造企業車間執行層的生產信息化管理系統。它建立了上層的計劃管理系統與底層的工業控制系統之間的聯系,可為操作人員與管理人員提供計劃的執行、跟蹤功能,并顯示所有資源(人、設備、物料、客戶需求等)的當前狀態。
PTMES可以為企業提供包括制造數據管理、計劃排產管理、生產調度管理、質量管理、庫存管理、人力資源管理、工具工裝管理、工作中心/設備管理、成本管理、項目看板管理、生產過程控制、底層數據集成分析、上層數據集成分解等在內的管理模塊[1],為企業打造一個可靠、全面、可行的制造協同管理平臺。
汽車發動機生產制造過程中,PTMES的數據采集傳送主要包括以下幾個方面:
1)發動機生產線自動化數據:生產線上的各個工位通過設備和傳感器等自動采集數據,包括零部件裝配情況、產品性能參數等,這些數據通過自動采集系統傳送到生產管理中心進行實時監測和分析。
2)質檢數據:質檢部門針對汽車發動機進行檢測和測試,通過數據采集儀器記錄檢測結果,實時傳送到生產管理中心進行分析和處理。
3)物流數據:物流部門通過RFID等物流管理系統對生產過程中的各個環節進行追蹤和記錄,包括原材料采購、倉儲和運輸等環節的數據采集和傳送。
4)工人作業數據:對生產線上的人工進行工時、操作記錄等數據采集,通過工業互聯網將其及時傳送到生產管理中心進行分析和優化。
通過以上數據采集傳送,企業可以建立智能化生產管理系統,從而實現生產過程數據信息的可追溯和產品質量控制,提高生產效率和產品質量。
1.2? ? PTMES的生產線自動化數據采集
PTMES采集NSE發動機(小型高功率發動機)裝配線的生產數據信息包括:發動機的追溯號、精確子零件號(目前同追溯號)、鋼印號、在每個工位的生產時間、上線時間、下線時間等。NSE發動機裝配線從發動機上線工位OP10到最后一個工位OP1670(托盤清洗工位),共計167個加工工位,本文介紹的是PTMES在發動機生產線的自動化數據采集。
PTMES與西門子PLC[2]的通信主要是由OPC Server[3]這個應用軟件執行,在計算機上通過配置應用軟件參數與PLC進行數據交換。在這個項目中,PTMES主要采集PLC程序中數據塊DB270中的數據,共計68字節。
PTMES會對每一臺新裝配的發動機在OP10上線工位建立一個單獨的文件夾(文件夾的命名是發動機追溯號、鋼印號等),發動機在整條裝配線裝配時,每個工位的數據信息都填充到這個文件夾中。如果PTMES在OP10工位沒有采集到相關的數據信息,則無法建立文件夾,后續工位的數據信息也就沒有存放的位置,從而將導致發動機數據信息采集不完善。而發動機下線工位OP1650主要是發動機下線時的裝配數據信息的匯總。
2? ? 發動機裝配數據信息采集中的故障描述及分析
發動機裝配線在統計發動機數據信息時,偶爾會發現PTMES記錄的發動機號缺失,導致裝配線統計只能以人工記錄為準。
為了確保發動機每天上、下線信息的準確,必須確保OP10發動機上線工位與OP1650下線工位信息100%傳輸到PTMES中。通過對缺失數據信息狀況的分析,圖1所示三種情況可能存在發動機數據信息漏傳。
1)在OP10與OP1650發動機上、下線工位,PTMES沒有成功采集到當臺發動機的數據信息,系統中無法查詢發動機信息(以下簡稱“無信息”),判斷為此臺發動機信息已丟失,此時發動機整個上、下線的信息就會少一臺。
2)OP10無信息,OP1650有信息。在經過OP1650工位后,PTMES會自動把OP10的信息補上去,但是上線時間和下線時間是一樣的,如果當天上線裝配的發動機在第二天下線,則當天上線的發動機會少統計一臺,第二天上線的發動機會多統計一臺的產量。
3)OP10有信息,OP1650無信息。在發動機成品報交時,系統會自動檢測補上數據信息。
根據以上數據信息采集中的故障描述,首先要保證OP10上線工位的數據信息成功上傳,即在本工位的PLC中建立一個數據緩存程序,避免發動機數據在本工位因網絡延時等原因而發生錯傳、漏傳等現象。
3? ? 發動機數據信息上傳故障的解決方案
發動機數據信息缺失原因分析:發動機數據信息沒有成功上傳到PTMES主要是發動機數據信息在西門子PLC中保持的時間過短、網絡故障等通信不正常,導致公司的PTMES沒有采集到數據信息。
理想方案是解決網絡通信卡頓、延時等問題,使其始終保持網絡暢通[4],但導致網絡通信不正常的原因眾多,要完全解決該問題可能需耗費大量的人力、物力。根據目前出現的故障分析,解決上述問題的另一個有效方法是在PLC程序中建立數據緩存程序,發動機數據信息經過緩存區域,再依次上傳到PTMES中。
4? ? PLC程序中增加數據緩存功能
在西門子S7-300系列PLC程序中添加新的功能FC11、FC12、FC222、FC230及數據塊DB111(緩存數據塊)。PLC中編寫的緩存程序的主要功能:把發動機數據信息(共68字節)依次傳送到PLC程序中的一個固定存儲區域DB111(容量設為存50條)進行數據信息保存。PTMES與PLC網絡通信正常時,緩存區域的數據信息會被迅速傳送到PTMES中;在通信不正常時,PLC緩存區域中的發動機數據信息會不斷逐條累加,當信息緩存數量達到20條時,會觸發PLC報警,提示設備維修人員對網絡通信接口信號Data Receive By Host及其他影響網絡通信的故障進行處理;待網絡通信正常后,PLC程序將之前緩存的發動機數據信息按照先進先出的原則逐個發送到數據接收位(DB270數據塊)中,供PTMES進行數據采集,如圖2所示。
4.1? ? 功能FC11為數據緩存的主控制程序
1)利用PLC與PTMES上層網絡的I/O通信接口信號Data Receive By Host(DB270.DBX1.7)與Data Ready(DB270.DBX2.0),并根據通信功能,使每臺發動機信息在上傳時都要進行一次“0”到“1”的跳變。
(1)PTMES的數據接收信號(現在PLC可以把發動機數據信息寫入PTMES):
Data Receive By Host置“1”,Data Ready置“0”。
(2)PLC通過OPC協議把發動機數據信息寫入PTMES時:
Data Receive By Host置“0”,Data Ready置“1”。
(3)信息寫完后,PTMES反饋信號給PLC:
Data Receive By Host置“1”,Data Ready置“0”。
2)在PLC程序中,當前數據信息傳送到內部緩存區域,與緩存數據傳送到PTMES,兩個執行動作互鎖,不在同一時間進行傳送,避免傳送干擾。
3)在PLC程序中,發動機數據信息先集中到數據DB110中,再通過功能FC12把DB110中的數據傳送到DB111中。
4)通過功能FC230把DB111中的數據傳送到DB270中,供PTMES采集。
5)在PLC程序中,設定緩存超過20條時,啟動報警提醒人工故障檢修;緩存超過50條后,信息有溢出并丟失風險。
4.2? ? 功能FC12為數據傳送程序
發動機在當前工位裝配合格放行時,依靠功能FC222每次位移兩個字節的數據,功能FC12會把DB110中68個字節的信息順序位移到緩存數據塊DB111中。例如,第一組發動機數據從DB110中位移到DB111數據塊的0~67字節(此時緩存數據的指針指向DB111.DBB68處)中:
1)PLC與PTMES網絡通信正常時,發動機數據信息正常被采集,此時緩存數據的指針將減去68字節,指向DB111.DBB0處,則下一臺發動機的數據將繼續傳送到DB111數據塊的0~67字節中。
2)網絡通信不正常時,發動機數據信息無法被采集,此時緩存數據的指針將從DB111.DBB68開始向下68字節,作為第二臺發動機的緩存數據,依次類推,最多可存儲50臺份的發動機數據信息。
4.3? ? 功能FC222為數據位移子程序
數據傳送控制功能FC222的參數說明:
Source_DB_ID:源數據塊;
Source_R pointer:源數據塊內部的指針;
Target_DB_ID:目標數據塊;
Target_W pointer:緩存數據的指針;
ERROR_ID:檢測數據塊的異常報警。
每個掃描周期中,源數據塊中指針指向的數據(2個字節),位移到目標數據塊中指針指向的位置。
4.4? ? 功能FC230為數據傳送程序
1)把緩存數據塊DB111中的前68字節數據傳送到數據塊DB270中,供PTMES進行數據信息采集。
2)PLC與PTMES通信不正常時,緩存數據塊DB111累積存儲多臺發動機的信息,當通信正常后,緩存中的發動機信息按先進先出的原則逐個位移到DB270中,供PTMES采集。緩存在位移出第一臺發動機信息后,之后的發動機信息會依次向上位移68字節,直到所有數據信息被PTMES采集完。
4.5? ? 設備運行調試及驗證
1)在OP10發動機上線工位中進行測試,當通信正常時,發動機信息經過緩存區域后直接被PTMES采集;當通信不正常時,發動機信息會依次存儲到數據緩存區域中,同時緩存區域內存儲50臺份發動機信息后,緩存數據指針指向DB111.DBB3400,將不再存儲發動機信息,之后的發動機信息直接丟失;當網絡通信再次恢復正常后,緩存中的發動機數據信息會按照先進先出的原則,依次發送到DB270中,供PTMES采集。
2)建立緩存50臺發動機信息的緩存區域并實測,PLC的掃描周期穩定在6~202 ms,PLC運行正常。
3)NSE發動機裝配線OP10和OP1650兩個工位的PLC程序改造后,經過半年的實測,設備運行正常,因數據信息丟失發動機原始數據信息追溯不到的風險得到了有效控制,保證了發動機生產信息的精確追溯。
5? ? 結束語
西門子PLC緩存程序在發動機裝配生產中的應用能夠有效解決工業產品在生產中由于網絡通信不穩定造成的數據信息丟失問題,具有較高的使用價值和推廣潛力。
[參考文獻]
[1] 李崇,倪曉光,李蒙蒙.汽車裝配制造執行系統(MES)的功能設計與描述[J].制造自動化,2011,33(23):155-156.
[2] 李道霖.電氣控制與PLC原理及應用[M].北京:電子工業出版社,2005.
[3] 李建陽.西門子PLC與上位機通信的多種解決方案[J].工業控制計算機,2018,31(1):151-152.
[4] 彭曉明.基于計算機網絡通信的技術故障成因及處理對策分析[J].電子技術與軟件工程,2014(1):50.
收稿日期:2023-02-15
作者簡介:王磊(1984—),男,江蘇沛縣人,工程師,主要從事電氣技術支持工作。