西門子PLC緩存程序在發(fā)動機(jī)裝配生產(chǎn)中的應(yīng)用
1 PTMES簡介
1.1 PTMES概念
PTMES是動力總成制造執(zhí)行系統(tǒng)Power Train Manufacturing Execution System的簡稱,是一套面向制造企業(yè)車間執(zhí)行層的生產(chǎn)信息化管理系統(tǒng)。它建立了上層的計(jì)劃管理系統(tǒng)與底層的工業(yè)控制系統(tǒng)之間的聯(lián)系,可為操作人員與管理人員提供計(jì)劃的執(zhí)行、跟蹤功能,并顯示所有資源(人、設(shè)備、物料、客戶需求等)的當(dāng)前狀態(tài)。
PTMES可以為企業(yè)提供包括制造數(shù)據(jù)管理、計(jì)劃排產(chǎn)管理、生產(chǎn)調(diào)度管理、質(zhì)量管理、庫存管理、人力資源管理、工具工裝管理、工作中心/設(shè)備管理、成本管理、項(xiàng)目看板管理、生產(chǎn)過程控制、底層數(shù)據(jù)集成分析、上層數(shù)據(jù)集成分解等在內(nèi)的管理模塊[1],為企業(yè)打造一個可靠、全面、可行的制造協(xié)同管理平臺。
汽車發(fā)動機(jī)生產(chǎn)制造過程中,PTMES的數(shù)據(jù)采集傳送主要包括以下幾個方面:
1)發(fā)動機(jī)生產(chǎn)線自動化數(shù)據(jù):生產(chǎn)線上的各個工位通過設(shè)備和傳感器等自動采集數(shù)據(jù),包括零部件裝配情況、產(chǎn)品性能參數(shù)等,這些數(shù)據(jù)通過自動采集系統(tǒng)傳送到生產(chǎn)管理中心進(jìn)行實(shí)時(shí)監(jiān)測和分析。
2)質(zhì)檢數(shù)據(jù):質(zhì)檢部門針對汽車發(fā)動機(jī)進(jìn)行檢測和測試,通過數(shù)據(jù)采集儀器記錄檢測結(jié)果,實(shí)時(shí)傳送到生產(chǎn)管理中心進(jìn)行分析和處理。
3)物流數(shù)據(jù):物流部門通過RFID等物流管理系統(tǒng)對生產(chǎn)過程中的各個環(huán)節(jié)進(jìn)行追蹤和記錄,包括原材料采購、倉儲和運(yùn)輸?shù)拳h(huán)節(jié)的數(shù)據(jù)采集和傳送。
4)工人作業(yè)數(shù)據(jù):對生產(chǎn)線上的人工進(jìn)行工時(shí)、操作記錄等數(shù)據(jù)采集,通過工業(yè)互聯(lián)網(wǎng)將其及時(shí)傳送到生產(chǎn)管理中心進(jìn)行分析和優(yōu)化。
通過以上數(shù)據(jù)采集傳送,企業(yè)可以建立智能化生產(chǎn)管理系統(tǒng),從而實(shí)現(xiàn)生產(chǎn)過程數(shù)據(jù)信息的可追溯和產(chǎn)品質(zhì)量控制,提高生產(chǎn)效率和產(chǎn)品質(zhì)量。
1.2 PTMES的生產(chǎn)線自動化數(shù)據(jù)采集
PTMES采集NSE發(fā)動機(jī)(小型高功率發(fā)動機(jī))裝配線的生產(chǎn)數(shù)據(jù)信息包括:發(fā)動機(jī)的追溯號、精確子零件號(目前同追溯號)、鋼印號、在每個工位的生產(chǎn)時(shí)間、上線時(shí)間、下線時(shí)間等。NSE發(fā)動機(jī)裝配線從發(fā)動機(jī)上線工位。P10到最后一個工位。P1670(托盤清洗工位),共計(jì)167個加工工位,本文介紹的是PTMES在發(fā)動機(jī)生產(chǎn)線的自動化數(shù)據(jù)采集。
PTMES與西門子PLC[2]的通信主要是由。PC Server[3]這個應(yīng)用軟件執(zhí)行,在計(jì)算機(jī)上通過配置應(yīng)用軟件參數(shù)與PLC進(jìn)行數(shù)據(jù)交換。在這個項(xiàng)目中,PTMES主要采集PLC程序中數(shù)據(jù)塊DB270中的數(shù)據(jù),共計(jì)68字節(jié)。
PTMES會對每一臺新裝配的發(fā)動機(jī)在。P10上線工位建立一個單獨(dú)的文件夾(文件夾的命名是發(fā)動機(jī)追溯號、鋼印號等),發(fā)動機(jī)在整條裝配線裝配時(shí),每個工位的數(shù)據(jù)信息都填充到這個文件夾中。如果PTMES在。P10工位沒有采集到相關(guān)的數(shù)據(jù)信息,則無法建立文件夾,后續(xù)工位的數(shù)據(jù)信息也就沒有存放的位置,從而將導(dǎo)致發(fā)動機(jī)數(shù)據(jù)信息采集不完善。而發(fā)動機(jī)下線工位。P1650主要是發(fā)動機(jī)下線時(shí)的裝配數(shù)據(jù)信息的匯總。
2發(fā)動機(jī)裝配數(shù)據(jù)信息采集中的故障描述及分析
發(fā)動機(jī)裝配線在統(tǒng)計(jì)發(fā)動機(jī)數(shù)據(jù)信息時(shí),偶爾會發(fā)現(xiàn)PTMES記錄的發(fā)動機(jī)號缺失,導(dǎo)致裝配線統(tǒng)計(jì)只能以人工記錄為準(zhǔn)。
為了確保發(fā)動機(jī)每天上、下線信息的準(zhǔn)確,必須確保。P10發(fā)動機(jī)上線工位與。P1650下線工位信息100%傳輸?shù)絇TMES中。通過對缺失數(shù)據(jù)信息狀況的分析,圖1所示三種情況可能存在發(fā)動機(jī)數(shù)據(jù)信息漏傳。
1)在。P10與。P1650發(fā)動機(jī)上、下線工位,PTMES沒有成功采集到當(dāng)臺發(fā)動機(jī)的數(shù)據(jù)信息,系統(tǒng)中無法查詢發(fā)動機(jī)信息(以下簡稱“無信息”),判斷為此臺發(fā)動機(jī)信息已丟失,此時(shí)發(fā)動機(jī)整個上、下線的信息就會少一臺。
2)。P10無信息,。P1650有信息。在經(jīng)過。P1650工位后,PTMES會自動把OP10的信息補(bǔ)上去,但是上線時(shí)間和下線時(shí)間是一樣的,如果當(dāng)天上線裝配的發(fā)動機(jī)在第二天下線,則當(dāng)天上線的發(fā)動機(jī)會少統(tǒng)計(jì)一臺,第二天上線的發(fā)動機(jī)會多統(tǒng)計(jì)一臺的產(chǎn)量。
3)OP10有信息,OP1650無信息。在發(fā)動機(jī)成品報(bào)交時(shí),系統(tǒng)會自動檢測補(bǔ)上數(shù)據(jù)信息。
根據(jù)以上數(shù)據(jù)信息采集中的故障描述,首先要保證OP10上線工位的數(shù)據(jù)信息成功上傳,即在本工位的PLC中建立一個數(shù)據(jù)緩存程序,避免發(fā)動機(jī)數(shù)據(jù)在本工位因網(wǎng)絡(luò)延時(shí)等原因而發(fā)生錯傳、漏傳等現(xiàn)象。
3發(fā)動機(jī)數(shù)據(jù)信息上傳故障的解決方案
發(fā)動機(jī)數(shù)據(jù)信息缺失原因分析:發(fā)動機(jī)數(shù)據(jù)信息沒有成功上傳到PTMES主要是發(fā)動機(jī)數(shù)據(jù)信息在西門子PLC中保持的時(shí)間過短、網(wǎng)絡(luò)故障等通信不正常,導(dǎo)致公司的PTMES沒有采集到數(shù)據(jù)信息。
理想方案是解決網(wǎng)絡(luò)通信卡頓、延時(shí)等問題,使其始終保持網(wǎng)絡(luò)暢通[4],但導(dǎo)致網(wǎng)絡(luò)通信不正常的原因眾多,要完全解決該問題可能需耗費(fèi)大量的人力、物力。根據(jù)目前出現(xiàn)的故障分析,解決上述問題的另一個有效方法是在PLC程序中建立數(shù)據(jù)緩存程序,發(fā)動機(jī)數(shù)據(jù)信息經(jīng)過緩存區(qū)域,再依次上傳到PTMES中。
4 PLC程序中增加數(shù)據(jù)緩存功能
在西門子S7—300系列PLC程序中添加新的功能FC11、FC12、FC222、FC230及數(shù)據(jù)塊DB111(緩存數(shù)據(jù)塊)。PLC中編寫的緩存程序的主要功能:把發(fā)動機(jī)數(shù)據(jù)信息(共68字節(jié))依次傳送到PLC程序中的一個固定存儲區(qū)域DB111(容量設(shè)為存50條)進(jìn)行數(shù)據(jù)信息保存。PTMES與PLC網(wǎng)絡(luò)通信正常時(shí),緩存區(qū)域的數(shù)據(jù)信息會被迅速傳送到PTMES中;在通信不正常時(shí),PLC緩存區(qū)域中的發(fā)動機(jī)數(shù)據(jù)信息會不斷逐條累加,當(dāng)信息緩存數(shù)量達(dá)到20條時(shí),會觸發(fā)PLC報(bào)警,提示設(shè)備維修人員對網(wǎng)絡(luò)通信接口信號Data Receive BY Host及其他影響網(wǎng)絡(luò)通信的故障進(jìn)行處理;待網(wǎng)絡(luò)通信正常后,PLC程序?qū)⒅熬彺娴陌l(fā)動機(jī)數(shù)據(jù)信息按照先進(jìn)先出的原則逐個發(fā)送到數(shù)據(jù)接收位(DB270數(shù)據(jù)塊)中,供PTMES進(jìn)行數(shù)據(jù)采集,如圖2所示。
4.1功能FC11為數(shù)據(jù)緩存的主控制程序
1)利用PLC與PTMES上層網(wǎng)絡(luò)的I/O通信接口信號Data Receive BY Host(DB270.DBX1.7)與Data ReadY(DB270.DBX2.0),并根據(jù)通信功能,使每臺發(fā)動機(jī)信息在上傳時(shí)都要進(jìn)行一次“0”到“1”的跳變。
(1)PTMES的數(shù)據(jù)接收信號(現(xiàn)在PLC可以把發(fā)動機(jī)數(shù)據(jù)信息寫入PTMES):
Data Receive BY Host置“1”,Data ReadY置“0”。
(2)PLC通過OPC協(xié)議把發(fā)動機(jī)數(shù)據(jù)信息寫入PTMES時(shí):
Data Receive BY Host置“0”,Data ReadY置“1”。
(3)信息寫完后,PTMES反績信號給PLC:
Data Receive BY Host置“1”,Data ReadY置“0”。
2)在PLC程序中,當(dāng)前數(shù)據(jù)信息傳送到內(nèi)部緩存區(qū)域,與緩存數(shù)據(jù)傳送到PTMES,兩個執(zhí)行動作互鎖,不在同一時(shí)間進(jìn)行傳送,避免傳送干擾。
3)在PLC程序中,發(fā)動機(jī)數(shù)據(jù)信息先集中到數(shù)據(jù)DB110中,再通過功能FC12把DB110中的數(shù)據(jù)傳送到DB111中。
4)通過功能FC230把DB111中的數(shù)據(jù)傳送到DB270中,供PTMES采集。
5)在PLC程序中,設(shè)定緩存超過20條時(shí),啟動報(bào)警提醒人工故障檢修;緩存超過50條后,信息有溢出并丟失風(fēng)險(xiǎn)。
4.2功能FC12為數(shù)據(jù)傳送程序
發(fā)動機(jī)在當(dāng)前工位裝配合格放行時(shí),依靠功能FC222每次位移兩個字節(jié)的數(shù)據(jù),功能FC12會把DB110中68個字節(jié)的信息順序位移到緩存數(shù)據(jù)塊DB111中。例如,第一組發(fā)動機(jī)數(shù)據(jù)從DB110中位移到DB111數(shù)據(jù)塊的0~67字節(jié)(此時(shí)緩存數(shù)據(jù)的指針指向DB111.DBB68處)中:
1)PLC與PTMES網(wǎng)絡(luò)通信正常時(shí),發(fā)動機(jī)數(shù)據(jù)信息正常被采集,此時(shí)緩存數(shù)據(jù)的指針將減去68字節(jié),指向DB111.DBB0處,則下一臺發(fā)動機(jī)的數(shù)據(jù)將繼續(xù)傳送到DB111數(shù)據(jù)塊的0~67字節(jié)中。
2)網(wǎng)絡(luò)通信不正常時(shí),發(fā)動機(jī)數(shù)據(jù)信息無法被采集,此時(shí)緩存數(shù)據(jù)的指針將從DB111.DBB68開始向下68字節(jié),作為第二臺發(fā)動機(jī)的緩存數(shù)據(jù),依次類推,最多可存儲50臺份的發(fā)動機(jī)數(shù)據(jù)信息。
4.3功能FC222為數(shù)據(jù)位移子程序
數(shù)據(jù)傳送控制功能FC222的參數(shù)說明:
Source—DB—ID:源數(shù)據(jù)塊;
Source—R Pointer:源數(shù)據(jù)塊內(nèi)部的指針;Target—DB—ID:目標(biāo)數(shù)據(jù)塊;
Target—w Pointer:緩存數(shù)據(jù)的指針;
ERR。R ID:檢測數(shù)據(jù)塊的異常報(bào)警。
每個掃描周期中,源數(shù)據(jù)塊中指針指向的數(shù)據(jù)(2個字節(jié)),位移到目標(biāo)數(shù)據(jù)塊中指針指向的位置。
4.4功能FC230為數(shù)據(jù)傳送程序
1)把緩存數(shù)據(jù)塊DB111中的前68字節(jié)數(shù)據(jù)傳送到數(shù)據(jù)塊DB270中,供PTMES進(jìn)行數(shù)據(jù)信息采集。
2)PLC與PTMES通信不正常時(shí),緩存數(shù)據(jù)塊DB111累積存儲多臺發(fā)動機(jī)的信息,當(dāng)通信正常后,緩存中的發(fā)動機(jī)信息按先進(jìn)先出的原則逐個位移到DB270中,供PTMES采集。緩存在位移出第一臺發(fā)動機(jī)信息后,之后的發(fā)動機(jī)信息會依次向上位移68字節(jié),直到所有數(shù)據(jù)信息被PTMES采集完。
4.5設(shè)備運(yùn)行調(diào)試及驗(yàn)證
1)在。P10發(fā)動機(jī)上線工位中進(jìn)行測試,當(dāng)通信正常時(shí),發(fā)動機(jī)信息經(jīng)過緩存區(qū)域后直接被PTMES采集;當(dāng)通信不正常時(shí),發(fā)動機(jī)信息會依次存儲到數(shù)據(jù)緩存區(qū)域中,同時(shí)緩存區(qū)域內(nèi)存儲50臺份發(fā)動機(jī)信息后,緩存數(shù)據(jù)指針指向DB111.DBB3400,將不再存儲發(fā)動機(jī)信息,之后的發(fā)動機(jī)信息直接丟失;當(dāng)網(wǎng)絡(luò)通信再次恢復(fù)正常后,緩存中的發(fā)動機(jī)數(shù)據(jù)信息會按照先進(jìn)先出的原則,依次發(fā)送到DB270中,供PTMES采集。
2)建立緩存50臺發(fā)動機(jī)信息的緩存區(qū)域并實(shí)測,PLC的掃描周期穩(wěn)定在6~202 MS,PLC運(yùn)行正常。
3)NSE發(fā)動機(jī)裝配線。P10和。P1650兩個工位的PLC程序改造后,經(jīng)過半年的實(shí)測,設(shè)備運(yùn)行正常,因數(shù)據(jù)信息丟失發(fā)動機(jī)原始數(shù)據(jù)信息追溯不到的風(fēng)險(xiǎn)得到了有效控制,保證了發(fā)動機(jī)生產(chǎn)信息的精確追溯。
5結(jié)束語
西門子PLC緩存程序在發(fā)動機(jī)裝配生產(chǎn)中的應(yīng)用能夠有效解決工業(yè)產(chǎn)品在生產(chǎn)中由于網(wǎng)絡(luò)通信不穩(wěn)定造成的數(shù)據(jù)信息丟失問題,具有較高的使用價(jià)值和推廣潛力。