構築ブロック > ドメイン固有の構築ブロック > ステートマシン構築ブロック > コンフィギュレーション (ステートマシン構築ブロック)
コンフィギュレーション (ステートマシン構築ブロック)
PTC.StateMachineImpl.Manager Thing の 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": {}
}
}
}
}
これは役に立ちましたか?