淺談"MES與PLC"間如何"聯姻"!

在汽車製造行業,MES與設備層有深入的集成,而PLC集成是最主流的形式。本文主要介紹MES與PLC集成時的幾種握手方式及說明!

方式1:定期抓取數據

某些設備的關鍵工藝參數(如變速器軸齒熱處理爐的溫度)非常重要,需要定期抓取以生成實時曲線,及用於長期追溯分析。

這些工藝參數通常都是模擬量,數值始終不停地變化。

通常我們可以通過OPC軟件讀取這些數據,經過精度處理,然後定期寫入實時數據庫中。

這些數據的特點是:讀取頻率高,數據變化小,因此存入數據庫時會存在大量重複的記錄,而實時數據庫提供數據壓縮的功能,特別適合此類數據的存儲。

方式2:基於條件觸發

有許多工藝參數(如螺栓的擰緊值)的收集,主要是用於事後的質量追溯分析的,通常我們會定義一個觸發信號通知MES讀取。

比如發動機在某工位完成物理裝配作業後,PLC會把關鍵的工藝參數寫入數據交換區,然後給DATA_READY信號置位。

而MES會每隔1秒掃描監聽DATA_READY信號,當此信號處於高位時,則讀取數據交換區的質量追溯數據。

可參考下圖:

淺談


具體握手過程為:

  1. 發動機完成某個裝配步驟,PLC寫入參數1。
  2. 發動機完成某個裝配步驟,PLC寫入參數2。
  3. 發動機完成所有物理裝配作業,PLC將DATA_READY置位。MES讀取參數1、參數2。
  4. 發動機準備離開當前工位,PLC將所有數據復位。

方式3:請求-響應機制,1次握手

這種方式和IT系統的MQ/WEB SERVICE等消息處理機制非常類似。

如發動機上線工位,MES給PLC下發工單,過程可參考下圖:

淺談


具體握手過程為:

  1. PLC在PLC_MSG寫入請求數據,如工位,同時將REQUEST_SENT置位。
  2. MES掃描到REQUEST_SENT,讀取PLC_MSG,然後生成工單數據,並寫入MES_MSG,同時將RESPONSE_SENT置位。
  3. PLC掃描RESPONSE_SENT,讀取MES_MSG並寫入本地數據塊,然後將REQUEST_SENT和PLC_MSG復位。
  4. MES將所有數據和控制位復位。

我們可以看出,整個數據交換的過程只發生了1個來回,即1-2步,而3-4步是將消息銷燬的動作。

這種方式還有一個特點,就是封裝性好,同樣一個接口,既可以下發工單,也可以上傳過站數據,區別在於PLC_MSG/MES_MSG裡存儲的數據內容不一樣。

方式4:請求-響應機制,2次握手

同樣是發動機上線的例子,過程可參考下圖:

淺談


具體握手過程為:

  1. PLC在PLC_MSG寫入請求數據,如工位。
  2. PLC將REQUEST_SENT置位。
  3. MES掃描到REQUEST_SENT,讀取PLC_MSG,然後發送REQUEST_RECEIVED。
  4. MES生成工單數據,並寫入MES_MSG。
  5. MES將RESPONSE_SENT置位。
  6. PLC掃描RESPONSE_SENT,讀取MES_MSG並寫入本地數據塊,然後將RESPONSE_RECEIVED置位。
  7. MES掃描RESPONSE_RECEIVED,將所有數據和控制位復位。
  8. PLC將本地數據和控制位復位。

我們可以看出,整個過程相當於進行了2次握手,其中1-3步是第1次握手,用於接收請求;4-8步是第2次握手,用於下發數據。

我們可以看出,方式4比方式3繁瑣很多,但是這種方式在實際項目中用得還非常多。這是因為完整響應時間可能多達數秒,而PLC的掃描週期只有幾十毫秒,中間多出的狀態位可以作為狀態指示緩解工人等待的焦慮,也可以作為斷點方便通信調試。

方式5:基於工位生產週期

在一些工位,會有多個關鍵的業務過程,比如發動機上線工位先上線,然後裝配,最後發送過站記錄。

那麼在一個完整的工位生產週期中,PLC需要和MES做2次數據交換,第1次下載工單,第2次上傳過站記錄,如下圖所示:

淺談


具體握手過程為:

  1. 發動機到達,PLC給ENGINE_ARRIVAL置位。
  2. PLC檢查托盤、設備、物料,條件具備後將STATION_READY置位。
  3. MES將STATION_READY_RECEIVED置位。
  4. MES將工單數據寫入MES_DATA。
  5. MES將MES_DATA_SENT置位。
  6. PLC將MES_DATA寫入本地數據塊,並將MES_DATA_RECEIVED置位。
  7. MES復位IT側所有數據和狀態位。
  8. PLC開始本工位的裝配作業,並將發動機序列號寫入ENGINE_SN。
  9. PLC裝配完成後,PLC將PLC_COMPLETE置位。
  10. MES將PLC_COMPLETE_RECEIVED置位。
  11. MES執行過站邏輯,完成後將MES_COMPLETE置位。
  12. PLC將MES_COMPLETE_RECEIVED置位。
  13. MES復位IT側所有數據和狀態位。
  14. 發動機準備離開,PLC將ENGINE_LEAVE置位。
  15. PLC復位所有數據和狀態位。

我們可以看到,此方式非常繁瑣,但是優點是:

  • 生產週期中的關鍵狀態都有體現,可以很方便地通過HMI進行監控。
  • PLC狀態對應於實際的生產執行情況,發生問題時容易追蹤。
  • 程序出錯時,可以很直觀地看到通信執行到哪一步。

另外,我們還應理解,下載工單和上傳過站記錄都只是完整生產週期的一部分,並且有內在的邏輯聯繫,比如:在裝配的過程上發現缸體有問題,需要換一個缸體上線,此時由於MES還沒有接收到過站記錄,因此即使在第2次接收到STATION_READY信號時,MES下發的仍舊是同一個工單,這樣就可以有效避免工單和發動機序列號的損失。

--- THE END ---


分享到:


相關文章: