組態 (狀態機器建構區塊)
PTC.StateMachineImpl.Manager 物件中的 StateMachineConfiguration 組態表格是用於定義個別狀態機器所在的位置。此表格包含下列欄位:
• stateMachineName - 狀態機器的名稱。必須具唯一性。
• dataShapeName - 如果狀態機器與資料形式中的欄位相關聯,請指定資料形式名稱。
• fieldName - 如果狀態機器與資料形式中的欄位相關聯,請指定欄位名稱。
• stateMachineConfiguration - 定義狀態機器的 JSON 代碼。針對狀態機器中的每個狀態,您可以指定下列內容:
◦ initial - 如果 true,則狀態為初始狀態。
◦ final - 如果 true,則狀態為最終狀態。
◦ transitions - 來自此狀態的有效轉移。對於指定的轉移,您也可以指定下列內容:
▪ action - 發生轉移時可能發生的動作。
▪ event - 觸發轉移的事件。
action 與 event 值可由呼叫狀態機器的服務參考。
以下範例代碼是由
工作單建構區塊提供之
JobOrderDispatchStatus 狀態機器的
stateMachineConfiguration JSON 代碼:
{
"states": {
"Dispatched": {
"initial": true,
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Canceled": {},
"Pending": {}
}
},
"Held": {
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Completed": {},
"Canceled": {}
}
},
"Running": {
"transitions": {
"Held": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
},
"Completed": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
}
}
},
"Completed": {
"final": true
},
"Canceled": {
"final": true
},
"Pending": {
"initial": true,
"transitions": {
"Dispatched": {},
"Canceled": {}
}
}
}
}