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