亚洲 国产专区 校园 欧美_国产成年无码V片在线_国产精品户露AV在线户外直播_美女裸照动态图

MES與PLC握手的五種方式

發(fā)布時(shí)間 : 2018-04-16     來(lái)源 : e-works

  方式1:定期抓取數(shù)據(jù)

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

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

  通常我們可以通過(guò)OPC軟件讀取這些數(shù)據(jù),經(jīng)過(guò)精度處理,然后定期寫入實(shí)時(shí)數(shù)據(jù)庫(kù)中。

  這些數(shù)據(jù)的特點(diǎn)是:讀取頻率高,數(shù)據(jù)變化小,因此存入數(shù)據(jù)庫(kù)時(shí)會(huì)存在大量重復(fù)的記錄,而實(shí)時(shí)數(shù)據(jù)庫(kù)提供數(shù)據(jù)壓縮的功能,特別適合此類數(shù)據(jù)的存儲(chǔ)。

  方式2:基于條件觸發(fā)

  有許多工藝參數(shù)(如螺栓的擰緊值)的收集,主要是用于事后的質(zhì)量追溯分析的,通常我們會(huì)定義一個(gè)觸發(fā)信號(hào)通知MES讀取。

  比如發(fā)動(dòng)機(jī)在某工位完成物理裝配作業(yè)后,PLC會(huì)把關(guān)鍵的工藝參數(shù)寫入數(shù)據(jù)交換區(qū),然后給DATA_READY信號(hào)置位。

  而MES會(huì)每隔1秒掃描監(jiān)聽DATA_READY信號(hào),當(dāng)此信號(hào)處于高位時(shí),則讀取數(shù)據(jù)交換區(qū)的質(zhì)量追溯數(shù)據(jù)。

  可參考下圖:

  圖1 定義一個(gè)觸發(fā)信號(hào)通知MES讀取

  具體握手過(guò)程為:

  1.發(fā)動(dòng)機(jī)完成某個(gè)裝配步驟,PLC寫入?yún)?shù)1。

  2.發(fā)動(dòng)機(jī)完成某個(gè)裝配步驟,PLC寫入?yún)?shù)2。

  3.發(fā)動(dòng)機(jī)完成所有物理裝配作業(yè),PLC將DATA_READY置位。MES讀取參數(shù)1、參數(shù)2。

  4.發(fā)動(dòng)機(jī)準(zhǔn)備離開當(dāng)前工位,PLC將所有數(shù)據(jù)復(fù)位。

  方式3:請(qǐng)求-響應(yīng)機(jī)制,1次握手

  這種方式和IT系統(tǒng)的MQ/WEB SERVICE等消息處理機(jī)制非常類似。

  如發(fā)動(dòng)機(jī)上線工位,MES給PLC下發(fā)工單,過(guò)程可參考下圖:

圖2 MES給PLC下發(fā)工單

  具體握手過(guò)程為:

  1.PLC在PLC_MSG寫入請(qǐng)求數(shù)據(jù),如工位,同時(shí)將REQUEST_SENT置位。

  2.MES掃描到REQUEST_SENT,讀取PLC_MSG,然后生成工單數(shù)據(jù),并寫入MES_MSG,同時(shí)將RESPONSE_SENT置位。

  3.PLC掃描RESPONSE_SENT,讀取MES_MSG并寫入本地?cái)?shù)據(jù)塊,然后將REQUEST_SENT和PLC_MSG復(fù)位。

  4.MES將所有數(shù)據(jù)和控制位復(fù)位。

  我們可以看出,整個(gè)數(shù)據(jù)交換的過(guò)程只發(fā)生了1個(gè)來(lái)回,即1-2步,而3-4步是將消息銷毀的動(dòng)作。

  這種方式還有一個(gè)特點(diǎn),就是封裝性好,同樣一個(gè)接口,既可以下發(fā)工單,也可以上傳過(guò)站數(shù)據(jù),區(qū)別在于PLC_MSG/MES_MSG里存儲(chǔ)的數(shù)據(jù)內(nèi)容不一樣。

  方式4:請(qǐng)求-響應(yīng)機(jī)制,2次握手

  同樣是發(fā)動(dòng)機(jī)上線的例子,過(guò)程可參考下圖:

