Сегодня как-то часто мне попадались различные статьи и обсуждения вопрос программных ПЛК и виртуальных ПЛК. да и в целом цифровизация и виртуализация АСУ ТП.
Давайте начнем с базовых вещей, чтобы всем стало понятно о чем мы тут говорим
ПЛК — мозг автоматизации.
ВикипедияПрограмми́руемый логи́ческий контро́ллер (сокр. ПЛК; англ. programmable logic controller, сокр. PLC; более точный перевод на русский — контроллер с программируемой логикой), программируемый контроллер — специальная разновидность электронной вычислительной машины. Чаще всего ПЛК используют для автоматизации технологических процессов. В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.
Тут мы определились, что это ЭВМ, основной особенностью данной машины является работа в «реальном времени», означающая строгие временные рамки.
Ну и далее из плюсов идет то, что для удобства управления ПЛК управляет специальными модулями ввода/вывода, плюс завезли различные протоколы реального времени, ну и еще всякие промышленные физические интерфейсы, которые прям вот legacy, но куда без них.
А также свои языки программирования, со своими особенностями, например отсутствие динамического выделения памяти, но зато там много всякой безопасности, отказоустойчивости, самодиагностики и самовосстановления, да и вообще максимум для того, чтобы заводики работали, а людишки на этих заводиках не убивались, а скорость программирования нового цеха была просто космической.
Первым в мире программируемым логическим контроллером в 1968 году стал Modicon 084 (1968) (от англ. modular digital controller), имевший 4 кБ памяти.
Далее должны идти рассказы о видах ПЛК, но из всего многообразия мы рассмотрим еще два. Один реальный, а второй виртуальный.
Программный ПЛК(Soft PLC)
Младший брат. ПЛК на основе ПК.
Именно это направление существенно развивается в последнее время, и это обусловлено определенными причинами. Таковыми причинами являются:
- Повышение надежности ПК.
- Наличие разных модификаций ПК в обычном и промышленном исполнении.
- Использование открытой архитектуры.
- Возможность подключения любых модулей УСО(устройства связи с объектом), которые выпускаются другими компаниями.
- Возможность использования широкой номенклатуры наработанного программного обеспечения.
Эти контроллеры используются для управления небольшими замкнутыми объектами в промышленности, в специализированных системах автоматизации в медицине и др. направлениях. Контроллер выполняет функции, которые предусматривают сложную обработку измерительной информации с расчетом нескольких управляющих воздействий, при этом общее число входов/выходов не превышает нескольких десятков. Основными достоинствами этих контроллеров является большой объем вычислений за достаточно малый отрезок времени. Схожесть с условиями работы офисных ПК, возможность программирования на языке высокого уровня. Аппаратная поддержка обеспечивается обычными контроллерами, обладающего функциями глубокой диагностикой и устранением неисправностей без остановки работы контроллера.[1]
Году в 2013 для меня эти ПЛК были просто фантастикой, так как я, работая на заводе, не мог понять, а куда я все это могу приложить, а как я буду подключать модули, а надежность и прочее. Со временем рынок стал расти и развиваться, вот мы уже имеем модули ввода/вывода с ethernet, которые спокойно опрашиваются, есть ряд задач, где стандартные bare metal ПЛК немного не справляются.
Ну и если интересно, то согласно исследованиям 2020 года, soft plc вполне себе захватывают долю рынку в нижнем ценовом сегменте, а в к 2025 году предсказывают, что они захватят себе 7% рынка.
А теперь третий монстр
Виртуализированный ПЛК
А вот это точно новый в нашем бестиарии или «Знакомьтесь АСУТП узнало про Докер» по другому я все это обозвать не могу, но..
DAVID LOU, ULRICH GRAF AND DR. MITCH TSENG OCTOBER 7, 2021Виртуализированные ПЛК (vPLC) могут заменить большое количество отдельных контроллеров и их электроники. Это периферийные вычисления, где облачная инфраструктура информационных технологий (ИТ) расположена рядом с машинами в цехе. Это позволяет удовлетворить строгие требования к очень низкой задержке и коротким циклам управления.
Суть такая, удаляем «черные ящики» ПЛК, заводим все в серверную на предприятии(не в облако, а вот прям в этом же цеху/здании), там на мощностях серверов виртуалим ПЛК, каждый отвечает за свой участок, все счастливы. Остается решить проблему по времени. Вроде как для Linux есть ядра с низкой задержкой, да и много чего еще.
А теперь мы расскажем, почему пока это фантазии.
Реализация и проблемы vPLC
- Испытанная и отлаженная текущая инфраструктура.
Действует народное правило: «Работает — не трогать!» или не стоит заниматься модернизацией если установка не несет огромных капитальных и эксплуатационных расходов. - Обслуживание и ответственность.
Зачастую сейчас цеха интегрируются в общую систему завода, ну и если ты интегратор, то у тебя будет много проблем в случае если это все не работает. А вот с виртуальными ПЛК такая история скорее всего работать не будет, а если будет, то как? - Технологические риски.
Все мы держим в голове словосочетание «реальное время». Вот тут у нас возникает еще такой пунктик как надежность системы. Так что важные функции вы не передадите, а также функции синхронизации всяких осей вращения и позиционирования. - Организационные препятствия.
Новые технологии — новые компетенции. А тут всплывает комплексная проблема обучения персонала на рабочих местах, а проблема заключается в том, что такой культуры толком нет.
Целесообразность такого подхода необходимо оценивать для каждой конкретной задачи и конкретного места, однако что мы сейчас уже умеем:
- ОС с низкой задержкой, плюс относительно хорошая виртуализация, так что немного, и как мне кажется, сможем сделать такой же отклик как и на стандартных ПЛК.
- Детерминированная сеть и TSN. И вот у нас есть ответ в сети с фиксацией по времени.
- Туннелирование через TSN различных протоколов fieldbus
- OPC UA TSN
Ну и все это безобразия с точки зрения архитектуры от Industry IoT Consortium выглядит так:
Что и где использовать?
А теперь что где лучше всего смотрится, по моему скромному мнению.
Железный ПКЛ, он же «черный ящик», он же «чистое железо» отправляется на непрерывное производство где нам требуется быстро, точно, надежно.
Программные ПЛК мы отдаем в науку и все что около. Легкая автоматизация не требовательная к времени и надежности. Вообще супер, плюс у нас есть одноплатники, на которых вся этак красота заводится.
Виртуализированные ПЛК — это производства с динамическим изменением в технологическом процессе, где много всяких сложных пограничных вычислений и мы можем немного потеснится по времени.