【问题标题】:How does EtherCAT support different network topologies?EtherCAT 如何支持不同的网络拓扑?
【发布时间】:2014-07-12 13:11:03
【问题描述】:

EtherCAT 如何支持不同的网络拓扑?

假设一个纯 EtherCAT 网络没有任何标准的以太网交换机、集线器等...使事情复杂化,并且具有一个主设备和多个从设备。

一些消息来源将其描述为仅支持环形拓扑(即 Wikipedia),考虑到操作理论,这是有道理的,但 EtherCAT 网站称它也支持其他拓扑。

100BaseTX 以太网电缆包含两个半双工链路,每个方向一个;当被视为半双工链路的图表时,EtherCAT 是否始终是环形总线,但当被视为物理以太网电缆的图表时,该图表几乎可以是任意的?

【问题讨论】:

    标签: ethercat


    【解决方案1】:

    没错。

    从物理上看,可以有很多拓扑:菊花链、星形、树形等。例如,您可以使用 Beckhoff EK1122 模块创建一个三分支星形拓扑。从逻辑上讲,EtherCAT 帧通过的所有节点(主节点和从节点)都有一条确定的路径。这形成了一个环,因为 master 是启动所有帧的源,也是所有帧将返回的最终目的地。

    【讨论】:

    • 感谢您的确认!
    • 你能说出这在实践中是如何工作的吗?如果你有一个星形拓扑,那么数据包会被传输到所有连接的站点,因为没有像基于 IP 的网络那样的路由。那么,一个站点如何知道接下来将其数据放入并转发数据包呢?为此目的,标题中的某处必须有一个计数器。 // 当数据包离开一个站​​点时,它必须被传输到每个其他站点,以便下一个站点(其他站点不知道)可以将其数据放入...?
    • 但是如果数据包被传输到所有站点,我预计会发生冲突,因为活动站点在它仍在接收时转发数据包的第一部分。那么星型拓扑如何工作呢?这只能在没有分配给每个人的情况下才可以省略,但是如果数据被插入到星形/树的每个分支的前向路径上,并在返回时以某种方式合并,另一方面,这在环上不起作用... (困惑)
    • 找到了,添加了答案。
    【解决方案2】:

    EtherCAT“环路”是一组连接的从设备,每个设备最多可以连接四个相邻设备。这四个可能的连接称为端口,编号为 0-3。端口 0 是“上游”连接,我通常将其描述为连接到从设备的父设备,端口 1 通常是“直通”路径。

    以总线耦合器 (EK1100) 为例,它有:

    • 端口 0:标有“X1 In”的 RJ45 插座(用于以太网 8P8C 连接器)
    • 端口 1:EBUS-Out(用于 EBUS 片连接)
    • 端口 2:标有“X2 Out”的 RJ45 插座

    为了比较,EBUS 连接点具有:

    • 端口 0:EBUS-In(用于连接上游 EBUS 片)
    • 端口 1:EBUS 输出
    • 端口 2:标有“X1”的 RJ45 插座
    • 端口 3:标有“X2”的 RJ45 插座

    还有一个总线扩展 (EK1110) 有:

    • 端口 0:EBUS 输入
    • 端口 1:标有“X1 Out”的 RJ45 插座

    这些连接形成了一个图,其中每个从属节点都是一个节点,只有一个父节点和最多三个子节点。图中的每条边代表两个端口之间的双向以太网连接。一旦你建立了这个连接的从属图,自动递增编号方案会从树的深度优先遍历产生,用下一个空闲编号对每个新从属进行编号。沿着端口 1、端口 3 和端口 2 探索子图(不知道为什么是这个顺序)。

    所以,是的,每个半双工链路在通过网络的数据包传输期间只遍历一次,这意味着它可以被视为半双工链路的环,每个从属到从属连接出现在环上两个地方(每个遍历方向一次)。

    【讨论】:

      【解决方案3】:

      (一些附加信息)

      如果您查看 EtherCAT 主站对其从站的寻址方式,您会发现即使您有菊花链拓扑,电报传输的行为也类似于线拓扑。这是因为主站对总线上存在的所有从站进行计数,并为它们分配一个自动递增地址(在第一阶段)。这就是奴隶如何处理电报的顺序。所以主机将电报传递给slave1,它将其数据快速放入其部分并传递给slave2,依此类推。最后一个从站关闭总线并发送回电报。在用户手册中,他们有时会使用“快捷方式”这个词。

      所以物理上你几乎可以拥有你想要的所有拓扑,但逻辑上你有一条线。如果您想要冗余,您可以将最后一个从站连接到主站的第二个 EtherCAT 端口。这将为您提供一个真正的环形拓扑结构,并且总线在从属设备出现故障的情况下仍然可以工作(不包括有缺陷的从属设备)。

      【讨论】:

        【解决方案4】:

        正如 Eric Z 在上面回答的那样,它可能是物理线、环、星形或树。他说,数据包将通过一个逻辑环。但是他没有说这是如何实现的,请参阅我的cmets对他的回答。于是我挖得更深了,发现了这篇文章:
        http://digital.ni.com/public.nsf/allkb/3399C1A0211EDC14862580140065286B

        其中描述了 “专用 EtherCAT 连接点” 需要构建星形(或树):

        明星:
        这是许多 EtherCAT® 新手最熟悉的拓扑,因为它类似于使用集线器的常规以太网网络。但是,要实现这一点,您将需要一个专用的 EtherCAT® 接头。因此,它可能比环或线路更昂贵。此外,这种拓扑结构会比其他拓扑结构稍微慢一些,因为有更多的间隙节点必须在端节点之间重复消息(例如,对于从主节点到从节点的 EtherCAT® 数据包,它必须首先通过连接点/集线器,这将引入一个小的延迟)。事实上,EtherCAT® 星型拓扑与传统的星型拓扑不同——它实际上是一种线型拓扑,其中数据通过 junction 端口 1,到达其末端从站并返回到 junction,然后以相同方式通过 junction 端口 2 .这种拓扑结构最适合位于难以实施线路或环网的物理限制的系统。

        搜索“EtherCAT junction”我找到了
        https://www.beckhoff.com/english.asp?ethercat/ek1122.htm
        这实际上是 Eric Z 提到的产品,一个 2 端口 EtherCAT 接头。还有8口设备,https://www.beckhoff.com/english.asp?pc_cards_switches/cu1128.htm

        【讨论】:

          猜你喜欢
          • 2014-10-14
          • 2011-03-31
          • 2011-05-08
          • 1970-01-01
          • 2019-05-24
          • 2012-07-13
          • 1970-01-01
          • 2013-07-23
          • 1970-01-01
          相关资源
          最近更新 更多