圖3 發(fā)動(dòng)機(jī)上線

  具體握手過(guò)程為:

  1.PLC在PLC_MSG寫入請(qǐng)求數(shù)據(jù),如工位。

  2.PLC將REQUEST_SENT置位。

  3.MES掃描到REQUEST_SENT,讀取PLC_MSG,然后發(fā)送REQUEST_RECEIVED。

  4.MES生成工單數(shù)據(jù),并寫入MES_MSG。

  5.MES將RESPONSE_SENT置位。

  6.PLC掃描RESPONSE_SENT,讀取MES_MSG并寫入本地?cái)?shù)據(jù)塊,然后將RESPONSE_RECEIVED置位。

  7.MES掃描RESPONSE_RECEIVED,將所有數(shù)據(jù)和控制位復(fù)位。

  8.PLC將本地?cái)?shù)據(jù)和控制位復(fù)位。

  我們可以看出,整個(gè)過(guò)程相當(dāng)于進(jìn)行了2次握手,其中1-3步是第1次握手,用于接收請(qǐng)求;4-8步是第2次握手,用于下發(fā)數(shù)據(jù)。

  我們可以看出,方式4比方式3繁瑣很多,但是這種方式在實(shí)際項(xiàng)目中用得還非常多。這是因?yàn)橥暾憫?yīng)時(shí)間可能多達(dá)數(shù)秒,而PLC的掃描周期只有幾十毫秒,中間多出的狀態(tài)位可以作為狀態(tài)指示緩解工人等待的焦慮,也可以作為斷點(diǎn)方便通信調(diào)試。

  方式5:基于工位生產(chǎn)周期

  在一些工位,會(huì)有多個(gè)關(guān)鍵的業(yè)務(wù)過(guò)程,比如發(fā)動(dòng)機(jī)上線工位先上線,然后裝配,最后發(fā)送過(guò)站記錄。

  那么在一個(gè)完整的工位生產(chǎn)周期中,PLC需要和MES做2次數(shù)據(jù)交換,第1次下載工單,第2次上傳過(guò)站記錄,如下圖所示:

  圖4 多個(gè)關(guān)鍵的業(yè)務(wù)過(guò)程

  具體握手過(guò)程為:

  1.發(fā)動(dòng)機(jī)到達(dá),PLC給ENGINE_ARRIVAL置位。

  2.PLC檢查托盤、設(shè)備、物料,條件具備后將STATION_READY置位。

  3.MES將STATION_READY_RECEIVED置位。

  4.MES將工單數(shù)據(jù)寫入MES_DATA。

  5.MES將MES_DATA_SENT置位。

  6.PLC將MES_DATA寫入本地?cái)?shù)據(jù)塊,并將MES_DATA_RECEIVED置位。

  7.MES復(fù)位IT側(cè)所有數(shù)據(jù)和狀態(tài)位。

  8.PLC開始本工位的裝配作業(yè),并將發(fā)動(dòng)機(jī)序列號(hào)寫入ENGINE_SN。

  9.PLC裝配完成后,PLC將PLC_COMPLETE置位。

  10.MES將PLC_COMPLETE_RECEIVED置位。

  11.MES執(zhí)行過(guò)站邏輯,完成后將MES_COMPLETE置位。

  12.PLC將MES_COMPLETE_RECEIVED置位。

  13.MES復(fù)位IT側(cè)所有數(shù)據(jù)和狀態(tài)位。

  14.發(fā)動(dòng)機(jī)準(zhǔn)備離開,PLC將ENGINE_LEAVE置位。

  15.PLC復(fù)位所有數(shù)據(jù)和狀態(tài)位。

  我們可以看到,此方式非常繁瑣,但是優(yōu)點(diǎn)是:

  ●生產(chǎn)周期中的關(guān)鍵狀態(tài)都有體現(xiàn),可以很方便地通過(guò)HMI進(jìn)行監(jiān)控。

  ●PLC狀態(tài)對(duì)應(yīng)于實(shí)際的生產(chǎn)執(zhí)行情況,發(fā)生問題時(shí)容易追蹤。

  ●程序出錯(cuò)時(shí),可以很直觀地看到通信執(zhí)行到哪一步。

  另外,我們還應(yīng)理解,下載工單和上傳過(guò)站記錄都只是完整生產(chǎn)周期的一部分,并且有內(nèi)在的邏輯聯(lián)系,比如:在裝配的過(guò)程上發(fā)現(xiàn)缸體有問題,需要換一個(gè)缸體上線,此時(shí)由于MES還沒有接收到過(guò)站記錄,因此即使在第2次接收到STATION_READY信號(hào)時(shí),MES下發(fā)的仍舊是同一個(gè)工單,這樣就可以有效避免工單和發(fā)動(dòng)機(jī)序列號(hào)的損失。

【轉(zhuǎn)載請(qǐng)注明來(lái)源】

相關(guān)文章
明水县| 双辽市| 易门县| 兴文县| 定襄县| 龙岩市| 东兰县| 博兴县| 太保市| 柘城县| 利辛县| 柳州市| 连江县| 晴隆县| 隆化县| 嘉黎县| 本溪| 长武县| 宿州市| 温泉县| 桃园县| 诸城市| 安仁县| 拉孜县| 正镶白旗| 桂林市| 麻城市| 紫阳县| 隆尧县| 新河县| 汉沽区| 工布江达县| 宣威市| 太和县| 武义县| 新晃| 百色市| 紫阳县| 道真| 乌什县| 石阡县|