PDA

Просмотр полной версии : СПК107 [M01] и протокол EthernetIP



Денис Жмуров
26.05.2020, 14:53
Добрый день!

Существует ли поддержка обмена про протоколу EthernetIP?

Дело в том, что существует работающее решение, в котором используется ПЛК Allen-Bradley Micro8xx, у которого есть встроенная поддержка данного протокола.
Возникло желание поменять ПЛК Micro8xx на СПК107.
Может, есть какая-то библиотека для работы по данному протоколу?

melky
26.05.2020, 15:05
Да что ж такое то :), один DF1 спрашивает, другой Ethernet/IP.... реализуйте стек протокола в СПК и будет вам счастье...

Кстати если памяти хватит в СПК то может и получиться. на C# и C++ есть в сети реализация стека протокола Ethernet/IP, например одна из библиотек (С#) занимает 109 кб всего (а две других и того меньше, 60 кб и 40 кб) Но сколько там из языка еще используется функций не разбирался.

Но боюсь вам это не поможет, я не смог прочитать MicroLogix1400, Explorer протокола на одной из библиотек стека смог прочитать модель ПЛК, серийный номер и Ноды с многозвучным именем "Proprietary". При беглом осмотре выяснилось, что AllenBradley использует команды, отсутствующие в стеке.... Так что может даже не помочь замена ПЛК на Wago или Delta, которые имеют поддержку данного протокола.

Кстати поройтесь на сайте CodeSys, что-то там встречалось, но боюсь тут без поддержки ОЕМ не обойдется.

Евгений Кислов
26.05.2020, 16:16
Добрый день!

Существует ли поддержка обмена про протоколу EthernetIP?

Дело в том, что существует работающее решение, в котором используется ПЛК Allen-Bradley Micro8xx, у которого есть встроенная поддержка данного протокола.
Возникло желание поменять ПЛК Micro8xx на СПК107.
Может, есть какая-то библиотека для работы по данному протоколу?

Добрый день.
В состав системы исполнения CODESYS для наших ПЛК/СПК не входит лицензия на драйвер протокола Ethernet/IP.
Теоретически - если речь о крайне ограниченном числе заранее известных запросов - то можно попробовать написать свою реализацию, как указали ниже.
Вероятно, значительно более простым решением будет приобретение шлюза Ethernet/IP в Modbus TCP.

Денис Жмуров
26.05.2020, 21:14
Добрый день.
В состав системы исполнения CODESYS для наших ПЛК/СПК не входит лицензия на драйвер протокола Ethernet/IP.
Теоретически - если речь о крайне ограниченном числе заранее известных запросов - то можно попробовать написать свою реализацию, как указали ниже.
Вероятно, значительно более простым решением будет приобретение шлюза Ethernet/IP в Modbus TCP.

Можете пояснить, что означает - "лицензия на драйвер протокола Ethernet/IP"? Я просто не знаком с этой тематикой.
Если я напишу "свою реализацию, как указали ниже", то я нарушу лицензию?

Евгений Кислов
26.05.2020, 21:18
Можете пояснить, что означает - "лицензия на драйвер протокола Ethernet/IP"? Я просто не знаком с этой тематикой.
Если я напишу "свою реализацию, как указали ниже", то я нарушу лицензию?

В среде CODESYS есть драйвер для этого протокола, но для его работы нужна лицензия.
Лицензия может быть включена в состав устройства (у нас, например, так обстоят дела с Modbus Serial/TCP и OPC UA), но в нашем случае - не включена.
Теоретически - ее можно приобрести отдельно:
https://store.codesys.com/codesys-ethernet-ip-scanner.html
Если вы напишите свою реализацию - то это ничего не нарушит.

melky
26.05.2020, 21:53
Денис Жмуров я тут наткнулся на видеоролик про RaspberryPi и его использования с Ethernet/IP в качестве шлюза в среде CodeSys 3.5 так вот в списке устройств я там не увидел AllenBradley.

Вообще очень интересно по теме, что одним из основателей Ethernet/IP вроде как была компания Rocwell Automation, собственно хозяйка AllenBradley, если правильно понимаю.

Денис Жмуров
26.05.2020, 21:53
В среде CODESYS есть драйвер для этого протокола, но для его работы нужна лицензия.
Лицензия может быть включена в состав устройства (у нас, например, так обстоят дела с Modbus Serial/TCP и OPC UA), но в нашем случае - не включена.
Теоретически - ее можно приобрести отдельно:
https://store.codesys.com/codesys-ethernet-ip-scanner.html
Если вы напишите свою реализацию - то это ничего не нарушит.

