PackML — одинаковые состояния у разных машин
Модель состояний и теги обмена из ISA-TR88.00.02. Оператор и соседние узлы видят «работает», «на паузе», «авария» одинаково у машин разных производителей.
Модель состояний и словарь тегов
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. Команда переводит машину из ожидающего состояния в действующее; дальше переход идёт сам.
Интерфейс каждого узла линии
| Элемент PackML | У нас |
|---|---|
| Машина состояний | У каждого вида узла; узел без интерфейса в проект линии не входит — отказ словами |
| Complete | Конечный шаг программы SFC узла |
| Aborted | Авария оси — следящая ошибка; выход включён, а подтверждения нет — готовится |
| Режим Manual | Наладка приводов и осей; «Стоп» из него гасит станок |
| Stop и Abort | Одна команда «Стоп» во всех окнах |
| Command / Status | Теги проекта: связь «Status писателя → Command читателя», у связи один писатель |
| Удалённый интерфейс | Рукопожатия соседей; узел знает только свои теги, кто с кем связан — решает проект |
| Фазы с параметрами | Станок — тоже узел: фазы «загрузка, программа, выгрузка»; параметры фаз читаются и меняются извне |
Сигнал с периодом
Каждый сигнал описан один раз: имя, тип, писатель, читатели, род и период. Сигнал просрочен — логика узла сама уходит в безопасное состояние.
Изделие — отдельной связью
Материальная связь передаёт изделие, информационная — сигнал. Изделие по информационной связи не выдумывается.
Безопасность — не тег
Аварийный стоп, двери и завесы — отдельная аппаратная цепь; логика узла её только читает.
Интерфейс объявляет вид, соединяет проект
- Вид объявляет интерфейсМашина состояний, теги Command и Status, удалённый интерфейс, материальные порты, фазы, Admin.
- Экземпляр получает егоВаш узел наследует интерфейс вида; без интерфейса в проект не входит.
- Проект соединяетПровода на «Графе»: Status одного узла — в Command другого, один писатель на связь.
- Процедура командуетШаг процедуры ячейки — команда фазы узлу и ожидание её завершения по тегу.
- Пуск и стоп линииОдна кнопка по фактическому состоянию; авария узла видна линии как Aborted.
Что работает и что в работе
- РаботаетСостояния Complete и Aborted узла, одна команда «Стоп» во всех окнах, связи тегов на «Графе» проекта.
- В работеПолный интерфейс узла по PackML: все состояния, режимы и удалённый интерфейс у каждого вида.
- Предмет внедренияРабота интерфейса на вашей линии с узлами разных производителей.
Вопросы о PackML
Нужен ли PackML, если линия не упаковочная?
Модель состояний общая для любой машины. В SyncTwin интерфейс есть у каждого вида узла, включая станок: его фазы — загрузка, программа, выгрузка.
Что, если машина поставщика не говорит на PackML?
Узел без интерфейса в проект не входит — платформа отказывает словами. Отработка интерфейса для такого узла — часть исследования и фиксируется в техзадании внедрения.
Где видно состояние узла?
В лаборатории ПЛК — на нижней панели «Узел», в кокпите узла и на панели у оборудования; «Стоп» из любого окна — одна команда.
Обсудить внедрение
Расскажите, какие узлы на линии и как они договариваются сейчас — предложим этап НИОКР с ценой и сроком.
Запросить доступОбсудить внедрение
Опишите узел или линию — ответим, что проверим и в какой срок. Целевые показатели фиксируются в техзадании внедрения.
Запросить доступ