摘自:EtherCAT协议(1~6)
1. EoE ASE
1.1 概述
除了已经描述的用于设备间通信的寻址模式,以太网现场总线还希望具有标准的基于 IP 的协议特征,如 TCP/IP、UDP/IP,以及所有基于他们的更高层协议(HTTP、FTP、SNMP 等)。理想情况下,单个以太网帧应被透明传输,这样避免了协议转换方面的限制。
有两种不同的基本方法可以在周期性现场总线模式下实现非周期性以太网帧的传输。第一种方式,分配一个适当的可以嵌入非周期以太网帧的时间片。时间片的时间必须足够长,以确保在时间片内容纳(传输)完整的以太网帧。ISO/IEC 802.3 规定最大帧长度是 1526 个八位位组(带帧标记的情况下是 1530 个八位位组),对应于 100Mbit/s 的以太网大约需要 125μs 的传输时间(包括帧间间隙)。使用这个方式,系统的最小周期大约是 200~250μs。降低最大帧长度往往引起问题。尽管原则上 IP 协议允许多分段传输,这种方式不推荐使用,并且有的协议可能不支持分段传输。这种方式也可能出现数据一致性问题,尤其在以 UDP/IP 协议传输时。
EtherCAT 利用的是第二种方式:在作为完整以太网帧被传送前,在相关设备内对帧应用隧道和重组。由于可以根据可用带宽优化分段(以太网分段而不是 IP 分段),因此这种方式不限制可实现的周期时间。在这种情况下,EtherCAT 定义了一个原则上任何设备都可以参加正常以太网通信的标准通道。例如:可以在以 100μs 为周期时间进行过程数据交换的智能驱动控制器中集成 HTTP 服务器,以使控制器具有网页形式的诊断接口。
另一种传输以太网帧的应用是具有非 EtherCAT 以太网端口的设备。在系统中的任何位置它们提供标准以太网端口,通过它们,任何以太网设备都可以被连接。例如,可能是一个直接与控制进行通信并查询智能设备网页的服务计算机,或通过控制将其简单路由到内部网络或互联网。主站也具备软件集成的交换机功能,负责各以太网帧在设备间的路由以及上位机操作系统的 IP 协议栈。该交换机功能与标准 2 层交换机功能相同,并且响应协议无关的以太网地址。
EtherCAT 网段内的 EoE 终端设备需要设置特殊的 EoE 参数。可用 EoE 服务设置 IP 参数(Set IP Parameter)和设置 MAC 过滤器(Set MAC Filter)来传递这些参数。
EoE 服务原语被映射到邮箱传输服务原语。

