開始使用 DPM > 設定資料自動化
設定資料自動化
DPM 自動化整合可讓 DPM 以接近即時的速度接收來自所連接產速設定者的資料。產速設定者是設定工作中心生產速度的工作單位。DPM 自動化整合支援工作單變更 (開始生產、停止生產或變更工作單)、生產與廢料計數,以及因機器代碼對應至 DPM 中的原因代碼而造成的設備可利用率事件。從已連接的產速設定者接收資料會導致 ThingWorx 中的內容發生變更。具有良好品質資料的所有內容變更都儲存在值串流中。每 5 分鐘一次,系統會以時間先後順序擷取這些交易,並將其寫入到 DPM 內的適當事件表中。
例如,配置所有資料自動化內容後,DPM 可接收在工作單上開始生產的資料。當工作單處於生產中時,可接收資料以新增工作單的生產計數與廢料計數、記錄機器的停機時間事件 (例如中止或電源中斷),及在機器返回運作中狀態時進行記錄。然後,DPM 可接收完成第一個工作單並開始下一個工作單生產的資料。
如果系統中斷連線不到 15 分鐘,則會捕捉在該時間內發生的事件。如果系統中斷連線超過 15 分鐘,則會略過超過 15 分鐘的事件。這是為了避免資料重複,因為操作員可能已經手動輸入了該時間的資料。若需進一步資訊,可參閱 手動資料輸入與自動資料輸入
欲設定 DPM 的資料自動化,請完成下列步驟:
1. 安裝資料來源並將其連接至 ThingWorx
如需有關 Kepware 的詳細資訊,可參閱 KEPServerEX Version 6 安裝指南
如需有關 Azure IoT Hub 的詳細資訊,請參閱 Azure IoT Hub Connector Help Center
2. ThingWorx Composer 中,建立或使用「工業連線」。欲建立新的「工業連線」,請使用 IndustrialGateway 物範本作為其「基礎物範本」來建立新物件。
3. 您可以在每個工作中心的產速設定者上配置資料自動化。其他設備類型 (企業、地區、場地、區域或工作中心) 無法自動化。
在產速設定者的工作單位物件上,完成下列步驟:
a. 將下列物形式新增至「已實行的形式」欄位中:
PTC.OperationKPI.AutomationEventsModelLogic_TS
IndustrialThingShape
b. 「值串流」欄位設定為 PTC.OperationKPI.Automation_VS
c. 「內容與警示」下,將 IndustrialThing 內容設定為步驟 2 中的「工業連線」。
d. 設定您要使用之資料自動化活動的內容。連結部份提供了有關下列每個內容的資訊:
e. 按一下「儲存」,儲存工作單位物件的變更。
4. 針對您要自動化的每個產速設定者,重複步驟 3。
5. 導覽至 PTC.OperationKPI.AutomationEventProcessor_TI 計時器。選取「已啟用」核取方塊,然後按一下「儲存」。如此會針對資料自動化啟動批次處理。
欲開始現有工作單
欲使用資料自動化開始現有工作單,請在 ThingWorx Composer 中完成下列步驟:
1. 在產速設定者之工作單位物件的「內容與警示」下,將 PTCJobOrderID 內容繫結至適當標籤。此內容接受 STRING 值。
2. 按一下「儲存」,儲存物件的變更。
PTCJobOrderID 內容值變更時,始終會開始指定工作單。如果內容變更時工作單目前正在執行,則會完成工作單,並開始新工作單。如果不存在具有該 ID 的工作單,則會為操作員顯示錯誤。工作單在「管理」「工作單」頁中建立。若需進一步資訊,可參閱 建立工作單
PTCJobOrderID 內容收到值 0 (PTCJobOrderIDNullValue 內容的預設值) 時,會完成目前正在執行的工作單,且不會開始新工作單。
如果操作員在 PTCJobOrderID 內容變更的時間戳記之後,透過開始生產停止生產來手動變更「生產儀表板」中工作單的狀況,則系統會略過內容變更並為操作員顯示錯誤。系統會在自動事件發生後進行處理,並假設操作員即時瞭解設備上發生的情況。
欲根據指定材料建立工作單
欲使用資料自動化根據指定材料建立工作單,也稱為材料執行,請在 ThingWorx Composer 中完成下列步驟:
1. 在產速設定者之工作單位物件的「內容與警示」下,將 PTCMaterialMasterID 內容繫結至適當標籤。此內容接受 STRING 值。
2. 按一下「儲存」,儲存物件的變更。
PTCMaterialMasterID 內容值變更時,會針對指定材料建立工作單,且預設目標數量為 1。如果此內容變更時工作單目前正在執行,則會完成工作單,並開始新建立的工作單。如果不存在與材料主檔 ID 相符的材料,則會擲回錯誤。
如果操作員在 PTCMaterialMasterID 內容變更的時間戳記之後,透過開始生產或停止生產來手動變更「生產儀表板」中工作單的狀況,則系統會略過內容變更並為操作員顯示錯誤。系統會在自動事件發生後進行處理,並假設操作員即時瞭解設備上發生的情況。
PTCMaterialMasterID 內容收到值 0 (PTCMaterialMasterIDNullValue 內容的預設值) 時,會完成目前正在執行的工作單,且不會開始新工作單。
欲更新工作單的目標數量
PTCTargetQuantity 內容可用來設定使用 PTCMaterialMasterID 內容建立之工作單的目標數量。此內容應始終在設定 PTCMaterialMasterID 內容之後設定。當此內容值變更時,系統會更新目前正在執行之工作單的目標數量。
* 
當有兩個後續材料以相同目標數量執行時,請在傳送第二個目標數量值之前重設 PTCTargetQuantity 內容,方法是傳送值 -1 (PTCTargetQuantityResetValue 內容的預設值)。系統再次接收相同值時不會將其視為資料變更。必須重設內容值,才能將第二個工作單的目標數量更新為與針對第一個工作單所設定相同的值。
欲使用資料自動化更新工作單的目標數量,請在 ThingWorx Composer 中完成下列步驟:
1. 在產速設定者之工作單位物件的「內容與警示」下,將 PTCTargetQuantity 內容繫結至適當標籤。
2. 按一下「儲存」,儲存工作單位物件的變更。
欲記錄生產計數
生產計數器會記錄產速設定者中發生的良品生產計數。總生產計數的計算方式為:良品生產計數加上廢料計數。
欲使用資料自動化記錄生產計數,請在 ThingWorx Composer 中完成下列步驟:
1. 在產速設定者之工作單位物件的「內容與警示」下,將 PTCProductionCount 內容繫結至適當標籤。此內容接受數值。
2. 支援絕對與變換生產計數器。依預設,生產計數器是絕對的。欲使生產計數器成為變換計數器,請將 PTCIsProductionCountRollover 內容設定為 TRUE,並將 PTCProductionRolloverCounter 內容設定為計數器的變換值。
* 
絕對計數器會在收到新計數時對其進行記錄。例如,如果收到的計數為 3、5 與 2,則記錄總數為 10。
變換計數器會記錄之前計數與新計數之間的差值,直到達到指定變換數值且計數器重設為止。當計數器重設時,它會記錄之前計數與變換數值之間的差值,以及新計數。例如:
變換計數器接收計數 0、2 與 5。收到 2 時,將記錄 2 (2 與 0 之間的差值)。收到 5 時,將記錄 3 (2 與 5 之間的差值)。
變換計數器接收計數 990、998、與 3,且變換數值為 999。收到 998 時,會記錄 8 (998 與 990 之間的差值)。收到 3 時,會記錄 4 (999 與 998 之間的差值,再加上新計數 3)。
當工作單位物件中的工作單變更時,變換計數器不會重設。
3. 依預設,生產計數器會從 0 開始。如果您要讓生產計數器以其他數值開始,請新增一列至 PTCLastAutomationProcessedValues 資料負載內容,使其具有下列值:
propertyNamePTCProductionCount
value - 您想要生產計數器開始的值。
jobOrderUid - DPM 會略過此欄位。
4. 按一下「儲存」,儲存工作單位物件的變更。
* 
針對絕對計數器,當存在兩個具有相同數值的後續生產計數時,需要在傳送第二個生產計數值之前重設 PTCProductionCount 內容,方法是傳送值 -1 (PTC.ProductionCountResetValue 內容的預設值)。系統再次接收相同值時不會將其視為資料變更。必須重設內容值,才能將具有相同值的第二個生產計數視為新生產計數。
欲記錄廢料計數
廢料計數器會記錄產速設定者中發生的廢料生產。單一產速設定者可以有多個廢料計數器。產速設定者的廢料計數是根據其所有廢料計數器的值計算所得。
DPM 中的每個廢料計數器都會對應至由產速設定者產生的單一廢料機器代碼。因此,如果您的產速設定者具有可以針對不同計數產生不同機器代碼的單一廢料計數器,您需要在資料來源中針對您要保留其計數的每個機器代碼建立一個具唯一性的廢料計數器標籤。
每個廢料機器代碼都會對應至 DPM 中的廢料原因代碼。
欲使用資料自動化記錄廢料計數,請完成下列步驟:
1. 驗證每個產速設定者上是否存在廢料機器代碼,以及是否已指派給適當的廢料原因代碼。機器代碼及其指派的原因代碼可在「設備清單」中工作單位之「機器代碼設定」標籤上的「管理」中檢視。
* 
如果機器代碼未出現在產速設定者上,或未對應至原因代碼,則會針對透過該機器代碼的資料自動化所接收的任何事件記錄事件類別 (eventCategory) 與損失類別 (reasonCategory) 值 Invalid。這些無效事件不會顯示在「生產儀表板」事件記錄檔中,不會新增至廢料計數,也不會在任何資料計算中予以考慮。
2. ThingWorx Composer 中,於產速設定者之工作單位物件的「內容與警示」下,針對您要保留其計數的每個廢料機器代碼建立一個內容。在 DPM 中,每個廢料內容都會被視為一個廢料計數器。
3. 支援絕對與變換廢料計數器。依預設,廢料計數器是絕對的。欲使產速設定者中的廢料計數器成為變換計數器,請將物件中的 PTCIsScrapCounterRollover 內容設定為 TRUE
* 
絕對計數器會在收到新計數時對其進行記錄。例如,如果收到的計數為 3、5 與 2,則記錄總數為 10。
變換計數器會記錄之前計數與新計數之間的差值,直到達到指定變換數值且計數器重設為止。當計數器重設時,它會記錄之前計數與變換數值之間的差值,以及新計數。例如:
變換計數器接收計數 0、2 與 5。收到 2 時,將記錄 2 (2 與 0 之間的差值)。收到 5 時,將記錄 3 (2 與 5 之間的差值)。
變換計數器接收計數 990、998、與 3,且變換數值為 999。收到 998 時,會記錄 8 (998 與 990 之間的差值)。收到 3 時,會記錄 4 (999 與 998 之間的差值,再加上新計數 3)。
當工作單位物件中的工作單變更時,變換計數器不會重設。
4. 更新 PTCScrapEventProperties 內容,使其包括您在步驟 2 建立的每個廢料內容。PTCScrapEventProperties 內容的值為資料負載。針對每個廢料內容,新增一列至資料負載,使其包含下列資訊:
propertyName - 廢料內容的名稱。
machineCode - 與廢料內容相關聯的機器代碼。
rolloverCounter - 變換值。如果工作單位物件中的 PTCIsScrapCountRollover 內容為 FALSE,會略過變換值。
reallocateFromGoodCount - 如果針對此內容接收的廢料計數需要從已經記錄的良品計數中重新分配,請選中此核取方塊 (TRUE)。如果針對此內容接收的廢料計數不需要從良品計數中重新分配,請勿選中此核取方塊 (FALSE)。
在確定是否需要從良品生產計數中重新分配廢料計數器所報告的廢料計數時,請考慮廢料計數器的位置。根據廢料計數器位於生產計數器中的實際相對位置,無論其在記錄良品計數之前還是之後,都可以記錄廢料計數。下圖顯示了一個簡單的範例,其中的產速設定者有兩個廢料計數器:廢料計數器 1 位於生產計數器之前,廢料計數器 2 位於生產計數器之後。
此圖表顯示了具有兩個廢料計數器與一個生產計數器的產速設定者。廢料計數器 1 位於生產計數器之前,廢料計數器 2 位於生產計數器之後。
當從廢料計數器 1 開始記錄廢料計數時,生產計數器尚未記錄良品計數。因此,不需要從良品計數中重新分配廢料計數。這種情況假設的是,由廢料計數器 1 計數的任何廢棄產品將不會包括在生產計數器所記錄的良品計數中。針對此廢料計數器,請將 reallocateFromGoodCount 設定為 FALSE
當從廢料計數器 2 開始記錄廢料計數時,生產計數器已經記錄良品計數。現在廢棄的任何產品都需要從良品計數中重新分配,因為它包括在生產計數器所記錄的良品計數中。針對此廢料計數器,請將 reallocateFromGoodCount 設定為 TRUE
* 
如果在 PTCScrapEventProperties 資料負載中未正確對應廢料內容和機器代碼,則會為針對該廢料內容接收的任何資料記錄具有事件類別 (eventCategory) 與損失類別 (reasonCategory) 值 Invalid 的事件。這些無效事件不會顯示在「生產儀表板」事件記錄檔中,不會新增至廢料計數,也不會在任何資料計算中予以考慮。
5. 依預設,每個廢料計數器都從 0 開始。如果您要讓廢料計數器以其他數值開始,請新增一列至 PTCLastAutomationProcessedValues 資料負載內容,使其具有下列值:
propertyName - 廢料內容的名稱。
value - 您想要廢料計數器開始的值。
jobOrderUid - DPM 會略過此欄位。
6. 針對您在步驟 2 建立的每個廢料內容,新增資料變更事件的訂閱。在「訂閱」之下點按「新增」。指定下列資訊:
「訂閱資訊」下,輸入訂閱的名稱,然後選取「已啟用」核取方塊。
「輸入」下,選取 DataChange 事件並選取您要為其建立訂閱之廢料內容的名稱。
在指令集編輯器中,貼上以下程式碼:
me.AddPTCValueStreamEntry({
propertyName: sourceProperty,
newEventData: eventData.newValue
});
按一下「完成」
7. 按一下「儲存」,儲存工作單位物件的變更。
* 
針對絕對計數器,當指定的廢料內容存在兩個具有相同數值的後續廢料計數時,需要在傳送第二個廢料計數值之前重設廢料內容,方法是傳送值 -1 (PTC.ScrapCountResetValue 內容的預設值)。系統再次接收相同值時不會將其視為資料變更。必須重設內容值,才能將相同廢料內容之具有相同值的第二個廢料計數視為新廢料計數。
* 
如果從產速設定者的工作單位物件中刪除廢料計數內容,您也必須將其從 PTCScrapEventProperties 內容中刪除。PTCScrapEventProperties 內容中列出之不存在的廢料計數內容可防止針對該物件處理值串流中的所有事件。
欲記錄設備可利用率事件
設備可利用率事件會透過接受來自對應至原因代碼之機器的機器代碼,來記錄機器目前所處的狀態。
欲使用資料自動化記錄設備可利用率事件,請完成下列步驟:
1. 驗證每個產速設定者上是否存在錯誤機器代碼,以及是否已指派給適當的原因。這包括「執行中」原因樹中獲指派原因代碼的「執行中」機器代碼。機器代碼及其指派的原因代碼可在「設備清單」中工作單位之「機器代碼設定」標籤上的「管理」中檢視。
* 
如果機器代碼未出現在產速設定者上,或未對應至指派給產速設定者之原因樹中的原因代碼,則會記錄事件,且原因代碼為「未知」
2. ThingWorx Composer 中,於每個產速設定者之工作單位物件的「內容與警示」下,將 PTCAvailabilityEventFaultCode 內容繫結至適當標籤。
3. 按一下「儲存」,儲存工作單位物件的變更。
這是否有幫助?