Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В быту мы часто используем автоматические последовательности (АП), но даже не задумываемся об этом. Потому что обычно это проходит быстро и без вау-эффекта. Но совсем другое дело на производстве, или при запуске ракет с кучей орбитальных спутников на борту, или в кино.
Но вернемся в реальность и рассмотрим применение АП на производстве. Меня зовут Константин Семаков, в «Северстали» я создаю и настраиваю автоматические последовательности для агрегатов. Хочу поделиться своим опытом: как мы создаем автоматические последовательности и настраиваем их, находим ошибки и ускоряем работу оборудования.
Пару слов об автоматических последовательностях
АП ускоряют процессы производства, уменьшают вероятность человеческой ошибки, позволяют операторам избавиться от рутины и только контролировать процесс. По факту, это программа, которая работает на контроллерах промышленного оборудования. Она отправляет команды механизмам, получает от них обратную связь и принимает решение, какой шаг выполнить дальше.
В статье я буду говорить именно о создании и настройке АП, но не буду заострять внимание на их программировании. Я понимаю, что для проектирования АП нужно учитывать принципы работы конкретного оборудования, его возможности и ограничения. Но в рамках этой статьи я не буду глубоко в это погружаться, потому что это тема для отдельного поста.
Режим создателя: как появляются автоматические последовательности
Создание АП — сложный и трудоемкий процесс. Чтобы создать автоматическую последовательность, нужно пройти несколько этапов.
Разработать структуру. Пожалуй, самый интересный этап, потому что во время разработки структуры нужно хорошо понять процесс, который предстоит автоматизировать. Нужно изучить оборудование, этапы процесса и пообщаться с операторами, которые руками управляют этим процессом уже не первый год. Нужно сложить всю картинку в голове, понять, как это можно автоматизировать, и возможно, сразу искать узкие места для оптимизаций.
Но ничего страшного, если с первого раза получится не самое оптимальное решение. Некоторые АП доводятся до идеала годами. Другие приходится постоянно переделывать из-за изменения технологического процесса.
Например, вот так может выглядеть структура АП. Мы не можем показать конкретные надписи и названия узлов, но этого достаточно для общего понимания возможной структуры.
Подобрать контроллер. Нужно выбрать правильный контроллер, чтобы он обладал необходимыми возможностями и достаточной мощностью. Обычно при выборе учитывают несколько критериев:
цена;
качество и надежность;
предпочтения по производителю оборудования;
общее количество входной и выходной информации (сетевые обмены с другими контроллерами, датчики, исполнительные механизмы);
предполагаемый объем программы;
допустимое время цикла, при управлении скоротечными процессами.
Учесть обратную связь от оборудования. Все механизмы, задействованные в АП, должны быть оборудованы датчиками. Это позволит получать информацию о состоянии оборудования, положении отдельных механизмов и т.п. Без этого АП будет действовать как слепой котенок: выполнять указанные действия, не учитывая текущей ситуации.
Также рекомендую сохранять логи ошибок каждого механизма и настроить систему визуализации этих журналов. В последствии это поможет быстрее разбираться в проблемах, которые обязательно будут.
Определить условия запуска. Необходимо определить список начальных условий, без которых АП не запустится. Это нужно для того, чтобы АП работала с учетом текущей ситуации. Вот несколько примеров таких условий:
изделие находится в исходной точке;
все механизмы находятся в нужном положении;
задание технолога правильно сформировано;
не выполняются другие АП, которые не должны работать параллельно.
Определить постоянные условия. Это условия, которые должны оставаться неизменными в процессе всей работы АП. Например, нужно следить, чтобы соседние объекты или механизмы не мешали выполнению операции. Проверяем готовность средств автоматики и механизмов.
Продумать аварийную остановку. Этот этап нужно обязательно учитывать в каждом процессе. Главная задача аварийной остановки — сохранить здоровье и жизнь людей. Второстепенная задача — сохранить оборудование и изделие. Работать над логикой аварийной остановки можно бесконечно.
Как правило, при аварийной остановке оборудование полностью обездвиживается, чтобы не нанести еще большего вреда. При этом все последующие АП должны знать, что произошла аварийная остановка, и не запускаться, иначе масштабы аварии могут значительно вырасти.
Создать шаги. Последовательность состоит из шагов, каждый шаг отправляет соответствующие команды на механизмы. Шаги могут быть управляющими и структурными.
Управляющие шаги выполняют непосредственные действия: открывают клапан, перемещают изделие или выключают насос.
Структурные шаги разделяют последовательность на параллельные ветки или объединяют их в одну. При создании параллельных веток нужно учитывать мощность энергоустановок, от которых запитано оборудование, чтобы не произошел перегруз энергоустановки (например, компрессора, гидростанции или электроустановки).
Шаг считается выполненным, когда от датчиков поступает обратная связь. Существуют АП, в которых шаги считаются выполненными просто по прошествии определенного времени. Я не рекомендую так делать, потому что в конце концов это даст сбой: заготовка не успеет транспортироваться до оборудования, или предыдущий процесс просто будет выполняться дольше обычного.
В то же время нужно закладывать таймауты на ожидание обратной связи. Если шаг не завершился в течение разумного времени, нужно остановить АП и уведомить оператора о нештатной ситуации.
Создать два режима запуска. Есть два варианта запуска АП: автоматический и ручной. В автоматическом режиме инициатором запуска являются события или команды от других АП; в ручном — команда оператора. Но в любом случае перед стартом нужно выполнять проверку начальных и постоянных условий, о которых я говорил выше.
Также, независимо от варианта запуска, нужно предусмотреть переключение в ручной режим работы. Это позволит продолжить процесс, если во время работы АП обнаружатся ошибки.
Определить способ остановки. Есть несколько способов завершить работу АП:
Создана команда «СТОП», все шаги последовательности сбрасываются, а механизмы остаются в той же позиции. Как правило, так работает аварийная остановка.
Создана команда «СТОП», все шаги последовательности сбрасываются, после чего запускается новая АП, которая возвращает все механизмы в начальную позицию.
Последовательность заканчивается, когда все шаги выполнены и цель достигнута. Это штатное завершение работы АП.
Но после создания АП работа над ней не заканчивается. Во-первых, может измениться производственный процесс, и АП придется модернизировать или полностью переписывать. Во-вторых, могут всплыть ошибки и недоработки, которые не удалось предвидеть в самом начале. В-третьих, всегда есть широкое поле для оптимизации процесса. Расскажу о каждом случае подробнее на примерах из моего опыта.
Изменение производственного процесса
Заказчик решил заменить старую роликовую сварочную машину на новую лазерную. Чтобы интегрировать новую установку в процесс, нужно было научить ее «дружить» с остальным оборудованием: согласовать семь внутренних АП с пятью внешними и предусмотреть около сотни блокировок.
Этой работой мы занимались вместе со специалистами компании-производителя. Они знали специфику своего оборудования, а мы — своего.
Процесс настройки не обошелся без сюрпризов. Например, АП агрегата ждала разрешения на формирование петли по событию «Передний зажим закрыт». Но событие формировалось по отсутствию сигналов с датчиков открытого положения зажима. В результате полоса металла начинала двигаться в еще не до конца закрытом зажиме. Причину мы обнаружили не сразу.
Другая проблема — первый шов, сваренный в автоматическом цикле, разорвался при попытке транспорта на инспекцию. Новая сварочная машина требовала в два раза больше запаса полосы в петлях для сварки. А выборка этих петель в процессе транспорта привела к разрыву в районе шва. В результате мы создали новый шаг АП «Транспорт шва», при котором петли убирались.
Поиск и исправление ошибок
На нашем производстве есть технологическая операция «Съем рулона с моталки». Для ее выполнения стол прижимается к рулону с определенной силой и продолжительностью, в зависимости от веса рулона. Это нужно для того, чтобы стол зафиксировал груз и не уехал из-под моталки без рулона. В ручном режиме эту операцию сложно выполнить без ошибок и «громких бесед с самим собой», зато под управлением АП она становится похожа на танец.
Только вот эта АП сама не измеряла вес рулона, а получала его на вход от другой последовательности, а другая последовательность его не хранила вследствие ошибки в коде. В итоге получалось так, что автоматически снимались только тяжелые рулоны, потому что они прижимались с правильной силой и продолжительностью. Более легкие рулоны приходилось снимать вручную, и это сильно тормозило процесс.
Казалось бы, простая ошибка, но на поиск причины мы потратили несколько месяцев. Поэтому еще раз хочу акцентировать внимание на том, что все необходимые параметры и сигналы нужно записывать в журнал. Потом это сильно упростит вам жизнь.
Оптимизация и ускорение
Даже когда АП работает как задумано, есть широкое поле для оптимизации. Например, если понять, какие шаги можно выполнять параллельно, можно сократить несколько секунд на обработке каждого изделия. Кажется, что это мало, но даже в пределах одного рабочего дня это позволяет выпускать больше продукции. Вот пример.
В цеху установлена сварочная машина, которая сваривает два рулона металла в один для непрерывной работы агрегата оцинкования листа. Во время сварки концы рулонов фиксируются прижимными роликами агрегата и зажимами сварочной машины. Когда сварочная машина завершает операцию, она возвращается в исходную позицию и освобождает полосу. Затем она отправляет команду агрегату, которая разрешает транспорт полосы. Прижимные ролики поднимаются, и только после этого полоса металла начинает двигаться в центральную секцию агрегата для оцинкования.
Мы запараллелили эти процессы. То есть, теперь прижимные ролики и зажимы сварочной машины разводятся одновременно, и после проверки выполнения этих операций АП отдает команду на транспорт металла. В результате полоса стала освобождаться быстрее, мы сократили цикл сварки на 2,5 секунды.
А иногда для поиска оптимизаций можно просто поговорить с операторами, которые долго работают с оборудованием. Их внимательность поражает — они могут заметить задержку процесса на 0,3 секунды, при том что весь процесс целиком занимает около 9 секунд.
В заключение, не буду еще раз говорить, что автоматические последовательности упрощают работу операторов, ускоряют производство и сокращают брак. Это и так понятно. Я хочу сделать акцент на другом. Создание автоматических последовательностей — это не просто работа с агрегатами, как может показаться. Кроме знания оборудования, также необходимо уметь разбираться в производственных процессах, общаться с людьми и находить узкие места для возможных оптимизаций.
А у вас есть опыт создания и настройки автоматических последовательностей? Поделитесь своими историями.