Компоновочные блоки, специфичные для области > Компоновочный блок конечного автомата > Конфигурации (компоновочный блок конечного автомата)
Конфигурации (компоновочный блок конечного автомата)
Отдельные конечные автоматы определяются в таблице конфигураций StateMachineConfiguration вещи PTC.StateMachineImpl.Manager. В таблице представлены следующие поля.
stateMachineName: наименование конечного автомата. Должно быть уникальным.
dataShapeName: если конечный автомат связан с полем в профиле данных, то указывается наименование профиля данных.
fieldName: если конечный автомат связан с полем в профиле данных, то указывается наименование поля.
stateMachineConfiguration: код JSON, определяющий конечный автомат. Для каждого состояния в конечном автомате можно указать следующее:
initial: если значение true, когда состояние является изначальным.
final: если значение true, когда состояние является конечным.
transitions: допустимые переходы из этого состояния. Для данного перехода можно также указать следующее:
action: действие, которое может произойти при переходе.
event: событие, которое инициирует переход.
На значения action и event могут ссылаться службы, вызывающие конечный автомат.
Следующий пример кода является кодом JSON stateMachineConfiguration для конечного автомата JobOrderDispatchStatus, предоставленным компоновочным блоком порядка работы:
{
"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": {}
}
}
}
}
Было ли это полезно?