Справочник действий WorkFlow
Справочник описывает действия, доступные в панели действий редактора шаблонов миссий. Названия приведены так, как они отображаются в интерфейсе. Код используется в данных шаблона и при диагностике.
Действие «Начало» создаётся при выборе триггера и не отображается в панели действий после начала построения workflow.
Общие параметры панели — «Название действия», «Код» и блок «Информация о действии» — описаны в разделе «Общие» статьи «Параметры действий WorkFlow». В таблицах ниже они не повторяются.
Параметры, которые зависят от типа действия, описаны в той же статье.
Flow
| Действие | Код | Назначение |
|---|---|---|
| Начало | #start | Обозначает точку начала выполнения сценария миссии |
| Пауза | SleepNodeWorkflow | Приостанавливает выполнение сценария на заданную длительность. Используется для добавления временных задержек между операциями. |
| Если | #if | Проверяет условие и продолжает выполнение по соответствующей ветви. Используется для реализации условной логики в сценарии миссии. |
| Ошибка | #throw_error | Формирует ошибку и прерывает выполнение сценария. Используется для завершения выполнения при возникновении ошибочной ситуации. |
| Вернуть результат | ReturnResultActivity | Возвращает результат выполнения. Используется для передачи результата последующим действиям сценария миссии. |
Системные
| Действие | Код | Назначение |
|---|---|---|
| Выполнить шаблон миссии | MissionTemplateExecuteNodeWorkflow | Выполняет выбранный шаблон миссии. Используется для создания модульных и повторно используемых сценариев миссий. |
| Сообщение в лог | SystemLog | Записывает сообщение в лог. Используется для отладки, мониторинга и отслеживания выполнения сценариев миссий. |
| Установить переменные | SetVarsActivity | Задает переменные сценария и их значения. Используется для сохранения и передачи данных между действиями сценария миссии. |
| Выполнить JavaScript | EvalQjsNodeWorkflow | Выполняет JavaScript-код. Используется для реализации пользовательской логики и обработки данных в сценарии |
| Показать диалог | PromptNodeWorkflow | Показывает пользователю или группе диалог с кнопками. Используется для получения подтверждения или выбора действия во время выполнения сценария. |
| HTTP-запрос | HttpRequestNodeActivity | Выполняет HTTP-запрос и возвращает ответ. Используется для обмена данными с внешними системами и сервисами. |
AVG роботы
Название группы приведено так, как оно отображается в текущем интерфейсе.
| Действие | Код | Назначение |
|---|---|---|
| Транспортный ордер | DispatcherTransportOrderNodeWorkflow | Создает и выполняет транспортный ордер с заданными параметрами. Используется для перемещения груза между заданными точками. |
| Мгновенное действие | InstantActionNodeWorkflow | Выполняет мгновенное действие на роботе. Используется для отправки команд, не связанных с выполнением транспортного ордера. |
| Зарезервировать первого свободного робота | AcquireFirstFreeRobotActivity | Резервирует первого свободного робота, соответствующего заданным условиям и параметрам поиска. Зарезервированный робот блокируется для текущей миссии и недоступен для использования в других миссиях до его освобождения. |
| Освободить робота | ReleaseRobotActivity | Освобождает назначенного робота для дальнейшего использования. Используется после завершения операций, требующих закрепления робота. |
Оборудование
| Действие | Код | Назначение |
|---|---|---|
| Зарезервировать первый свободный паллетайзер | AcquireFirstFreePalletizerActivity | Резервирует первый свободный паллетайзер, соответствующий заданным условиям и параметрам поиска. Зарезервированный паллетайзер блокируется для текущей миссии и недоступен для использования в других миссиях до его освобождения. |
| Зарезервировать паллетайзер | AcquirePalletizerActivity | Резервирует паллетайзер по указанному ID и удерживает блокировку в течение заданного времени (TTL). Зарезервированный паллетайзер недоступен для использования в других миссиях до его освобождения или истечения времени блокировки. |
| Освободить паллетайзер | ReleasePalletizerActivity | Освобождает зарезервированный паллетайзер, делая его доступным для использования в других миссиях. |
Modbus
| Действие | Код | Назначение |
|---|---|---|
| Прочитать регистр | ReadRegister | Считывает значение одного регистра Modbus-устройства. Используется для получения данных с устройства. |
| Прочитать группу регистров | ReadRegisters | Считывает значения группы регистров Modbus-устройства. Используется для получения нескольких значений с устройства за одну операцию. |
| Записать регистр | WriteRegister | Записывает значение в один регистр Modbus-устройства. Используется для управления устройством или изменения его параметров. |
| Записать несколько регистров | WriteRegisters | Записывает значения в несколько регистров Modbus-устройства за одну операцию. Используется для одновременного изменения нескольких параметров устройства. |
Адреса, типы данных и возможность записи должны соответствовать Modbus Map оборудования.
OPC UA
| Действие | Код | Назначение |
|---|---|---|
| Прочитать узлы | OpcuaReadNodes | Считывает значения узлов OPC UA-устройства. Используется для получения данных с устройства. |
| Записать узлы | OpcuaWriteNodes | Записывает значения в узлы OPC UA-устройства. Используется для управления устройством или изменения его параметров. |
| Вызвать метод OPC UA | OpcuaCallMethod | Вызывает метод OPC UA с передачей входных параметров и получением выходных параметров. Используется для вызова функций устройства через интерфейс OPC UA. |
Уведомления
| Действие | Код | Назначение |
|---|---|---|
| Отправить email | SystemSendEmail | Отправляет письмо на указанный адрес электронной почты. |
Объекты данных
| Действие | Код | Назначение |
|---|---|---|
| Прочитать объект данных | ReadDataObjectActivity | Считывает объект данных по ID. Используется для получения данных произвольного формата, хранящихся в базе данных. |
| Записать объект данных | WriteDataObjectActivity | Записывает объект данных по ID. Используется для создания или обновления данных произвольного формата в базе данных. |
Рекомендации
- После действий резервирования (
Acquire...) предусматривайте соответствующее освобождение (Release...) во всех ветках, в которых ресурс больше не требуется. - Проверяйте готовность оборудования до отправки команды.
- Для явного аварийного завершения используйте действие «Ошибка».
- Повторяющиеся последовательности выносите в шаблон с триггером Child.
- Для динамических параметров используйте режим Expression.