Вход

Просмотр полной версии : Codesys Gateway для Linux



ASV_769
24.05.2023, 07:07
Добрый день. появился такой вопрос по установке гейтвея кодесис на ПРомПК встраиваемых систем.
существует ли отдельный программный гейтвей, позволяющий удалённо подключиться к ПЛК, через ПромПК, на котором установлен гейтвей?
На текущий момент на ПромПК приходится устанавливать ОС Windows, ради установки туда Codesys v3.5, ради поставляемого в комплекте "Codesys gateway WinTray".
Можно ли скачать и установить этот самый "Codesys gateway WinTray" отдельно от кодесиса?
Можно ли скачать условный "Codesys gateway LinTray" для линукса?
Прошу обратить внимание, что Codesys Edge Gateway мне не подходит, так как он требует покупки Codesys Automation Server, да и вообще работает в паре только с ним.
Может есть какие-то сторонние программные гейтвеи или способы их настройки для подключения ПЛК удалённо?
Заранее спасибо.

Евгений Кислов
24.05.2023, 07:36
Добрый день.


Можно ли скачать и установить этот самый "Codesys gateway WinTray" отдельно от кодесиса?

Можно. У нас на FTP выложена довольно старая его версия, но она стабильно работает и с современными версиями рантайма:
https://ftp.owen.ru/CoDeSys3/01_CODESYS/CODESYS%20Gateway%20V3.5SP5Patch5%20Setup.zip


Прошу обратить внимание, что Codesys Edge Gateway мне не подходит, так как он требует покупки Codesys Automation Server, да и вообще работает в паре только с ним.

Вы это проверяли? Насколько я помню - CODESYS Edge Gateway бесплатный и не требует подписки на Automation Server.
И он работает не только "в паре с ним", но и отдельно. Automation Server просто использует этот Edge Gateway для подключения к контроллерам.
В этой теме на форуме CODESYS обсуждалась задача, фактически совпадающая с вашей:
https://forge.codesys.com/forge/talk/Runtime/thread/01703ca970/?limit=25



Вопрос клиента: "With regards to the Automation Server, is this a completely separate thing or is it needed for the edge gateway? I will probably try it, but I'm not a fan of the 40EUR monthly fee from next year."
Ответ разработчика: "Automation Server is an own separate product - which uses the Edge Gateway to login to the plc's."

melky
24.05.2023, 08:30
Интересно, а какова задача? ПЛК опрашивается через шлюз удаленным ПК ? или ПЛК опрашивается данным шлюзом и отдает в OPC ?
Учитывая, что установка на Linux скорее вариант 1. Используя промПК можно опрашивать ПЛК по Modbus TCP и отдавать по OPC UA например, не используя шлюзы CodeSys.

VladimirIS
24.05.2023, 09:45
Интересно, а какова задача?

Например, для отладки работы или для перепрошивки ПЛК

melky
24.05.2023, 09:52
Для прошивки именно шлюз нужен? типа socat на Linux не устроит а шлюз на вашей машине? с CodeSys не пробовал, но пакету socat как-то по барабану что пробрасывать в сети.

ASV_769
24.05.2023, 12:42
Цитата сообщения Евгения Кислова: "Вы это проверяли? Насколько я помню - CODESYS Edge Gateway бесплатный и не требует подписки на Automation Server."
не проверял, вычитал в его описании на сайте codesys-store.

ASV_769
24.05.2023, 12:46
Интересно, а какова задача? ПЛК опрашивается через шлюз удаленным ПК ? или ПЛК опрашивается данным шлюзом и отдает в OPC ?

да, VladimirIS прав, задача именно прошивать (обновлять проект) удалённый ПЛК, у которого под боком стоит ПромПК, имеющий выход в интернет.


Используя промПК можно опрашивать ПЛК по Modbus TCP и отдавать по OPC UA например, не используя шлюзы CodeSys
хотелось бы работать, используя штатные средства Codesys.

melky
24.05.2023, 13:47
хотелось бы работать, используя штатные средства Codesys. тогда разбирайтесь с socat, настройка будет выглядеть примерно так, как вы прошиваете ПЛК в собственной сети, только указывать в настройках будете ip адрес удаленного промПК.

я правда использую socat для проброса COM портов при проверках, не запихивал его в демон или куда-то. И знаю что socat может много чего сделать... народ и тунели пробрасывает и много чего еще.

melky
24.05.2023, 14:07
capzap не чудите, vpn тут ни при чем, точнее он нужен для наличия доступа. socat в Linux делает пробросы всего, чего угодно, в отличии от remserial или virtualhere, которые работают только с COM портами.
По факту вы запускаете CodeSys на своем ПК и подключаетесь как будто к ПЛК напрямую. Если конечно дадите ума при настройках socat.

И если что, socat не надо собирать из исходников, он во всех дистрах в репах есть обычно из коробки...

https://superuser.com/questions/1261685/forward-a-tcp-connection-with-logging-using-socat

Если для работы требуется несколько портов, соответственно настраивается несколько экземпляров socat, когда в конце стоит 1> log.log 2>&1 (не помню, кажется без самой последней 1 и можно лог не писать) то в консоль можно будет вводить новые команды, например тот же socat под другой порт.

з.ы. статья немного не о том, но думаю man потом поможет, либо поиски в нете... Есть справка полная, аналогичная man...

Даже скрипты можно не писать, достаточно подключиться по SSH и запустить команды на время работы, консоль ssh не закрывать, иначе и socat отвалится... И как-то пофигу что там ПО себе хочет или хотело... оно работает как будто устройство рядом на столе...

melky
24.05.2023, 15:23
вполне соответствует работе впн у вас плк умеет vpn ?
Потому что socat это умеет, и как правило в дистрибутивах данный пакет присутствует в репозиториях.

