Jump to content

    

Расскажите про EtherCAT

тогда возьмите какую-нибудь фпга и напишите свой протокол на базе гигабита

 

Share this post


Link to post
Share on other sites

А "нюхачи"(пассивные снифферы) и "анализаторы протокола" существуют доставабельные в природе? А то как тестить и отлаживать EtherCat сетку ума не приложу

 

И как "приёмо-сдаточные" устраивать?

Share this post


Link to post
Share on other sites

Мне EtherCAT очень нравится - мы его используем уже года три. Используется как расширяемые I/O для нашего контроллера в шкафах. Перелезли на него с Profibus, Profinet и своего зоопарка протоколов. Позволило нам поднять скорость опроса с 1мс до 100мкс и сравнять ее со скоростью нашего процесса, выполняющегося в реальном времени каждые 100мкс - т.е теперь управляющий процесс получает новые данные и отправляет контрольные команды каждый цикл. Все это также стало возможно за счет того, что EtherCAT мастер оказался настолько простой, что мы смогли его в сунуть в сам процесс и он выполняется тем же планировщиком, что и программа. Стеки для других протоколов типа Profinet, гораздо сложнее и требуют прерываний или отдельного процесса, а это уже проблемы с синхронизацией.

Между шкафами - пластиковая фибра - дешевая и легко обжимается на места. Для нашего контроллера мы по спецификации и на базе какого-то opensource написали EtherCAT мастер с очень примитивным набором команд. А в качестве I/O используем Beckhof, Wago или Phoenix.

Мы также в одном из наших контроллеров реализовали Slave - он был на ПЛИС и мы просто взяли IP Core для Xilinx и всунули его. На МК, я так понимаю не стоит пробовать, так как весь смысл, что в Slave обработка фреймов должна быть "на-лету". Он должен вставлять свою инфу прямо в фрейм.

 

Для меня критические преимущества:

- Стандартный EtherNET порт на мастере. Никаких адаптеров, изоляторов и прочей фигни.

- Скорость и реалтайм - мы работаем на цикле 100мкс, количество сигналов доходит до 1000, аналоговых и цифровых. Скорости достаточно, чтобы мерить переменное напряжение в сети и получать 200 отсчетов за период - достаточно, чтобы определить RMS или дисбаланс фаз. Для аналоговых каналов используем distributed clock, чтобы синхронизировать захват между разными модулями - легко реализовалось и работает.

- Встроенная изоляция Ethernet порта - т.е. никаких проблем с гальванической связью. Как говорил, между шкафами используем пластиковую фибру.

- Реализация мастера очень простая для программиста и контроллера.

 

А "нюхачи"(пассивные снифферы) и "анализаторы протокола" существуют доставабельные в природе? А то как тестить и отлаживать EtherCat сетку ума не приложу

По поводу отладки. На мастере просто запускаете Wireshark и смотрите пакеты на нужном порту. Он EtherCAT распознает из коробки.

И как "приёмо-сдаточные" устраивать?

Также мне понравился т.н. EtherCAT Simulator - в Twincat можно промоделировать слейвы для мастера и даже их логику. Оно правда на 100мкс не работает - не хватает скорости компа, а только на 1мс, но бесплатно и довольно эффективно позволяет отлаживать проги в мастере, без подключения к реальной шине и реальных слейвов. А за счет PLC логики можно даже моделировать внешние сигналы, которые в реальном проекте через EtherCAT приходят и уходят.

 

Еще я заметил, что готовые EtherCAT slave I/O дешевле аналогичных для Profinet или Modbus TCP.

 

Просто, к примеру нужно опросить сотню территориально разнесенных датчиков за 100 мкс.

Обычный езернет это вроде не повзоляет сделать. Готь 1Г хоть 10Г. Так?

Ethercat на 100мбит это сделает спокойно. Только latency будет 100-300мкс, в зависимости от настройки.

 

 

Ну и прикол EtherCAT в конце концов в том, что он сразу одним махом решил многие проблемы расширения I/O в распределенных системах, включая софт, скорость, латентность, выбор топологии, гальваническую развязку, дешевизну портов и кабелей, надежность. Поэтому буржуи его сейчас вовсю используют, а Beckhoff купается в деньгах.

Share this post


Link to post
Share on other sites

Блок PRU-ICSS в некоторых Ситарах знает про EtherCAT. Вроде в последних вариантах скорость до гигабита.

