Как EtherCAT поддерживает различные топологии сети?

Как EtherCAT поддерживает различные топологии сети?

Предположим, что чистая сеть EtherCAT без каких-либо стандартных коммутаторов Ethernet, концентраторов и т. Д.... усложняет задачу, с одним ведущим и несколькими подчиненными.

Некоторые источники описывают это как поддерживающие кольцевые топологии (например, Wikipedia), и это имеет смысл, учитывая теорию работы, но на веб-сайте EtherCAT говорится, что он поддерживает и другие топологии.

Кабели Ethernet 100BaseTX содержат два полудуплексных канала, по одному в каждом направлении; правда ли, что при просмотре в виде графика полудуплексных соединений EtherCAT всегда является кольцевой шиной, но если рассматривать ее как график физических кабелей Ethernet, этот график может быть почти произвольным?

4 ответа

Решение

Вот так.

При физическом рассмотрении может быть много топологий: цепочка dasiy, звезда, дерево и т. Д. Например, вы можете использовать модуль Beckhoff EK1122 для создания топологии с тремя ветвями и звездами. Логически, существует один определенный путь вокруг всех узлов (главного и подчиненных), через которые проходят кадры EtherCAT. Это формирует кольцо, потому что мастер является источником, который инициирует все кадры, а также конечным пунктом назначения, к которому все кадры будут возвращаться.

EtherCAT "петля" - это подключенный набор подчиненных устройств, каждое из которых может подключаться максимум к четырем соседним устройствам. Эти четыре возможных соединения называются портами и имеют номера 0-3. Порт 0 является "восходящим" соединением, которое я обычно описываю как соединение с родительским устройством подчиненного устройства, а порт 1 обычно является тем, каким был бы "прямой" путь.

Если взять, например, шинный соединитель (EK1100), он имеет:

  • порт 0: разъем RJ45 (для разъема Ethernet 8P8C) с маркировкой "X1 In"
  • порт 1: EBUS-Out (для соединений со слайсом EBUS)
  • порт 2: разъем RJ45 с надписью "X2 Out"

Для сравнения, у соединения EBUS есть:

  • порт 0: EBUS-In (для подключения к восходящим секциям EBUS)
  • порт 1: EBUS-Out
  • порт 2: разъем RJ45 с надписью "X1"
  • порт 3: разъем RJ45 с надписью "X2"

А удлинитель шины (EK1110) имеет:

  • порт 0: EBUS-In
  • порт 1: разъем RJ45 с надписью "X1 Out"

Эти соединения образуют график, где каждый ведомый - это узел, имеющий ровно одного родителя и не более трех дочерних. Каждое ребро на графике представляет двунаправленное соединение Ethernet между двумя портами. После построения этого связанного графа подчиненных схема нумерации с автоинкрементом получается в результате первого обхода дерева по глубине с нумерацией каждого нового ведомого устройства следующим свободным номером. Субграфы исследуются вдоль порта 1, порта 3, затем порта 2 (понятия не имею, почему это так).

Таким образом, да, каждая полудуплексная линия связи пересекается только один раз во время передачи пакета по сети, что означает, что ее можно рассматривать как кольцо полудуплексной линии связи, причем каждое соединение подчиненного устройства к подчиненному появляется в кольце в двух местах (один раз для каждого направления обхода).

(Немного дополнительной информации)

Если вы посмотрите, как ведущие EtherCAT обращаются к своим подчиненным, вы увидите, что даже если у вас топология последовательного соединения, транспорт телеграмм ведет себя как линейная топология. Это происходит потому, что мастер подсчитывает все ведомые, которые присутствуют на шине, и присваивает им автоинкрементный адрес (на первом этапе). Это порядок, которым телеграмма будет обрабатываться рабами. Таким образом, мастер передает телеграмму ведомому1, он на лету помещает свои данные в свою секцию и передает ведомому2 и так далее. Последний раб закрывает автобус и отправляет телеграмму обратно. В руководстве пользователя иногда используется слово "ярлык".

Таким образом, физически вы можете иметь практически любую топологию, которую хотите, но логически у вас есть линия. Если вы хотите иметь избыточность, вы можете подключить последнего ведомого устройства со вторым портом EtherCAT на ведущем устройстве. Это дало бы вам реальную кольцевую топологию, и шина все равно работала бы в случае отказа подчиненного устройства (исключая дефектное подчиненное устройство).

Как Эрик Z ответил выше, это может быть физическая линия, кольцо, звезда или дерево. И он говорит, что пакет пройдет через логическое кольцо. Но он не сказал, как это достигается, смотрите мои комментарии на его ответ. Поэтому я покопался немного глубже и нашел эту статью:
http://digital.ni.com/public.nsf/allkb/3399C1A0211EDC14862580140065286B

которые описывают, что для "выделенного соединения EtherCAT" необходимо построить звезду (или дерево):

Star:
Это наиболее знакомая топология для многих новичков в EtherCAT®, поскольку она напоминает обычную сеть Ethernet с использованием концентраторов. Однако для реализации этого вам понадобится выделенное соединение EtherCAT®. Из-за этого это потенциально дороже, чем кольцо или линия. Кроме того, эта топология будет немного медленнее, чем другие, поскольку существует больше промежуточных узлов, которые должны повторять сообщение между конечными узлами (например, для того, чтобы пакет EtherCAT® прошел путь от главного к подчиненному, он должен сначала пройти через узел соединения / концентратор, что введет небольшую задержку). На самом деле, топология EtherCAT® звезда не похожа на традиционную топологию звезда - на самом деле это линейная топология, в которой данные проходят через соединительный порт 1, достигают его конечного ведомого устройства и возвращаются в соединительный узел, а затем проходят через соединительный порт 2 таким же образом., Эта топология лучше всего подходит для систем в местах с физическими ограничениями, которые затрудняют реализацию линии или кольца.

В поисках "EtherCAT соединения" я нашел
https://www.beckhoff.com/english.asp?ethercat/ek1122.htm
что на самом деле является продуктом, о котором упоминал Эрик З, двухпортовое соединение EtherCAT. Также есть 8-портовые устройства, https://www.beckhoff.com/english.asp?pc_cards_switches/cu1128.htm

Другие вопросы по тегам