Компания Levrana известна широко — она производит косметику, бытовую химию, БАДы, пищевые продукты и многое другое. На производстве установлено большое количество сравнительно компактных линий. Их приходится подстраивать под каждый продукт, поэтому инженерный отдел со временем накопил достаточно компетенций и решил выпускать производственные линии для других вендоров. Так возникла дочерняя компания Levrana Engineering, которую нас пригласили посетить.
Производственные линии Levrana Engineering модульные, то есть состоят из нескольких установок, у каждой из которых своя функция. Отдельные установки выделены под розлив, этикетирование, упаковку и другие задачи. Подобная модульность позволяет использовать только те установки, которые нужны для выпускаемого продукта. В каждом модуле есть контроллер, и вот с ними как раз два года назад возникли проблемы.
В установках использовали контроллеры Delta с программированием на классическом графическом языке релейных диаграмм LD. Но компания Delta ушла с российского рынка, с каждым месяцем «добывать» контроллеры стало сложнее. В какой-то момент даже было шесть поставщиков, которые возили контроллеры разными обходными путями. Конечно, выросли цены, а поставка иногда могла занять несколько месяцев. Конкурентное преимущество Levrana Engineering — быстрая сборка и поставка линий, несколько недель в отличие от двух-трех месяцев у других компаний. Наполнить склад на несколько месяцев вперед бюджета не было. В итоге было принято решение: надо менять сами контроллеры.
Дополнительные фото
Какое решение выбрали?
Рынок ПЛК сегодня дефицитный, достать «белые» контроллеры Delta, Siemens, Omron сложно. Инженеры рассматривали несколько решений, но в итоге остановились на Wiren Board. Причем они даже посетили производство в апреле 2023 года на экскурсии, которые проводились в рамках выставки WBCE 2023. Такой уж принцип у Levrana Engineering: нужно во всем убедиться самим, «пощупать» производство, пообщаться с представителями компании. Подкупил и открытый Debian Linux на контроллере, который позволяет писать и запускать любой софт. Мы услышали следующую фразу от специалистов Levrana: «Если мне чего-то не хватит из функционала, я сам на Си напишу».
Честно говоря, шаг был смелым. Вместо контроллера Delta с языком LD нужно было перейти на Linux и JavaScript (wb-rules). Но в современных реалиях программистов на JavaScript становится все больше, а на LD, напротив, все меньше. У специалистов Levrana Engineering на освоение wb-rules ушло меньше месяца. Зато теперь они могут делать с контроллером что угодно. Например, в планах добавить голосовое оповещение: достаточно будет установить в порт USB недорогую звуковую карту, настроить нужные скрипты — и все готово!
Конечно, были препятствия. К контроллеру Delta дискретные шаговые двигатели станка подключались через существующие драйверы напрямую. Управление двигателями было через простые импульсы шаг/направление, можно было заменить драйвер на модель другого производителя, стоят они недорого. Сейчас такой возможности нет, пришлось использовать шаговые двигатели с Modbus, они стоят дороже (процентов на 20), и при этом у каждого производителя своя карта регистров. Поэтому просто заменить производителя не получится, нужно будет перебить адреса регистров. Но, перейдя на общение по интерфейсу, появились и плюсы: для добавления двигателей не нужны дополнительные выходы контроллера, а в случае Delta — модули расширения. В результате расширять такую систему проще, количество КШД и ШД не привязано к выходам контроллера. Можно легко заменить пневматику шаговыми двигателями, например.
Перешли и на новые HMI-панели. Контроллер Delta поддерживал только Modbus-панели, порта Ethernet у него не было. Сейчас устанавливают более распространенные панели с Ethernet, но очень ждут появления интерфейса HDMI у контроллера Wiren Board. Помимо прочего, переход на Ethernet (Modbus TCP) увеличивает скорость работы и отзывчивость интерфейса панели.
Еще одно преимущество Wiren Board перед Delta проявило себя в удаленном управлении. HMI-панели содержат встроенный VNC-сервер, изображение с которого вывели в веб-интерфейс контроллера. Таким образом, можно удаленно видеть экран оператора и управлять им. Также добавили кнопку «сохранить», которая позволяет записать скриншот в файл. Причем удаленное управление работает и через облако Wiren Board Cloud.
Другой пример: потребовалось использовать «особый» драйвер шагового двигателя с энкодером. Добавили его на шину RS-485, но столкнулись с задержками опроса, так как на шине уже были другие драйверы, а конкретно этот добавленный нужно было очень быстро опрашивать, чтобы было минимальное время отклика. Просто добавили в слот отдельный модуль расширения RS-485 и вывели опрос на него. Всё ускорилось и работает как нужно.
Дополнительные фото
Линия розлива
В качестве примера нам показали линию розлива, которая работает на контроллере и модулях автоматизации Wiren Board.
Помимо контроллера Wiren Board, установлены модуль ввода/вывода с дискретными входами WBIO-DI-WD-14, модули дискретных выходов WBIO-DO-SSR-8. Их достаточно для управления всеми насосами и двигателями линии розлива.
Контроллер Wiren Board 7 управляет всей линией розлива. К нему подключены исполнительные и контрольные устройства:
Панель оператора (дисплей) ELHART ELP. Подключена к контроллеру Wiren Board через Ethernet.
На одном выходе WB7 RS-485 подключены три преобразователя частоты (ELHART серии EMD‑MINI), которые в свою очередь управляют тремя трехфазными двигателями: двигатель конвейера, двигатель подающего и двигатель принимающего стола
К второму выходу WB7 RS-485 подключены шесть контроллеров шаговых двигателей LeadShine EM2RS-556, которые в свою очередь подключены к четырем шаговым двигателям дозаторов (перистальтические насосы), насосу укупоривателя (закручивание крышек) и двигателю обкатчика (прикатывает наклейку)
К WB пристыкован модуль дискретных входов WBIO-DI-WD-14. На его 11 входах заведены разнообразные датчики контроля системы, герконы, оптические датчики, кнопка. Всего в модуле 14 входов, так что запас для расширения функций установки есть
-
Далее пристыкованы ещё три модуля дискретных выходов WBIO-DO-SSR-8, каждый по восемь выходов итого 24 выхода. В составе:
11 пневмораспределителей для управления пневмоцилиндрами
Управление подсветкой тары
Дискретные команды для управления аппликатором Арни-Групп А-150
Дополнительные фото
Заключение
Российским производителям станков и производственных линий сегодня нелегко: вендоры, которые годами поставляли оборудование автоматизации, ушли с нашего рынка, цены взлетели, сроки поставки превысили все мыслимые рамки, не говоря уже о потере официального сервиса.
Но бизнес должен работать, поэтому специалисты Levrana Engineering решились на кардинальный шаг и полностью поменяли контроллер автоматизации и модули. Они выбрали контроллер Wiren Board с открытым Debian Linux и возможностью запускать любой софт. Программы пришлось переписать на wb-rules, но с этим проблем не возникло — JavaScript сегодня знаком многим.
Нам показали линию розлива, которая уже поставляется клиентам. Контроллер Wiren Board полностью оправдал ожидания, особенно пригодилась широкая поддержка различных интерфейсов. В планах Levrana Engineering добавить систему мониторинга производственной линии, которая тоже будет работать на контроллере Wiren Board.
Возможно, у вас тоже есть удачный пример импортозамещения, которым можно поделиться? Или появились мысли, как можно улучшить данный проект? Расскажите нам в комментариях.
Комментарии (40)
NutsUnderline
30.05.2024 07:34+1Как то пытался по молодости делать такое на Atmega8
garageman
30.05.2024 07:34Сам драйвер ШД?
NutsUnderline
30.05.2024 07:34нет, саму систему разливайки. клапан был готовый, с приводом и контакнтым датчиком
garageman
30.05.2024 07:34А, есурсов-то мало. Точнее хватит - но впритык, и на всякие настройки не останется.
NutsUnderline
30.05.2024 07:34+1там на каждый канал было по 1 Atmega висящих на i2c, плюс центральный, а конфигурирование - чeрез UART, все писано на асме, так что не в ресурсах проблема была
almaz1c
30.05.2024 07:34+1Честно говоря, шаг был смелым. Вместо контроллера Delta с языком LD
нужно было перейти на Linux и Java Script (wb-rules). Но в современных
реалиях программистов на Java Script становится все больше, а на LD,
напротив, все меньше.Беседовали с ПЛК-программистами нашего клиента на предмет поиска альтернативы решениям на базе Codesys.
Сменить Windows на Linux, а группу языков программирования МЭК на Си (для разработки пользовательских приложений под контроллеры под управлением ОС Linux) оказались неготовы.
Мах, к каким переменам готовы - перейти на Beremiz вместо Codesys. Но обязательно из под Windows.
Одна только необходимость держать на рабочих ПК и Windows (для сопровождения уже эксплуатирующихся систем), и Linux (для разработки новых), выливается в вагон издержек.
Scaeurgus
30.05.2024 07:34+4И я их понимаю, если честно. При переходе с LD на любой текстовый язык в штате прийдется держать еще и дежурного програмиста, который сможет посмотреть в программе почему же эта железяка не запускается.
Но меня удивляет почему не предлагают среды разработки что код написанный на LD не разлагал на тот же C, как в свое время делал тот же Step7 с STL.
RichardMerlock
30.05.2024 07:34Но ведь LD полюбому имеет по капотом упрощенное представление. Не хранит же среда графическое представление логических выражений, это было бы совсем тупо. В LDшном стиле можно и на С писать. Будет одно и то же, кроме внешнего вида.
Scaeurgus
30.05.2024 07:34+1В LD внешний вид как раз из одна из главных составляющих, так как код должен быть понятен электрику на ночном дежурстве.
RichardMerlock
30.05.2024 07:34Бесспорно, но я больше к тому, что преобразование из LD в выражение и обратно довольно просто делать.
lumen_xp
30.05.2024 07:34+2Господа, у нас в АСУ ТП жесткая нехватка кадров из-за зарплатной политики. И если слесарь хоть как-то поймет в LAD, то диагностировать и отлаживать С он не в состоянии. Так что не нужно придумывать.
Кстати, господа разработчики, как у Вас с построчной отладкой кода? Есть ли подсветка и индикация значения переменных, точки останова? Как отлаживать то все это великолепие на мехатронной системе?
Сейчас сам пилю проект на C и уже изплевался весь, на S7-1200 и LAD все бы сделал за 2 дня красиво и понятно, а тут мракобесие и никакой графики. Я конечно понимаю, что уровень у меня не ахти, но каждый инструмент для своей задачи и незря есть МЭК-6-1131. Он как бы тоже кровью написан.
RichardMerlock
30.05.2024 07:34Вот я и предлагаю допилить среду с С до LAD с автоконвертацией в C. Как в Step7. Вот прям по аналогии презрев все копирайты, даже если они есть.
wofs
30.05.2024 07:34+1Господа, у нас в АСУ ТП жесткая нехватка кадров из-за зарплатной политики. И если слесарь хоть как-то поймет в LAD, то диагностировать и отлаживать С он не в состоянии. Так что не нужно придумывать.
Мы это слышим довольно давно, но вместе с тем всё больше организаций выбирает свободно программируемые контроллеры на Linux и традиционные языки программирования.
Если хочется языки МЭК — есть продукт MasterPLC от нашего партнёра IEK. Ставите его на контроллер и программируете в привычной среде.
Сами мы не планируем выпускать среду разработки на этих языках, а упомянутый тут в комментах Beremiz очень сырой для пром применения, к сожалению.
wofs
30.05.2024 07:34+1Кстати, господа разработчики, как у Вас с построчной отладкой кода? Есть ли подсветка и индикация значения переменных, точки останова? Как отлаживать то все это великолепие на мехатронной системе?
В штатном wb-rules пока никак, но можно использовать любой привычный язык программирования и отлаживаться так, как привыкли. У нас много клиентов, кто пишет универсальные или отраслевые решения на Си/Java в привычных средах разработки: ПК Энергия, Философт, ЦОДУМ, Integer, Techsensor и другие игроки рынка автоматизации и диспетчеризации.
yuhanj
30.05.2024 07:34+1Позволю себе не согласиться, по моему мнению, дежурный электрик и программист АСУ ТП - это несколько разные профессии.
tonyk_av
30.05.2024 07:34Есть два способа реализации LD:
а) трансляция в IL;
б) наличие в памяти МК пула готовых блоков, для которых по данным диаграммы устанавливаются связи между блоками.
Вариант а) типичен для ПЛК, вариант б) для программируемых реле а-ля Siemens LOGO, SE ZelioLogic и т.п.
tonyk_av
30.05.2024 07:34Что Beremiz, что OpenPLC используют matiec, преобразующий язык МЭК в С. Всё давно есть, кто в теме, тот знает.
RichardMerlock
30.05.2024 07:34Может лучше скооперироваться с китайцами, которые сименс-аналоги производят, какой нибудь Amsamotion? Они уже всё отреверсили. И можно будет дальше в Степ7 проекты делать, а как сименс вернётся, то просто снова купить лицензию, чтоб по международному было.
wofs
30.05.2024 07:34+1Может лучше скооперироваться с китайцами,
А в чём смысл? Мы предлагаем рынку продукт, его берут и внедряют. Кому он не подходит, берут другое оборудование. У нас (Wiren Board), как у разработчика, нет цели заменить какой-то бренд, мы просто делаем функциональные, недорогие и надёжные устройства, которые зарывают потребности наших пользователей.
RichardMerlock
30.05.2024 07:34Есть большой пласт клиентов, у которых уже всё на сименсе, к примеру, автомобилестроение, металлургия. Им что-то другое совсем не в кассу. А перейти с настоящего сименса на качественную реплику они бы с удовольствием.
wofs
30.05.2024 07:34Ясно, спасибо. Реплику мы точно делать не будем.
RichardMerlock
30.05.2024 07:34Кстати, а как у вас конкуренция с Овном? Он живой вообще?
wofs
30.05.2024 07:34+1Он живой вообще?
Живой, чему мы рады. Ребята делают хорошие продукты, которые отлично подходят для своих задач. Мы немного на разных рынках, хотя где-то и пересекаемся.
almaz1c
30.05.2024 07:34а как сименс вернётся
Думаете?) И захочет ли бизнес снова связываться с поставщиками, которые в любой момент может уйти...
krapivinmaksim
30.05.2024 07:34+1Некоторое время назад отсутствие высокоскоростных выходов для ШД и высокоскоростных входов для энкодеров как раз остановило меня в затее использования подобных решений в проектах промышленной автоматики. Хотя смотрел в частности на wiren board с большим любопытством. Мне, как человеку, в большей степени использующего высокоуровневые языки программирования, эти промышленные LD и FBD даются с болью и страданиями. Особенно, если проект приходится доделывать за кем-то, а не писать с нуля, так как на своей практике я пока не встречал людей из этой индустрии, которые рачительно относятся к чистоте и ясности кода на LD.
wofs
30.05.2024 07:34+1Некоторое время назад отсутствие высокоскоростных выходов для ШД
Расскажите, а чем не подошли многочисленные драйверы ШД с RS-485 и Модбасом?
krapivinmaksim
30.05.2024 07:34В целом, по очень простым причинам: по возможности не плодить сущностей из разных комплектующих и обратной совместимости в виде значительного запаса купленных в сытое время "классических" драйверов ШД. Поэтому в проектах малой автоматизации очень интересно попробовать решения Wiren Board, но в текущих "больших" проектах сейчас использую продвинутую линейку от Delta - AS300 (пара асинхронных приводов с энкодерами на выходных валах, 5-7 ШД, 3 BLDC мотора, 10-15 пневмоцилиндров и ворох датчиков, термопар и прочих прелестей автоматики)
9982th
30.05.2024 07:34я пока не встречал людей из этой индустрии, которые рачительно относятся к чистоте и ясности кода на LD
Хороший, или хотя бы просто нормальный код на языках общего назначения, конечно, проще изменять и дополнять, чем лестничные диаграммы, но и возможности написать плохо или просто ужасно они предоставляют гораздо больше. Если ваши предшественники оставляют вам запутанный код на LD, где сама среда с одной стороны ограничивает полет фантазии разработчика, а с другой - предоставляет кучу готовых блоков вроде таймеров и элементов задержки, то представьте, как они развернутся программируя на С.
semennikov
30.05.2024 07:34+3А мы давным давно используем для похожих задач QNX 6 с обычным РС и LPT а когда не хватает ставим платы расширения. Программы на С особых сложностей не вызывают
anklimov
30.05.2024 07:34+3Вы серьезно? Опрос энкодера через шину Модбас с повышенной частотой(догадываюсь, с целью остановить шаговый двигатель в нужный момент) это промышленное решение?
yuhanj
30.05.2024 07:34+2Драйвер ШД с интерфейсом RS485 - полностью автономное устройство, которое выполняет движение по заранее заданным параметрам. Также, возможна опция обратной связи - энкодер. При ошибках, например при блокировке вала - драйвер самостоятельно останавливает двигатель. Речь о том, чтобы максимально быстро вывести появившуюся ошибку в интерфейс оператора. Хотя, стоит признать, что это не критично, чистый визуал.
tonyk_av
30.05.2024 07:34Очень не грамотная статья.
-----------------------------
> Управление двигателями было через простые импульсы шаг/направление, можно было заменить драйвер на модель другого производителя, стоят они недорого. Сейчас такой возможности нет
Куда они делись? Их полно всяких на любой кошелёк. Может, вы не то и не там смотрите?
------------------------------
> Контроллер Delta поддерживал только Modbus-панели, порта Ethernet у него не было.
Шедевральная глупость, даже комментировать сложно. Есть Modbus/RTU, есть Modbus/TCP. Похоже, что у Дельты Modbus/RTU. Неужели Вареник настолько убог аппаратно, что у него не_нашлось ни EIA-485, ни EIA-232, чтобы подключиться к панели?
Вы если сами не сильны в предмете, то хотя бы давайте на вычитку вашим технарям, а то статья просто иллюстрирует подплинтусный уровень грамотности вашей компании.
NotebookKiller
Не пора ли добавить в ассортимент драйверы шаговиков?
wofs
Спасибо за идею. Добавил в список пожеланий, обсудим на очередном планировании продуктовой линейки.