Share this post


Link to post
Share on other sites
Блок PRU-ICSS в некоторых Ситарах знает про EtherCAT. Вроде в последних вариантах скорость до гигабита.

однако код слейва лицензируемый

 

(маленькое уточнение: PRU-ICSS - обычная машина, ничего она ни про кого не знает. Однако у неё есть доступ к периферии, достаточный для фёрмварьной реализации много чего,

в т.ч. EtherCat, Profinet, 3+Mbit UART, IPMB-0 .., даже слабый видепоток некоторые грабят)

Share this post


Link to post
Share on other sites
Мне EtherCAT очень нравится - мы его используем уже года три. Используется как расширяемые I/O для нашего контроллера в шкафах. .... Ну и прикол EtherCAT в конце концов в том, что он сразу одним махом решил многие проблемы расширения I/O в распределенных системах, включая софт, скорость, латентность, выбор топологии, гальваническую развязку, дешевизну портов и кабелей, надежность. Поэтому буржуи его сейчас вовсю используют, а Beckhoff купается в деньгах.
Для понимания своего вопрос. Почему не рассматривается применение IEEE1588?

Share this post


Link to post
Share on other sites
EtherCATу необходима физика с поддержкой IEEE1588.
Мой вопрос был о возможности использовании IEEE1588 вместо EtherCAT для решения поставленной ТС задачи, а не вместе.

Share this post


Link to post
Share on other sites
Мой вопрос был о возможности использовании IEEE1588 вместо EtherCAT для решения поставленной ТС задачи, а не вместе.

Т.е. Вам управлять огромным кол-вом исполнительных механизмов с маленькой латентностью, обеспечиваемой EtherCAT, не надо?

Вам нужно чисто обеспечить единое время во всех узлах системы?

Share this post


Link to post
Share on other sites
Т.е. Вам управлять огромным кол-вом исполнительных механизмов с маленькой латентностью, обеспечиваемой EtherCAT, не надо? Вам нужно чисто обеспечить единое время во всех узлах системы?
Да. Желательно до 0.1мс. Меньше - лучше. И каналов Ethernet у меня в цепочке до 4-5-ти.

Share this post


Link to post
Share on other sites

Ну тогда EtherCAT остается без вариантов.

И для синхронизации использовать упрощенную версию протокола IEEE1588.

Share this post


Link to post
Share on other sites
Ну тогда EtherCAT остается без вариантов. И для синхронизации использовать упрощенную версию протокола IEEE1588.
Вот это и непонятно. Где бы почитать (на любом языке)?

Share this post


Link to post
Share on other sites
Для понимания своего вопрос. Почему не рассматривается применение IEEE1588?

Наша сфера - контроллер, а не I/O к нему. Поэтому при выборе интерфейса была задача использовать покупные индустриальные модули для различных сигналов -24/48/220В реле, термопары, 4-20мА и прочие стандартные сигналы.. И как оказалось, выбор I/O для EtherCAT сейчас достаточно широк - Beckhof, Wago, Phoenix - выбирай по вкусу и цене. И по цене они тоже сейчас оказываются дешевле аналогичных ProfiNetовских или Modbus TCP.

 

Share this post


Link to post
Share on other sites

Синхронизация процесса EtherCAT

При каждом соединении с ведомым устройством передается тактовая частота реального времени, которая синхронизируется ведущим устройством с помощью методов, подобных описанным в стандарте IEEE 1588. Существуют ведомые устройства как с механизмами реального времени, так и без них, поскольку такие механизмы очень требовательны к оборудованию. Тактовая частота реального времени позволяет с высокой точностью синхронизировать управляющие сигналы. В физическом смысле протокол EtherCAT работает не только поверх Ethernet, но и поверх LVDS (низковольтная дифференциальная передача сигналов). Этот стандарт используется компанией Beckhoff в качестве внутренней шины терминалов. Обычно в роли ведущего устройства EtherCAT используется стандартный ПК с интерфейсом Ethernet. В отличие от других протоколов, таких как POWERLINK или PROFINET, EtherCAT распространяется на уровни с 1 по 3 семиуровневой OSI-модели. Поэтому для достижения функциональности приложений, сравнимой с другими системами, приходится использовать дополнительный уровень протокола (CoE, EoE).

© Гуголь

Edited by bbb

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this