Перейти к содержанию
    

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я просто FPGA давно не занимался. Лет 15. Они ужн могут работать на Гигагерцах?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне 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 купается в деньгах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для понимания своего вопрос. Почему не рассматривается применение IEEE1588?

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

© Гуголь

Изменено пользователем bbb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...