Какие порты использует так называемый шлюз
для socat фиолетово, какие порты использует ПО, все в его настройках. Ессно надо знать, какие порты пробрасывать на localhost, если RT крутится на нем или какой-то ip если ПЛК висит за промПК.

Да, на некоторых промПК с прошитым Linux он там может оказаться урезанным, например Moxa, но если на него устанавливается Linux то проблем не вижу.

VladimirIS
24.05.2023, 16:24
Для melky
Для возможности удаленной работы с ПЛК (прошивка) вы предлагаете:
1. Установить VPN на своем компьютере, где установлен Codesys
2. Установить VPN на ПРомПК
3. Установить socat на ПРомПК и настроить проброс порта на ПЛК

Я правильно понял?

melky
24.05.2023, 16:31
существует ли отдельный программный гейтвей, позволяющий удалённо подключиться к ПЛК, через ПромПК, на котором установлен гейтвей?

VladimirIS если я правильно понял автора, то ПЛК у него ЗА промПК установлен. Но суть вы поняли правильно.
1 и 2 зависят от сети объекта, где установлен промПК, может там прямые IP и vpn не потребуется.
3. совершенно верно, либо установка удаленного Gateway от CodeSys либо пробросы необходимых портов через socat, а собственно шлюз использовать тот, который запускается при работе со средой разработки и идет с установочным пакетом CodeSys.

хуже, когда нет выделенных IP ни на объекте, ни на рабочем месте, но и это можно обойти, только нужен автозапуск AnyDesk с постоянным id на промПК, или аналог, чтобы знать, куда подключиться перед тем как создавать канал связи.
И воспользоваться например ngrok. Но это уже другая история, кстати опробованная в реальности.

Вы же в своей системе используете P2P, тут примерно то же самое, только другими способами.

melky
25.05.2023, 10:03
capzap а я о чем пишу выше? что надо ставить какой-то гейтвей на удаленном промПК? тоже банальный проброс портов, только если этот промПК не является сервером сети для ПЛК и они в сети торчат рядом, то iptables тут не применишь скорее всего.
1. человек озадачился шлюзом на ПЛК почему-то через промПК - почему неизвестно, какая там на объекте организация сети неизвестно и т.д.
так то если ПЛК в сети предприятия и у них есть vpn вопросов нет, что самый простой путь это порт форвардинг.

А так уже не раз сталкивались, что вроде и сеть есть, да конторка маленькая, за выделенный IP не платят, а мониторить устройство хотят.
Или там стоит Cisco, которой рулят только из Москвы и хрен допросишься сделать пробросы.
В общем вариаций почему не напрямую великое множество.

Может дождемся автора и он подробнее расскажет на кой там промПК вообще сдался вместо гадания?

у нас как-то на объектах Ростелека требовался мониторинг в процессе пусконаладки и т.д. Так нам месяц они делали доступы. Был клиент VPN и один IP адрес с кучей портов, стукнешься туда - ИБП1, в другой порт - ПЛК и так далее... Но это же Ростелек, а не какой-то частник или небольшая фирма.
МТС еще выдавал выделенные IP для юрлиц и ИП, я так и не дождался получения, зато для Сбера по звону с утра сделали к обеду...
В общем путь не легкий и тернистый для мелких контор, по себе знаю :)

melky
25.05.2023, 12:06
capzap если люди колхозят в сети промПК для доступа к ПЛК, значит для этого есть причины. Вероятная из них, на момент пусконаладки, отладки и заливки новых программ. И скорее всего есть проблема с организацией доступа к ПЛК на объекте средствами настройки сетей у заказчика. А после отладки промПК снимется с этого объекта и поедет на другой и так далее...

Если вы не попадали в такие ситуации, то вот как раз не надо чужие советы резать сразу под нож.
Вариантов там масса на самом деле, по крайней мере не один.

Самый простой вариант в таком случае, это как раз при установке своего промПК и наличии у себя в компании выделенного IP сделать этот промПК клиентом собственного vpn и сделать необходимые настройки на нем.
Это может быть и удаленный шлюз CodeSys, который упоминается в теме, и ПК с Windows раз так работало и все что угодно (socat, ngrok - правда голой жопой в интернет) и наверняка и другие решения найдутся.

Вот у IntraScada свой P2P сервер для этого имеется например. Или как у Teleofis аналогично m2m сервер. Или как у iRZ аналогичная ерунда есть и так далее... При этом ПО из разряда сред разработки, в данном случае CodeSys ни сном ни духом не подозревают, что их обманывают :)

melky
25.05.2023, 13:40
capzap вы невнимательны. Если есть промПК, а не роутер у организации, который пробросит нужные порты на ПЛК, то тогда промПК должен быть сервером для данного ПЛК, тобишь роутером. Вы уверены что у автора так и есть?
немного вот подумайте, зачем там тогда промПК и какую роль в сети заказчика он играет? если он не роутер, к нему напрямую не подключен ПЛК, что тогда вы сделаете?

Вот покажите настройками для примера...

Потому что просто так не возникает вопросов по установке дополнительной железяки в пару с ПЛК. Особенно на пустом месте.
з.ы. кстати да, согласен, если промПК поднимет VPN канал и будет указано, какая сеть за ним, он сможет пробросить порты сразу на ПЛК. Если ему крылья не подрежут конечно местные админы...

melky
25.05.2023, 15:00
угу, а доступ к ПК с Windows и установленным туда CodeSys возьмется из воздуха :) мне вон на работе RDP на дом прирезали, при том что я инициатор подключения, а не домашний ПК... IT-шники те еще шутники... и оборудование в придачу...