Обновить

ПЛК перестает быть закрытой коробкой. Зачем контроллеру Linux?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели3.7K
Всего голосов 4: ↑3 и ↓1+3
Комментарии4

Комментарии 4

Да уж и времена когда для подключения к AWS по MQTT, OPC UA или WEB сервер нужен был Линукс тоже прошли.
Сейчас это достаточно легко делается на обычной легковесной RTOS типа ThreadX
или FreeRTOS.
Современные агенты за пару дней перенесут все нужные стеки на RTOS включая навороченные GUI и базы данных.

Кстати, ПЛК типа WAGO PFC200 не делают на одном процессорном чипе.
Вот у меня такой один убитый лежит :

Тут как минимум два SoC и две разные операционки. И по ходу есть место еще для одного SoC

Убить такие контроллеры достаточно легко. Программа выполняется из DDRAM, грузится из NAND. Куча мест где что-то может пойти не так.
Но они никогда не станут открытыми, потому что в них всегда есть какой нибудь кастомный чип на шине. Их межмодульная шина - самый большой секрет. Проблема еще в том что программу хранимую вне SoC гораздо труднее защитить. А в Европе, к примеру, вступает в силу Cyber Resilience Act. И с ним сделать защиту Линукса ох как нелегко. Придется возится с Trusted Firmware-A или с OP-TEE. А иначе не дадут разрешение на использование нигде.
А с обычным микроконтроллером прожег фьюзы и все! Дело сделано.

Поэтому на мой взгляд надежней ПЛК будет на SoC с интегрированной Flash и RAM с Error-Correcting Code.
Таких сейчас достаточно много дешевых: RP2354 , ESP32-P4 , RA8P1 , STM32N657 ...
Вот за ними-то и вижу перспективы. И дёшево, и надёжно.

С первой частью согласен. Для MQTT, HTTP и даже OPC UA Linux сегодня и правда не обязателен. Все это можно сделать на FreeRTOS, ThreadX и других RTOS. Но преимущество Linux-контроллера не в наличии MQTT или web-сервера, а в том что можно устанавливать дополнительные приложения независимо от основной прошивки. На RTOS это тоже можно сделать, но потребуется пересборка, тестирование и обновление всей прошивки.

По поводу PFC200. WAGO пишет про Cortex-A8 и один real-time Linux с PREEMPT_RT, внутри которого работает CODESYS runtime. Инфы про два SoC и две ОС не видел.

Касаемо "открытости". Под "открытым" в статье понимается не полностью открытая аппаратная схема или межмодульная шина, а возможность штатно запускать собственные приложения вне PLC-проекта. В этом смысле контроллер может быть программно расширяемым, оставаясь аппаратно проприетарным.

Но какие приложения?
Можете назвать что нибудь стоящее, кроме питона , Node-RED, Arduino и прочих интепретаторов-прокладок, необходимость в которых полностью отпадает при наличии агентов прямо пишущих на C.
С вашим понятием "открытости" и Windows можно назвать полностью открытой операционкой.
Потом интересно какой минимальный период цикла поддерживает ваше решение на Линуксе?
На обычном микроконтроллере 240 МГц нормально держать жесткий цикл в 100 и меньше мкс.

а какие примеры приложений на контроллере с линуксом? ну там веб-интерфейс или что-то для визуализации, просто интересно какие задачи решает линукс в таком встроенном окружении

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации