赞
踩
在介绍EtherCat主站与从站前,选介绍下协议。在上一博客,介绍了伺服驱动器与电机编码器之间的通信协议BiSS-C协议。下面再介绍一个新协议EtherCat,这个协议也是起源于德国的。
ETG.1000 系列文件是在 EtherCAT Technology group 范围内对 EtherCAT Technology 详细说
明。它分为以下几个部分:
ETG.1000.1: 概述
ETG.1000.2: 物理层服务定义和协议规范
ETG.1000.3: 数据链路层服务定义
ETG.1000.4: 数据链路层协议规范
ETG.1000.5: 应用层服务定义
ETG.1000.6: 应用层协议规范
应用层结构如下:
— ETG.1000-5 的类型特定部分中的应用服务元素(ASE)描述“做什么”;
— ETG.1000-6 的类型特定部分中的应用关系(AR)描述“怎么做”。
数据链路层结构如下:
— ETG.1000-3 的类型特定部分中的数据链路服务和模型描述“做什么”;
— ETG.1000-5 的类型特定部分中的数据链路协议机以及媒体访问原理描述“怎么做”。
物理层的结构类似,但因其服务容易描述,因此这些服务定义与物理层协议规范出现在同一规范
(ETG.1000-2)中:
— 物理层服务和模型描述“做什么”;
— 物理层电磁和机械规范描述“怎么做”。
OSI和EtherCAT各层比较:
通过 DLL – PHL 接口数据单元间的映射:
注 1: DLL-PHL 接口是一种虚拟机间的虚拟服务接口;由于本规范不需要显露该接口, 在这里不需要物理信号线。
注 2: 这些服务用于 DLL 实体与其关联的 Phl 实体间的 PhIDU 交换。这样的传输是协同操作的 DLL 实体间事物处理的一
部分。本部分列出的服务是最低要求,这些服务能联合提供一种方法,通过该方法,协同操作的 DLL 实体能协调在共享的
通信媒体上的传输及数据交换。如有必要,也提供数据交换的同步及相关的操作。
注 3: 恰当的分层要求:对于(N)层提供(N)层服务的方法, (N+1)-层实体不涉及,并且(N)-服务接口没有过度限制。因而,
Ph-服务接口不要求 DLE 知道 PhE 的内部细节(如: 前同步码、后同步码和帧定界符信号模式,每波特的比特数),并且
不妨碍 PhE 使用适当的升级技术。
注 4: 根据工业实践,定义了许多不同的 DLL – PhL 接口。
系统管理 – PhL 接口:
该接口为 PhL 提供用于初始化和选择项的服务。
PhL 的目标之一是允许未来的变型,如无线,光纤,冗余通道(如电缆) ,不同的调制技术等。 一
种通常形式的系统管理– PhL 接口,它提供了实现这些变型所需的服务。
当设备直接连接到媒体时, 一套完整的管理服务才能被使用。 对于有源连接的设备(如有源耦合
器,中继器,无线/调制解调器电话,光电等) ,其中的一些服务对于有源耦合器是可以隐含的。 此
外,每个设备可以使用描述原语的一个子集。
注: 据工业实践,定义了许多不同的系统管理 – PhL 接口。
DCE 无关子层( DIS):
PhL 实体分为数据终端设备( DTE)组件和数据通信设备( DCE) 组件。 DTE 组件与 DLL 实体通
过接口相连,并形成了 DCE 无关子层( DIS)。 DIS 通过第五章中定义的 DL - Ph 接口交换接口数
据单元, 并提供了 DL – Ph 接口处每次的 PhIDU 和物理发送与接收所需的比特串之间的基本转
换。
该子层独立于所有的 PhL 变型,包括编码和/或调制、 速度、 电压/电流/光模式、 媒体等,所有这些
变型在指定数据通信设备( DCE) 下分组。
注: 根据工业实践,定义了许多不同的 DIS 实体。
DTE–DCE接口和MIS特定功能:
PhL 实体分为包含 DIS 的数据终端设备( DTE) 组件和包含 MDS 及较低子层的数据通信设备
( DCE) 组件。 DTE - DCE 接口连接这两个物理组件,且其自身包含在 MIS 中(见图 1) 。
注: 根据工业实践,定义了许多不同的 DTE – DCE 接口。
对于 DTE - DCE 接口或任何其他接口,不强制显露这些接口。
对于类型 3 同步传输模式、类型 1 和类型 7, DTE-DCE 接口是支持一组服务的功能性和电气接
口,不是机械接口。这些服务中的每个服务通过在接口上的已定义的信号交互序列实现。
媒体相关子层(MDS):
媒体相关子层( MDS)是数据通信设备( DCE)的一部分(见图 1)。第 8 章规定了 MDS 通过
DTE-DCE 接口交换信息,第 10 章规定 MDS 通过 MDS-MAU 接口传输已编码的 Ph-符号。 MDS
的功能包括:分别为发送和接收进行逻辑编码和解码、增加/删除前同步码和定界符以及定时和同步
功能。
注: 根据工业实践,定义了许多不同的 MDS 子层实体。
MDS-MAU接口:
媒体附属单元(MAU)是通信部件的一个可选独立部分, 可直接或通过无源器件连接到媒体( 见图
1) 。对于电信号来说, MAU 是为发送和接收信号提供了电平变换和波形整形的收发器。 MDSMAU 接口将 MAU 连接到 MDS。 服务被定义为实现该接口的物理信号,该接口的显露是可选的。
后续各条列出规定的 MDS-MAU 接口所需服务的最小集。管理服务见第6 章。
注: 根据工业实践,定义了许多不同的 MDS – MAU 接口
具体定义了数据链路层的功能特性,包括硬件的电气特性要求,和软件开发的数据结构定义、通信过程等,这里软件部分偏向低层硬件层面。
注:这两部分不具体说明,可以使用时参考协议手册。
具体定义了应用层的功能特性,主要是软件开发的数据结构定义、配置、通信过程等。
注:这两部分不具体说明,可以使用时参考协议手册。
如果只是对EtherCat的应用,可以不必详细研究协议文档,在做软件开发时,使用得比较多的,也就是查看下第4和6章中数据结构定义部分。当然,如果是做深层研究的,比如开发EtherCat处理芯片、或模块时,需要深层研究。这有点类似USB协议的学习,平时开发单片机上的USB驱动也好,还是Android系统下的USB驱动也好,都只要理解USB的一些数据结构,和使用的逻辑,基本就可以了。
对于主站的开发平台,我个人认为,可以分为两个阵营:
对于主站的选择上,也分两种,一种是工业级的,这是最好的主站了,最好的,当然就没有免费了。另一种是一些开源的主软件包,可以在不同的操作系统上使用它们,比如SOEM和IgH。这两个开源的EtherCat主站,前者相对简单一些,SOEM主站代码比较少,核心代码大约10000多行,但功能没有后者齐全。当然了,它们与工业级的主站还是有差别的,特点是安全性方面,这个只有工业级的才支持。对于工业级的,也有很多可选,我们听到比较多的就是Twincat3(现在版本是3,以前还有2),Twincat3是基于微软visual studio IDE开发工具的,所以需要先安装对应版本的visual studio。另外,还有一个工业级自动化控制系统codesys也有EtherCat主站功能。
下图是SOEM的代码文件:
以上,就是主站的一些软件包,然后我们可以开发一些针对具体使用场景的应用,这时其实,就是对相关API的使用的灵活使用了。常用的开发工具有C#、QT等等。
主站的开发,可能更多是偏向于软件,而且可以实现具体的不同功能,这主要看使用的场景,比如医疗、工业机器人、自动化等场景。所以,在软件上可以做出不同的花样的也是很多的。这是相对于从站而言的。
从站的开发,就显得比较单一了,有点类似单片机开发,自然,也要选择EtherCat从站的控制芯片,常用的EtherCAT salve从站控制芯片 TMC8462、8461、8460;Microchip的LAN9252;台湾亚信AX58100等。这只是从站的控制芯片,另外,还需要一个MCU,也就是单片机,这个选择的就多了,比如ST的F407等等。
一般选好对应的从站控制芯片厂家后,厂家都会提供相关的从站开发源码的,所以这部分也不需要太多担心,只要对协议有一点了解,再会单片机开发,基本都可以胜任这方面的开发的。
EtherCat从站配置文件,这个配置内容是要写到EEPROM中保存的,当从站上电后,会读取出来初始化相关的寄存器。同时这个配置文件还给上面的主站识别使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。