
自动化改造中趋势越来越明显的一种倾向是:使用以太网作为整个自动化方案的基础。这样做可能会导致增加一些复杂的问题,而且这种担心引起了人们的重视。
新研发的建立在EtherCAT基础上的自动化设备使较远距离的通信变得更快,同时也为用户带来了额外的好处。可是,使用的简便性又如何呢?在EtherCAT基础上的自动化方案如何能够做到像以前的方案那样可以简单操作?仅需要极少的入门培训费就能保证迅速成功而且又能为用户节省时间和成本的方案应当是什么样呢?如何能够获得尽可能大的效率,才能迅速且高生产率地实现应用呢?这些问题可以利用柏林Kithara Software公司的EtherCAT Masters来解答。
Kithara的EtherCAT Master是一种新研制的产品,包含有其他方案无法具备或者只能部分具备的功能。该产品特别重视简便的可使用性,在大多数情况下,可以使编程人员能够很快着手实现所需要的用途,而不必花费大量费用去搞各种各样的培训。不过对于特殊的用途来说,也可以非常细微地深入到其各种机制中。这当然也就需要编程人员花费较高的费用。
实现实时功能
Kithara的EtherCAT Master是在Windows下面具有实时功能的一种方案。实时能力是由专用的Windows实时扩展装置,也就是Kithara RealTime Suite提供的。这种装置也提供采用若干千赫的基于PC的实时计时器以及各种接近硬件的调用机制,包括用于操作PCI卡或者USB设备的装置(图1)。

图1 在Kithara-EtherCAT Master上,数据组描述Slaves、PDO及各种变量一览,它们的数据在PC数据用户存储器和EtherCAT装置之间周期式地进行交换
为了实现Kithara EtherCAT Master的实时功能,需要满足两个前提条件:一是网络的连接必须能够进行无延时的发射,以及在接收Ethernet-Frames时可以直接做出反应。这会取代Windows的原装驱动器,网络硬件需要利用经过优化的驱动器直接进行对话。二是在大多数自动化用途中,必须等间距地周期性执行用户专用的控制软件进行实时运行。
用户采用C/C++或者Delphi语言做成控制软件,在这些编程语言的基础上,开发人员可以在其习惯的开发环境中编制其实时程序。同时,控制软件开发本身可以在应用层面上舒适地进行,以后再放在Kernel层面上实施。
首先需要观察一下配置的性质。在最简单的情况下,使用者调出一种功能,用以打开EtherCAT Master,该功能提供进入网卡的机会,对连接的EtherCAT设备进行全面分析,然后再反馈一个描述符结构,它可以对连接的所有EtherCAT-Slaves(比如EtherCAT输入输出接线端子)进行全面描述。使用者可以从这种描述符结构中获取下列信息:描述符结构的最上一级是所谓的主机描述符,该描述符说明连接的EtherCAT-Slaves有多少,而且可以对相应的从机描述符进行操作。而从机描述符又利用Vendor和产品ID识别符号、型号、名称以及某些描述性元素对从机进行描述。同时,它们还可以指出各个过程数据目标(PDO)和服务数据目标(SDO),而它们又根据名称、数据类型和比特长度对它们当中包含的每一种变量进行描述。
所以,使用者在仅调出一种功能打开了EtherCAT主机之后,就可以根据自己的设想对连接的EtherCAT网络进行全面的分析。单是这个方面就显示出,同其他的方案相比,在操作上实现了显而易见的简化。利用现有各种类型的从机进行的测试、某个从机的定位以及同规定设备的比较在这个(白盒子)基础上也可以简单地进行,例如对网络结构做图形演示。
在其他方案中,这个地方的原理往往是相反的(黑盒子),那是编程人员必须规定某些ID或其他数据,以便寻找合适的从机装置。研发人员因此而被迫临时收集ID和数据,没有这些东西他将找不到从机,撇开这一点不谈,光是对整个网络进行概览和查找也是不可能的。此外还要定期准备大量的各种功能,因为查找的标准可能是大相径庭的。虽然如此,这样多的功能在大多情况下也只能涵盖其中一部分。
哪些PDO是数据组的一部分
通过前面描述的Kithara EtherCAT Master中将这一原理逆反过来,编程人员就以更为简单的方式可以自由选择适合的通道,用编程语言的变量和结构来显示现有的EtherCAT结构(图2)。