Теперь всё стало понятно, спасибо!

melky
27.05.2020, 08:33
Денис Жмуров у меня вопрос, если вы хотите заменить ПЛК то зачем вам Ethernet/IP в таком случае ? используйте тот же Modbus который есть в ПЛК Овен.

Денис Жмуров
02.06.2020, 10:28
Протокол EthernetIP для Allen-Bradley это почти то же самое, как для Сименс протокол ProfiNet )))
Поэтому что-то не так с тем видеороликом )))

В том проекте, который я имею в виду, ПЛК используется для взаимодействия с промышленным роботом Yaskawa. Если б СПК поддерживал EthernetIP, то можно было избавиться от ПЛК и подключить СПК107 к роботу напрямую, переместив логику работы из ПЛК в СПК.

А сейчас приходится лепить связку Робот <-> ПЛК <-> СПК

Денис Жмуров
02.06.2020, 10:32
Кстати, Кодесис v3.5 SP14 позволяет добавить в порт Ethernet протокол EternetIP (Adapter и Scanner).
К сожалению, не могу потестить, это реально работающая поддержка протокола или нет.

Евгений Кислов
02.06.2020, 10:46
Кстати, Кодесис v3.5 SP14 позволяет добавить в порт Ethernet протокол EternetIP (Adapter и Scanner).
К сожалению, не могу потестить, это реально работающая поддержка протокола или нет.

Это реальная работающая поддержка протокола, которая требует лицензии.
https://owen.ru/forum/showthread.php?t=33254&p=333533&viewfull=1#post333533

melky
02.06.2020, 13:13
Денис Жмуров не совсем так. Судя по разным роликам люди при помощи открытого стека Ethernet/IP подключались к модулям ввода/вывода или Ethernet каплерам с модулями Allen Bradley. Могу предположить что каплеры и модули не очень выгодно закрывать проприетарным кодом. А вот то, что мне выдал ENI Explorer на ПЛК ML1400. Ну и судя по коду там какие-то нюансы есть, хотя опрос строится все на тех же стеках EIP

Можете попробовать скачать ENIExplorer и опросить робота, если там все открыто (нет каких-то засад), то возможно и получите данные.

А так, на C++ и на C# есть реализации стеков. Может даже готовый от CodeSys сможет получить данные, купить лицензию дешевле, чем реализовать стек. Собственно протокол CIP доступен и открыт, а Ethernet/IP ни что иное, как реализация CIP поверх TCP/IP и UDP

Денис Жмуров
03.06.2020, 01:00
Денис Жмуров не совсем так. Судя по разным роликам люди при помощи открытого стека Ethernet/IP подключались к модулям ввода/вывода или Ethernet каплерам с модулями Allen Bradley. Могу предположить что каплеры и модули не очень выгодно закрывать проприетарным кодом. А вот то, что мне выдал ENI Explorer на ПЛК ML1400. Ну и судя по коду там какие-то нюансы есть, хотя опрос строится все на тех же стеках EIP

Можете попробовать скачать ENIExplorer и опросить робота, если там все открыто (нет каких-то засад), то возможно и получите данные.

А так, на C++ и на C# есть реализации стеков. Может даже готовый от CodeSys сможет получить данные, купить лицензию дешевле, чем реализовать стек. Собственно протокол CIP доступен и открыт, а Ethernet/IP ни что иное, как реализация CIP поверх TCP/IP и UDP

На вашем скрине приведена общая информация об устройстве. Её можно получить и при помощи других браузеров, однако пользы от неё мало.
Интереснее получить возможность обращаться к внутренним регистрам устройства.
И для этого надо или самому реализовать протокол или покупать на него лицензию.
Лично мне проще не использовать в этом случае Овен, а использовать такой ПЛК, где эта возможность реализована "из коробки". Это по затратам времени быстрее, а время нынче в цене )))

melky
03.06.2020, 08:50
Денис Жмуров в примерах, которые видел, подключение к WAGO и просто к модулям в/в через каплеры того же Allen Bradlay в списке появляются НОДЫ с переменными. А то, что у меня на скрине, это именно попытка подключения к ПЛК Allen Bradley, а он публичными(открытыми) командами протокола не хочет читаться, кроме определения общей информации об устройстве.

Я вам говорю попробовать ENI Explorer сразу на роботе, а не на ПЛК, тем более вы его выкинуть собираетесь.
Там в Explorer есть функционал выполнять опрос по разным кодам функций по отдельности, а не просто скан по общему коду.

