SyncTwinTECHNOLOGIES
Стандарт · PackML

PackML — одинаковые состояния у разных машин

Модель состояний и теги обмена из ISA-TR88.00.02. Оператор и соседние узлы видят «работает», «на паузе», «авария» одинаково у машин разных производителей.

Упрощённая машина состояний PackML Основной цикл: Idle, Starting, Execute, Completing, Complete, Resetting и снова Idle; из Execute — пауза Held; из любого состояния — Stopped по команде стоп и Aborted при аварии. Idle Starting Execute Completing Complete Resetting Held Stopped Aborted стоп и авария —из любого состояния
Что это

Модель состояний и словарь тегов

PackML описывает машину не устройством, а поведением: в каком она состоянии, какую команду может принять и что сообщает соседям. Модель выросла в упаковочной отрасли и закреплена в техническом отчёте ISA-TR88.00.02, который опирается на ISA-88.

Смысл простой: оператор, соседняя машина и система верхнего уровня видят «работает», «на паузе», «авария» одинаково у машин разных производителей. Интеграция сводится к обмену стандартными тегами, а не к разбору чужой логики.

  • Машина состоянийОдинаковые состояния и переходы у любой машины: ожидание, работа, пауза, завершение, стоп, авария.
  • РежимыПроизводство, обслуживание, ручной — у каждого свой набор разрешённых переходов.
  • Теги обменаCommand — что машине приказано, Status — что с ней, Admin — счётчики и аварии.
  • Рукопожатия с соседямиУзлы вверх и вниз по потоку договариваются через удалённый интерфейс.
Состояния

Ожидающие и действующие состояния

Состояния делятся на два рода. Ожидающее держится, пока не придёт команда. Действующее — с окончанием «-ing» — выполняет переход и само завершается, когда переход сделан.

ГруппаСостоянияЧто происходит
Основной циклIdle → Starting → Execute → Completing → Complete → ResettingОжидание, запуск, работа, завершение партии, возврат к ожиданию
Пауза по причине машиныHolding → Held → UnholdingВнутренняя причина: например, кончился материал в машине
Пауза по причине потокаSuspending → Suspended → UnsuspendingВнешняя причина: нет изделий на входе или занят выход
ОстановStopping → StoppedУправляемый останов по команде
АварияAborting → Aborted → ClearingАварийный останов из любого состояния и сброс причины

Команды модели: Reset, Start, Stop, Hold, Unhold, Suspend, Unsuspend, Abort, Clear. Команда переводит машину из ожидающего состояния в действующее; дальше переход идёт сам.

Теги

Три группы тегов обмена

Command

Что приказано машине: команда состояния, режим, параметры фазы. Пишет управляющий — процедура ячейки или соседний узел.

Status

Что с машиной сейчас: текущее состояние и режим, готовность узла и материала, фаза с параметрами. Пишет сама машина.

Admin

Учёт и диагностика: счётчики, аварии и предупреждения. Нужен производству, а не циклу.

Удалённый интерфейс

Рукопожатия с соседями вверх и вниз по потоку: запрос, готовность, подтверждение — «буфер не пуст», «робот: беру», «лента: отдала».

Режимы

Производство, обслуживание и ручной режим. Набор разрешённых состояний и команд у каждого режима свой.

Зачем всё это

Узлы разных производителей собираются в линию по одному словарю; новый узел добавляется без переделки соседей.

Как используем

Интерфейс каждого узла линии

Элемент PackMLУ нас
Машина состоянийУ каждого вида узла; узел без интерфейса в проект линии не входит — отказ словами
CompleteКонечный шаг программы SFC узла
AbortedАвария оси — следящая ошибка; выход включён, а подтверждения нет — готовится
Режим ManualНаладка приводов и осей; «Стоп» из него гасит станок
Stop и AbortОдна команда «Стоп» во всех окнах
Command / StatusТеги проекта: связь «Status писателя → Command читателя», у связи один писатель
Удалённый интерфейсРукопожатия соседей; узел знает только свои теги, кто с кем связан — решает проект
Фазы с параметрамиСтанок — тоже узел: фазы «загрузка, программа, выгрузка»; параметры фаз читаются и меняются извне

Сигнал с периодом

Каждый сигнал описан один раз: имя, тип, писатель, читатели, род и период. Сигнал просрочен — логика узла сама уходит в безопасное состояние.

Изделие — отдельной связью

Материальная связь передаёт изделие, информационная — сигнал. Изделие по информационной связи не выдумывается.

Безопасность — не тег

Аварийный стоп, двери и завесы — отдельная аппаратная цепь; логика узла её только читает.

Как узел входит в линию

Интерфейс объявляет вид, соединяет проект

  1. Вид объявляет интерфейсМашина состояний, теги Command и Status, удалённый интерфейс, материальные порты, фазы, Admin.
  2. Экземпляр получает егоВаш узел наследует интерфейс вида; без интерфейса в проект не входит.
  3. Проект соединяетПровода на «Графе»: Status одного узла — в Command другого, один писатель на связь.
  4. Процедура командуетШаг процедуры ячейки — команда фазы узлу и ожидание её завершения по тегу.
  5. Пуск и стоп линииОдна кнопка по фактическому состоянию; авария узла видна линии как Aborted.
Статус

Что работает и что в работе

  • РаботаетСостояния Complete и Aborted узла, одна команда «Стоп» во всех окнах, связи тегов на «Графе» проекта.
  • В работеПолный интерфейс узла по PackML: все состояния, режимы и удалённый интерфейс у каждого вида.
  • Предмет внедренияРабота интерфейса на вашей линии с узлами разных производителей.
Вопросы

Вопросы о PackML

Нужен ли PackML, если линия не упаковочная?

Модель состояний общая для любой машины. В SyncTwin интерфейс есть у каждого вида узла, включая станок: его фазы — загрузка, программа, выгрузка.

Что, если машина поставщика не говорит на PackML?

Узел без интерфейса в проект не входит — платформа отказывает словами. Отработка интерфейса для такого узла — часть исследования и фиксируется в техзадании внедрения.

Где видно состояние узла?

В лаборатории ПЛК — на нижней панели «Узел», в кокпите узла и на панели у оборудования; «Стоп» из любого окна — одна команда.

Обсудить внедрение

Расскажите, какие узлы на линии и как они договариваются сейчас — предложим этап НИОКР с ценой и сроком.

Запросить доступ
Следующий шаг

Обсудить внедрение

Опишите узел или линию — ответим, что проверим и в какой срок. Целевые показатели фиксируются в техзадании внедрения.

Запросить доступ

Внедрение →

Запросить доступ