PDA

Просмотр полной версии : CODESYS + Python



Сема
07.10.2022, 11:55
Добрый день, коллеги, а кто нибудь применял такую связку CODESYS + Python, Не совсем понимаю, для чего и для каких кокретно задач требуется применение скриптов на ПЛК и насколько это грамотно и опасно их применять?

Может кто реализовывал?

Евгений Кислов
08.10.2022, 18:33
Добрый день, коллеги, а кто нибудь применял такую связку CODESYS + Python, Не совсем понимаю, для чего и для каких кокретно задач требуется применение скриптов на ПЛК и насколько это грамотно и опасно их применять?

Может кто реализовывал?

Добрый день.
Прошивки с поддержкой Python появились относительно недавно, поэтому вряд ли много пользователей успело применить его в реальных проектах.

Что касается задач - вот несколько примеров:
- генерация отчетов в форматах json/xml/xlsx/docx/pdf (для последних трех - с форматированием, таблицами, для СПК можно и скриншот экрана визуализации вставить)
- работа с web-сервисами через REST API (например, для получения информации о текущей погоде, передачи данных в платформы типа Эвотор, ЗООТЕХНИК.рус и т.д., обмена с устройствами, подключенными к OwenCloud и т.д., и т.п.)
- можно поднять в самом ПЛК web-сервер - если уже система верхнего уровня хочет выступать REST-клиентом для получения данных от ПЛК

Насчет грамотности/опасности - зависит от разработчика.
На МЭК-языках написать программу, запуск который приведет к исключению - тоже весьма несложно.

ДаниилСПб
01.03.2023, 16:09
- можно поднять в самом ПЛК web-сервер - если уже система верхнего уровня хочет выступать REST-клиентом для получения данных от ПЛК


Тема старая, но интересная..

Не совсем понятно, как поднять REST сервер на плк при помощи Codesys и python?

Что будет выступать в роле REST сервера?

Евгений Кислов
01.03.2023, 16:30
В интернете множество информации о том, как с помощью Python поднять web-сервер.

ДаниилСПб
03.03.2023, 09:44
В интернете множество информации о том, как с помощью Python поднять web-сервер.

Как поднять web сервер на python понятно, но как связать его с Codesys, если из Codesys можно выполнять только скрипты на Python?

ДаниилСПб
03.03.2023, 10:55
если Вы поднимите веб-сервер, он должен жить своей жизнью, следовательно может посылать запросы с помощью requests или сокетов непосредственно в порт который слушает программа КДС.

Тогда это история не про python в codesys?

Евгений Кислов
03.03.2023, 11:01
Тогда это история не про python в codesys?

Это история про интерпретатор Python в прошивке нашего ПЛК.
Вы, видимо, имели в виду ScriptEngine самой CODESYS IDE?
Это совсем другая история для совсем других целей - автоматизации создания проектов, тестирования и т.д.

ДаниилСПб
03.03.2023, 12:07
Спасибо всем за комментарии, просто рассматривал на будущее возможность организации REST сервера непосредственно Codesys ПЛК например для организации клиента на мобильном приложении без промежуточных серверов. Вроде web gui codesys отдает, а REST API не совсем понятно можно ли из него получить. Видимо нет...

TonyMilkers
26.02.2024, 14:13
Это история про интерпретатор Python в прошивке нашего ПЛК.
Вы, видимо, имели в виду ScriptEngine самой CODESYS IDE?
Это совсем другая история для совсем других целей - автоматизации создания проектов, тестирования и т.д.

А об этом где можно почитать? А то как раз стоит задача автоматизации создания проектов. У вас на сервере ничего не нашёл. Возможно, плохо искал.

Евгений Кислов
26.02.2024, 14:18
А об этом где можно почитать? А то как раз стоит задача автоматизации создания проектов. У вас на сервере ничего не нашёл. Возможно, плохо искал.

https://content.helpme-codesys.com/en/CODESYS%20Scripting/_script_start_page.html

edvard_munch
28.03.2024, 20:10
- работа с web-сервисами через REST API (например, для получения информации о текущей погоде, передачи данных в платформы типа Эвотор, ЗООТЕХНИК.рус и т.д.
В ожидании ПЛК200 на виртуальном контроллере пока такое бесполезно тестировать, насколько я понимаю?

Евгений Кислов
29.03.2024, 06:12
В ожидании ПЛК200 на виртуальном контроллере пока такое бесполезно тестировать, насколько я понимаю?

На виртуальном - да.
Но если сервис у вас развернут не локально, то вы можете использовать наш демо-ПЛК для отладки обмена с ним:
https://owen.ru/forum/showthread.php?t=34242

capzap
29.03.2024, 06:18
В ожидании ПЛК200 на виртуальном контроллере пока такое бесполезно тестировать, насколько я понимаю?

У питона же есть версия, если на такой же версии на ПК будет работать, почему не должно в контроллер заработать

edvard_munch
29.03.2024, 19:22
На виртуальном - да.
Но если сервис у вас развернут не локально, то вы можете использовать наш демо-ПЛК для отладки обмена с ним:
https://owen.ru/forum/showthread.php?t=34242
Спасибо, посмотрю

edvard_munch
29.03.2024, 19:26
У питона же есть версия, если на такой же версии на ПК будет работать, почему не должно в контроллер заработать
Ну скрипты на Питоне понятно что можно писать и тестировать
Больше имелось ввиду работа с прокладкой между Питоном и визуализацией Codesys
Чтобы увидеть результаты скрипта на мнемосхеме. Но, возможно это не стоит того и там не сложно и не долго будет отладиться на живом устройстве при наличии готового скрипта на Питоне

capzap
29.03.2024, 19:36
SysExecute вернёт в КДС вывод скрипта в виде строки. Желаемую строку можно парсить и в эмуляторе