Если надо, поищу все ссылки по теме. тот же ENI Explorer скачивал в том числе уже собранный

Денис Жмуров
03.06.2020, 13:08
melky, прошу извинить, если неправильно понимаю ваши мысли.
Что такое ENI Explorer? Это программа для компьютера? Если да, то толку от неё ноль для меня, т.к. компьютера в этом проекте нет и не будет.

Я не хочу писать свою реализацию протокола или покупать у CodeSys и устанавливать лицензию и вообще вручную изобретать велосипед, как это мне выше советовали. Не настолько богат, чтобы тратить на это время.
Мне нужно готовое работающее решение "из коробки".

Вот как это в других продуктах происходит.
1.Берем дешевую китайскую панель HNC. Указываем в настройках соединения производителя Allen-Bradley, модель Micro800, и вуаля, связь есть.
2. Берем этот же ПЛК, объявляем там объект CIP Generic и вуаля, связь с роботом есть.
И это я про Class3 говорю. Если ПЛК поддерживает Class1, то можно скачать eds- файл и работать как со своей периферией.

Этим и был продиктован изначальный вопрос в этой ветке. Подумал, может Овен тоже так умеет...

melky
03.06.2020, 13:57
Денис Жмуров Да, ENI Expoler это программа для ПК и речь не идет о ее применении в вашем проекте. Речь идет о том, чтобы этой программой проверить вашего робота, нет ли у него таких же фокусов с проприетарщиной как у самого ПЛК Allen Bradley. То, что вы пишите про панели понятно, они просто добавили необходимый код для связи с ПЛК Allen Bradley, так как в принципе протокол CIP является разработкой Rocwell Automation и открыт, возможно даже открыта информация по подключению непосредственно к ПЛК Allen Bradley, просто это их детище и оно могло не войти в открытые спецификации ODVA, которыми пользуются другие производители оборудования: Wago или Delta....

Вы можете взять Raspberry и установить на него CodeSys для проверки связи с роботом. Сам CodeSys будет работать без лицензии 2 часа на Raspberry. Вот с лицензированием непосредственно Ethernet/IP Scan не подскажу. (но должны же они предоставлять какой-то период времени для проверки ?)

Если вы в Micro800 просто объявляете CIP Generic, то скорее всего на роботе не будет проприетарщины... Так что смотрите вариант использования Ethernet/IP от CodeSys, можно ли использовать с ограничениями их драйвер для проверки перед покупкой. А на чем будете проверять, Raspberry или сразу на СПК уже вопрос вторичный.

Чисто предположение, возможно проприетарщина по отношению к ПЛК Allen Bradley связана с архитектурой формирования переменных для передачи. Так как я нашел библиотеку libplctag на C++ которая вытягивает все переменные из ПЛК и работает она в принципе тоже на стеке Ethernet/IP.
У меня правда задача как раз читать по сети именно ПЛК.

Так вам же нужен контроллер, в котором будет еще и логика работы а не просто панель ?, так то можно было просто взять панель с поддержкой Ethernet/IP и не заморачиваться...
з.ы. если покупать лицензию не планируете, то Овен не ваш выбор, а в другом оборудовании лицензия будет включена в стоимость оборудования. Замкнутый круг :)

Денис Жмуров
03.06.2020, 23:58
У меня правда задача как раз читать по сети именно ПЛК.



А какой ПЛК? Читать по EthernetIP? Чем читать - овеновской СПК?

melky
04.06.2020, 00:10
Allen Bradley ML1400 (скрин с него), Scada системой через реализованные стеки протокола. По DF1 по последовательному интерфейсу я его читаю легко, осталось с Ethernet разобраться.

Денис Жмуров
04.06.2020, 11:47
Allen Bradley ML1400 (скрин с него), Scada системой через реализованные стеки протокола. По DF1 по последовательному интерфейсу я его читаю легко, осталось с Ethernet разобраться.

Судя по описанию, у него нет на борту эзернета.
https://ab.rockwellautomation.com/Programmable-Controllers/MicroLogix-1400#overview

Я бы поставил NPort 5130 1-портовый асинхронный сервер RS-422/485 в Ethernet. На сервере скады появится виртуальный ком-порт, и через него по модбасу опрашивать.
Можно поставить шлюз ModbusRTU -> ModbusTCP от той же Moxa.

melky
04.06.2020, 12:04
MicroLogix 1400, а куда я по вашему втыкаю кабель, если не в Ethernet ?