2. EoE 类规范
2.1 形式模型
EoE 对象由以下模板描述:
ASE: EoECLASS: EoE ParameterCLASS ID: not usedPARENT CLASS: TOPATTRIBUTES:
- (m)Key Attribute: Implicit
- (m)Attribute: Virtual MAC Address
- (o)Attribute: IP Address Info3.1 (o)Attribute: IP Address3.2 (o)Attribute: IP Subnet mask3.3 (o)Attribute: Default Gateway3.4 (o)Attribute: DNS IP Address3.5 (o)Attribute: Domain Name
- (o)Attribute: Filter Info4.1 (o)Attribute: Broadcast Forwarding4.2 (o)Attribute: List of MAC Address Filter4.2.1 (o)Attribute: MAC Address4.3 (o)Attribute: List of MAC Filter Mask4.3.1 (o)Attribute: Filter Mask
- (m)Attribute: List of Transmit Frames5.1 (m)Attribute: Frame5.2 (o)Attribute: Port5.3 (o)Attribute: Timestamp
- (m)Attribute: List of Receive Frames6.1 (m)Attribute: Frame6.2 (o)Attribute: Port6.3 (o)Attribute: TimestampSERVICES:
- (m)OpsService: Initiate EoE
- (m)OpsService: EoE Fragment
- (o)OpsService: Set IP Parameter
- (o)OpsService: Set MAC Filter
2.2 属性
-
ImplicitImplicit 表明 EoE 参数对象由服务隐式寻址。
-
Virtual MAC address该属性规定一个 MAC 地址,该地址根据 ISO/IEC 8802-3 用于识别以太网络内的节点。
-
IP Address info一个对象由下列元素组成:
- IP address该可选属性包含一个 IP 地址,该地址根据 RFC 791 用于标识互联网内的节点。
- Subnet mask该可选属性为属于同一 IP 子网的一组 IP 地址规定一个子网掩码。
- Default gateway该可选属性包含一个 IP 地址,该地址根据 RFC 791 用来标识互联网内的下一个路由器。
- DNS IP address该可选属性包含一个站的 IP 地址,该站支持域名到 IP 地址的转换。
- Domain name该可选属性用来存储节点的域名。
-
Filter Info一个对象由下列元素组成:
- Broadcast forwarding该可选布尔属性设置为真(true)如果应转发广播 PDU。
- List of MAC address filter 该属性包括以下内容:
- MAC address该属性规定一个 MAC 地址,该地址根据 ISO/IEC 8802-3 用于转发与 MAC 地址过滤器相匹配的帧。
- List of MAC filter mask 该属性包括以下内容:
- MAC address该属性规定一个 MAC 地址掩码,该掩码根据 ISO/IEC 8802-3 用于构成一个用于地址过滤的 MAC 地址组。
- List of transmit frames 该属性包括以下内容:
- Frame该属性规定一个完整的以太网帧。
- Port该可选属性规定帧的发送端口,端口的范围是 1 到 15。
- Timestamp该可选属性规定在发送帧时本地时间的时间戳,以 ns 为单位。
- List of receive frames 该属性包括以下内容:
- Frame该属性规定一个完整的无差错的以太网帧。
- Port该可选属性规定帧的接收端口,端口的范围是 1 到 15。
- Timestamp该可选属性规定在接收帧时本地时间的时间戳,以 ns 为单位。
3. EoE 服务原
3.1 支持的服务
EoE ASE 定义了如下服务:
- 初始化 EoE(Initiate EoE);
- EoE 分段(EoE Fragment);
- 设置 IP 参数(Set IP Parameter);
- 设置 MAC 过滤器(Set MAC Filter)。
3.2 Initiate EoE
Initiate EoE 服务用来传输以太网帧的第一个分段。表 25 给出了 Initiate EoE 服务的服务原语和参数。
表 - Initiate EoE
| 参量名称 | 请求 | 指示 | 响应 | 证实 |
|---|---|---|---|---|
| Address | M | M(r) | ||
| Port | M | M(r) | ||
| Time Appended | M | M(r) | ||
| Time Requested | M | M(r) | ||
| Frame Number | M | M(r) | ||
| Complete Size | M | M(r) | ||
| Last Fragment | M | M(r) | ||
| Data | M | M(r) | ||
| Timestamp | M | M(r) | ||
| Result | C | C(r) | ||
| Timestamp | M | M(r) |
Argument(该部分传递服务请求的服务特定参数)
- Address该参数规定服务器的站地址。
- Port该参数规定接收 / 发送帧的端口号,端口号的范围是 0 到 15,0 表示该端口没有被指定。
- Time appended如果附加了接收时间的时间戳(从 DA 的第一位开始计时),该布尔参数被设为 true,反之则设为 false。
- Time requested如果应在响应中传递发送时间的时间戳(从 DA 的第一位开始计时),该布尔参数被设为 true,反之则设为 false。
- Frame number该参数规定以 8 为模的帧的顺序号。
- Complete Size该参数表明此帧要被发送的 32 八位位组块的个数(不包括前导码、SFD、FCS)。它的范围是 2~48。
- Last fragment如果本服务是以太网帧的最后一个分段,则该布尔参数被设置为 true。如果后面至少还有一个 EoE Fragment 服务,则被设置为 false。
- Data该参数规定要传输到客户机的对象值,长度为 64~1472 个八位位组。
- TimeStamp该条件参数规定以 ns 为单位的被接收的时间戳(从 DA 开始为时间戳点)。
Result该参数表明可选的响应服务。
- TimeStamp该参数规定具有特定编号的帧的传输时间戳。
3.3 EoE Fragment
如果要被传输的以太网帧大于 Initiate EoE 服务的 data 参数,则在 Initiate EoE 服务后,使用 EoE Fragment 服务来传输以太网帧的若干分段。表 26 给出 EoE Fragment 服务的服务原语和参数。
表 - EoE Fragment
| 参量名称 | 请求 | 指示 |
|---|---|---|
| Address | M | M(r) |
| Port | M | M(r) |
| Time Appended | M | M(r) |
| Frame Number | M | M(r) |
| Offset | M | M(r) |
| Last Fragment | M | M(r) |
| Data | M | M(r) |
| Time Stamp | C | C(r) |
Argument(该部分传递服务请求的服务特定参数)
- Address该参数规定服务器的站地址。
- Port该参数规定接收 / 发送帧的端口号,端口号的范围是 0 到 15,0 表示该端口没有被指定。
- Time appended如果附加了接收时间的时间戳(从 DA 的第一位开始计时),该布尔参数被设为 true,反之则设为 false。
- Frame number该参数与相关 Initiate EoE 服务中的参数 Frame Number 一致。
- Offset该参数以 32 表示用本帧传送的第一个数据八位位组在以太网帧内的偏移量(不包括前导码,SFD)。它的范围是 2~47。
- Last fragment如果本服务是以太网帧的最后一个分段,则该布尔参数被设置为 true。如果后面至少还有一个 EoE Fragment 服务,则被设置为 false。
- Data该参数规定要传输到客户机的对象值,长度为 64~1472 个八位位组。
- TimeStamp该条件参数规定以 ns 为单位的被接收的时间戳(从 DA 开始为时间戳点)。
3.4 Set IP parameter
Set IP parameter 服务用于将 IP 参数从客户机传送到服务器。服务器返回设定操作的结果。表 27 是 Set IP parameter 服务的服务原语和相关参数。
表 - Set IP parameter
| 参量名称 | 请求 | 指示 | 响应 | 证实 |
|---|---|---|---|---|
| Address | M | M(r) | ||
| MAC Address | O | O(r) | ||
| IP Address | O | O(r) | ||
| Subnet Mask | O | O(r) | ||
| Default Gateway | O | O(r) | ||
| DNS Server | O | O(r) | ||
| DNS Name | O | O(r) | ||
| Result (+) | S | S(r) | ||
| Result (-) | S | S(r) | ||
| Reason | M | M(r) |
注:证实原语与其它相应的之前的请求原语的关联是本地实现的,见 1.3。
Argument(该部分传递服务请求的服务特定参数)
- Address当主站是客户机时,该参数规定源站的站地址。当从站是客户机且允许从站与从站间的通信时,则该参数规定目的站的站地址。
- MAC address该可选参数规定一个 MAC 地址,该地址根据 ISO/IEC 8802-3 用于标识以太网络中的一个节点。
- IP address该可选参数包含一个 IP 地址,该地址根据 RFC 791 用于标识互联网中的一个 IP 节点。
- Subnet mask该可选参数包含一个 IP 子网掩码,该掩码根据 RFC 791 用于标识互联网中的一个 IP 子网。
- Default gateway该可选参数包含一个 IP 地址,该地址根据 RFC 791 用来标识本子网到互联网的标准路由器。
- DNS IP Address该可选参数包含一个站的 IP 地址,该站支持域名到 IP 地址的转换。
- Domain name该可选参数用于存储节点的域名。
**Result(+)**该选择类型参数表明请求成功。
**Result(-)**该选择类型参数表明请求失败。
Reason该参数表明服务失败的原因。
3.5 Set address filter
Set address filter 服务用于从客户机向服务器传输地址过滤器。服务器以设置操作的结果进行应答。表 28 给出 Set Address Filter 服务的服务原语和参数。
表 - Set address filter
| 参量名称 | 请求 | 指示 | 响应 | 证实 |
|---|---|---|---|---|
| Address | M | M(r) | ||
| Broadcast Forwarding | O | O(r) | ||
| MAC Address Filter1 | O | O(r) | ||
| ... | O | O(r) | ||
| MAC Address Filter16 | O | O(r) | ||
| MAC Filter Mask1 | O | O(r) | ||
| ... | O | O(r) | ||
| MAC Filter Mask4 | O | O(r) | ||
| Result (+) | S | S(r) | ||
| Result (-) | S | S(r) | ||
| Reason | M | M(r) |
注:一个证实原语与它之前发送的请求原语对应起来的方法是一个本地问题。见 1.3。
Argument(该部分传递服务请求的服务特定参数)
- Address当主站是客户机时,该参数规定源站的站地址。当从站是客户机且允许从站与从站间的通信时,则该参数规定目的站的站地址。
- Broadcast forwarding该可选布尔参数被设置为 true 来启用广播过滤器。
- MAC Address Filter1~16这些可选参数包含一个 MAC 地址,该地址根据 ISO/IEC 8802-3 用于过滤以太网络中不是寻址到该地址的帧。
- MAC Filter Mask1~4这些可选参数包含一个 MAC 地址,该地址根据 ISO/IEC 8802-3 用来掩码未被使用的位。该掩码可与相关联的过滤器相对应。
**Result(+)**该选择类型参数表明请求成功。
**Result(-)**该选择类型参数表明请求失败。
Reason该参数表明服务失败的原因。