图2 哪些PDO应当是数据组的一部分,可以简单加以确定
正是这种用变量和结构的图形显示,才是调整阶段的主要目的,这样才能继续本来的程序过程。编程人员现在如何找到自己的变量?首先要说的是:他不必再去估计哪个字节有他的变量,而是得到由公司提供的变量地址。
为此,Kithara EtherCAT Master可以利用Dataset概念。一个数据组描述的是从机、PDO和变量的组合,它们的数据在PC用户存储器和EtherCAT设备之间进行周期性的交换。在最简单的情况下,只有一个这样的数据组,所有有效的过程数据目标全部都在这个数据组里。这个数据组代表一个包含所有相关PDO及其变量的存储器区。在本方案中,这个存储区是所谓的共有存储器(Shared Memory),无论是从用户层面还是从Kernel核心层面都是可以进行访问的。代表数据组的共有存储器区包括实际数据和额定数据,并按下面的顺序周期性地进行刷新。
假定用户实现了一种计时器功能,便可以和Kithara实时计时器一起采用若干千赫的频率在Kernel核心层面上运行。现在需要在两个时间点上对数据进行调整:计算之前读入所连接的EtherCAT-Slaves的实际值(例如传感器),计算之后则需要将新计算出的额定值重新写到从机(比如执行器)上。使用者可以自己对这两种操作进行控制,否则就无法保证数据的相容性。有两个简单的功能调用可供使用,利用它们就可以使共有存储器里进行输入或输出的数据交换。从时间上看,数据传输本身是在幕后进行的,因为受到支持的网络管理器本身担负着Ethernet-Frames的传输。
编程人员的舒适之路
使用者在一定程度上得到了所连接的EtherCAT-Slaves(I/O端子、传感器、动作控制器Motion Controller等)直接提供的变量,不必再为数据的传输操心了。虽然如此,使用者还要精确地确定时间点。这里和别的几种方案又有所不同,那些方案需要在背景中启动一种软SPS(Soft-SPS),由它来负责数据交换。这时很容易出现不相容性,因为数据的刷新是不依赖于使用者的控制流的。
为了确定哪些PDO应当是数据组的一部分,存在着一种功能,在初始化阶段,利用这种功能可以对数据组补充任意一个描述符目标。这可能是一个变量,一个PDO,一个Slave或者整个主机描述符(Master-Deskriptor)。在四个变量中,每一个变量都有它们特殊的意义:假如在某个数据组添加了一个主机描述符,这只意味着通过一次调用在标准配置中补充了所有连接的从机(Slaves),所以说这是最简单的方法。同样也可以在一个数据组里仅添加实际上需要的从机。这里的标准配置指的是,一个从机可以经过包含全部有效PDO的普通数据结构进行访问。
为此对数据结构准备了相应的标题定义(Header Definition)。实例是Beckhoff的二通道模拟输入模块EL3162:它总共配有3个PDO。在前两个PDO中分别包含一个用于模拟值的16 Bit变量和一个用于状态的8 Bit变量。还有第三个PDO,它仅包含用于两个通道模拟值的16 Bit变量。不过它在正常状态下是冗余的,只是出于效率上的原因打算放弃状态信息的情况下才需要它。正常情况下标准配置仅支持前两个PDO。所以,当数据组补充相应的二通道模拟输入模块的相应从机描述符时,仅自动准备两个标准PDO用于数据交换,而第三个冗余的PDO则不予关注。
这种标准配置可以十分舒适地进行工作:对于常用的EtherCAT Slave-Module(比如Beckhoff的I/O端子)仅提供带有成品结构定义的标题文件。在描述符结构中,每个从机描述符中都有一个指向共用存储器区的指针,它可以直接指向端子的结构类型。
当然,数据组仅严格要求添加必要的PDO或者仅添加个别变量,并精确确定哪些数据应当加以刷新,那样费用自然会少一些。于是这里有两种局面,它们表明与数据组打交道有多么灵活,可以定义一个以上的数据组,并精确选定哪个Slave或者哪个PDO属于哪个数据组,这样就可以更好地利用供使用的通信带宽。
设置两个不同的数据组
举一个例子:假定一个EtherCAT网络包含有大量连接的Slaves,那么所有PDO的刷新在一个周期之内将持续相当长的时间(例如若干微秒)。大多数Slaves只是每秒钟需要读一次的温度探头,可是只有少数的Slaves需要使用比如5kHz的频率进行刷新。那么某些EtherCAT Master方案在这里就失灵了,因为它们只允许所有的Slaves在惟一的一个周期当中进行刷新。
解决方案是设置两个不同的数据组,其中在一个数据组上添加温度传感器的所有PDO,该数据组每秒刷新一次。另一个数据组仅添加少数几个需要频繁刷新的Slaves。使用者现在可以分别确定两个数据组的刷新时间。在通信层面上,自动负责使一个数据组的 EtherCAT-Datagramme比另一个数据组优先性得到处理。RealTime Suite的专用实时以太网驱动器为此备有对Ethernet-Frames确定优先等级的可能性。将来也有可能在一个数据组上添加属于不同通信技术的PDO。比如已经打算以同样的方式支持不同的技术(CANopen及Profinet等),因而提供了在相同软件的情况下进行硬件交换的可能性。
Kithara Software公司的Uwe Jesgarz认为:“EtherCAT技术得到称赞不是没有理由的,它大大简化了自动化技术。在使用者自己编制数据包并且不得不自己负责通信的时代已经一去不复返了。但除了EtherCAT在技术上的优势之外,主机软件的操作也是一项重大的简化。”

2025-12-12
2025-12-12
2025-12-12
2025-12-12
2025-12-15
2025-12-16
10月31日,以 “解锁・下一步” 为主题的2025红帽论坛暨媒体沟通会在北京JW万豪酒店盛大召开。红帽通过核心主旨演讲、重磅新品发布、权威报告解读及高层对话,全方位展现了其以开源技术破解行业痛点、引领企业数字化转型的实力与愿景,为 AI 时代的企业创新注入强劲动力。
作者:何发
评论
加载更多