Обновить

Расширяем проект на микроконтроллерах с OpenPLC

Время на прочтение14 мин
Охват и читатели11K
Всего голосов 8: ↑8 и ↓0+10
Комментарии10

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

по тексту статьи очень непонятно на каком этапе льется прошивка в pico и откуда она там вообще берется. я так понимаю это все делается внутри ide. а runtime вообще непонятно зачем в этом проекте

Как я понимаю, судя по описанию на форуме и содержимому в директории build /Raspberry Pico W/src схема должна быть такая.

plc.xml - исходник (PLCopen XML, ladder-схема)

xml2st program.st - преобразование в structured text (IEC 61131-3)

iec2c POUS.c / Config0.c / Res0.c / LOCATED_VARIABLES.h - C-код логики

gcc + Arduino SDK прошивка .uf2 - бинарник для pi pico

Рантайм нужен, если проект создается для PC, как Raspberry pi

вообще очень занятная сборная солянка получилась которая способна взбудоражить кого угодно. тут и node и мэк языки, и малинка и ардуинко. по запутаности эта штука уже догоняет как раз CODESYS/TIA Portal, и уж всяко без лаконичности простеньких Mitsubishi

для учебного проекта - очень хорошо и наглядно. только нужно еще кое где разобрать детали и возможно уточнить последовательность изложения

В том и была суть, чтобы совместить разрозненные проекты. Многие детали описания OpenPLC упущены в силу того, что существуют уроки и примеры на youtube. Но если есть такой запрос, можно сделать последовательный туториал на русском.
Есть еще книга по третьей версии PLC Programming with the Raspberry Pi and the OpenPLC Project, можно скачать бесплатно на известных ресурсах.

Но если есть такой запрос, можно сделать последовательный туториал на русском

ну как, здесь на хабре может и нет такого запроса, но в целом openplc такая система что без туториалов никуда, с ней бы разобраться. Я копаю ее изредка, в разных итерациях и с ней истории начинаются с установки и всяких смурных ошибок, а если не знать как она устроена изнутри то понять проблему крайней проблемно.

А набор доступных таргетов/сред для рантайма делает всю эту систему довольно игрушечной учебной.

На мой взгляд в рамках данной статьи стоило бы больше поговорить о внутренней структуре plc (ну вот как в предыдущих комментариях) - это вроде не несет практического смысла, но понимание системы - очень даже практический смысл

ого а в новой версии open plc и редактор обновили и понадоабляли плат (в уже установленую arduino)

Написать по общей концепции PLC - идея хорошая. Стоит ли описывать дебри компиляции, сомнительно. Особенно, если речь идет о коммерческих PLC, там только реверс-инжиниринг. Хотя китайцы более-менее успешно справились с реверсом PLC-Mitsubishi, на Aliexpress можно купить), на Хабре вроде даже статьи были. Как мне кажется, более полезным будет цикл статей с практическими кейсами. Вспомнить реальные проекты на PLC, попробовать их в упрощенном виде (NDA и все такое) портировать, и описать какие трудности возникают и как их решать. Возможно сделать предварительный материал с общей концепцией PLC. Но может быть такое, например создал проект на OpenPLC, придумал, возможно свой "велосипед". А разработчики обновили функционал OpenPLC, добавили, например, блоки данных как в TIA, или еще что-нибудь. Но это скорее общая тенденция развивающегося софта

пардон, я немного глюкнул: я имел ввиду структуру исключительно openplc где все заканчивается gcc + Arduino SDK точнее arduinoCLI. Там ошибка может быть например потому что какаой то компилятор не скачался, и человек не в теме 100 лет будет гадать че не так. ну и со всякими iec2gcc возможны странные ошибки.

вязываем Node-RED и микроконтроллер через Modbus TCP. Строим простой HMI, с помощью которого управляем и мониторим систему.

платформой Node-red о чем будет далее

и где это все?

Это в следующей статье, ссылку добавлю. Но здесь тоже довольно сжато описано, можно скачать проект из репозитория и модифицировать под свои нужды

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

Публикации