у меня проблема в отсутствии Modbus, программа существующая. DF1 я реализовал в рамках по одной команде чтения и записи. Исходя из документации поддержка есть у SCL5, SLC500 еще, кроме серии MicroLogix

"Ethernet port provides Web server capability, email capability and protocol support for DNP3 protocol support"

упс, прикольно, протокол DNP3 а не Ethernet/IP, оказывается..... но он все так же базируется на CIP судя по всему, только не дотянул видать до Ethernet/IP чем-то, но база та же. Может по этому его скан и не видит, кроме общей инфы

Денис Жмуров
04.06.2020, 22:06
MicroLogix 1400, а куда я по вашему втыкаю кабель, если не в Ethernet ?

у меня проблема в отсутствии Modbus, программа существующая. DF1 я реализовал в рамках по одной команде чтения и записи. Исходя из документации поддержка есть у SCL5, SLC500 еще, кроме серии MicroLogix

"Ethernet port provides Web server capability, email capability and protocol support for DNP3 protocol support"

упс, прикольно, протокол DNP3 а не Ethernet/IP, оказывается..... но он все так же базируется на CIP судя по всему, только не дотянул видать до Ethernet/IP чем-то, но база та же. Может по этому его скан и не видит, кроме общей инфы

Я просто погуглил первую попавшуюся ссылку на этот ПЛК и там он был без Ethernet ))
Если вам приходится разбираться в существующей сторонней программе - то сочувствую. Я программы сам программы разрабатываю, поэтому не знаком с этой проблематикой. Меня ограничивают только программно-аппаратные ресурсы ПЛК.

melky
04.06.2020, 22:31
ну у меня задача перенести программу на другой ПЛК (для уменьшения эксплуатационных расходов), при этом сохранить существующую систему. Сняты они с производства, эти ML, ремонт очень дорого выходит, но их много, сразу никто не поменяет... в общем непростое удовольствие :)
Так и я по вашей ссылке прошел, там и указан Ethernet, может просто недоглядели ? с морды его не видно, потому что он снизу подключается.

Денис Жмуров
06.06.2020, 20:21
Да, при беглом взгляде не увидел, а теперь более внимательно посмотрел и рассмотрел там Ethernet....
Я думаю, что для ваших условий проще разработать свою программу (логику управления) заново, для нового ПЛК, чем перетаскивать со старого...

melky
06.06.2020, 21:28
чтобы разработать алгоритм с нуля для другого ПЛК необходимо точно знать технологию, а ее как бы некому рассказать. Было бы кому рассказать, не было бы проблем.

Денис Жмуров
07.06.2020, 15:26
чтобы разработать алгоритм с нуля для другого ПЛК необходимо точно знать технологию, а ее как бы некому рассказать. Было бы кому рассказать, не было бы проблем.

Тогда, imho, вы на полной скорости бежите по тупиковому пути. Вы не владеете технологией, а это плохо, т.к. поддержка этих ПЛК рано или поздно прекратится или они станут очень дорогими, как у Сименса было со Степ5.
И вам всё равно придется переходить на другую аппаратную базу. Другое дело, что к тому времени "или ишак сдохнет, или падишах". )))

melky
08.06.2020, 09:06
С чего бы это ? программы то у меня есть, родные на АВ

Tatum555
13.06.2021, 13:41
В среде CODESYS есть драйвер для этого протокола, но для его работы нужна лицензия.
Лицензия может быть включена в состав устройства (у нас, например, так обстоят дела с Modbus Serial/TCP и OPC UA), но в нашем случае - не включена.
Теоретически - ее можно приобрести отдельно:
https://store.codesys.com/codesys-ethernet-ip-scanner.html
Если вы напишите свою реализацию - то это ничего не нарушит.

Я приобрел лицензию, активировал в среде codesys через репозиторий лицензий.
Ethernet/IP сканер продолжает ругаться на отсутствие лицензии.
Её нужно активировать в самом СПК107? Как это сделать?
На каждое устройство лицензия приобретается отдельно?

Евгений Кислов
13.06.2021, 13:45
Я приобрел лицензию, активировал в среде codesys через репозиторий лицензий.
Ethernet/IP сканер продолжает ругаться на отсутствие лицензии.
Её нужно активировать в самом СПК107? Как это сделать?
На каждое устройство лицензия приобретается отдельно?

Лицензия на каждое устройство приобретается отдельно и активируется на конкретном устройстве.
Но наши контроллеры лицензирование не поддерживают:
https://owen.ru/forum/showthread.php?t=28167&page=9&p=343879&viewfull=1#post343879