打印
[应用相关]

记录STM32开发一个完整的EtherCAT的过程!

[复制链接]
44776|168
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

使用特权

评论回复
沙发
goodluck09876|  楼主 | 2019-7-20 10:24 | 只看该作者

使用特权

评论回复
板凳
goodluck09876|  楼主 | 2019-7-20 10:31 | 只看该作者
    运动控制是指对机械运动部件的位置、速度等进行实时的控制管理,使其按
照预期的轨迹和规定的参数(如速度、加速度参数等)完成相应的动作[yob。运动
控制起源于早期的伺服控制,伴随着数控技术、自动化技术和以太网通信技术的
发展而发展的。运动控制技术是推动工业自动化的主要动力,是促进企业产业转
型的关键技术「川。
    运动控制系统处理机械系统中一个或多个坐标上的运动以及运动之间的协调,
实现精确的位置控制、速度和加速度控制、转矩和力的控制等[f121。单轴的运动控
制系统可分为开环、半闭环和闭环伺服系统。多轴运动控制系统可以分成点位控
制、连续轨迹控制和同步控制[[13]。典型的运动控制系统,从结构上看,包括上位
机控制窗口、运动控制器、驱动器、电机以及测量反馈系统等几个部分组成,运
动控制系统示意图如图1-1所示。运动控制器是整个运动控制系统的核心,它按
照期望的机械运动向驱动器或放大器发出指令,进行插补运算、路径规划等任务,
并接受传感器反馈,实时监测运动情况并调整输出信号,从而达到性能指标实现
期望的运动。

使用特权

评论回复
地板
goodluck09876|  楼主 | 2019-7-20 10:31 | 只看该作者
    实时以太网(RTE, Real Time Ethernet)是常规以太网技术的延伸,以便满足
工业控制领域的实时性数据通信要求[[14]。目前,国际上有多种实时工业以太网协
议,根据不同的实时性和成本的要求使用不同的原理,大致可以分为以下三类[[15]
如图1-2所示。

使用特权

评论回复
5
goodluck09876|  楼主 | 2019-7-20 10:42 | 只看该作者
      (1)基于TCP/IP实现的工业以太网仍使用TCP/IP协议栈,通过上层合理的
控制来解决通信过程中的不确定因素。这种方式具有较高的传输速率,适应于大
量数据通信,更适合作为网关和交换设备的应用,不能实现很好的实时性。常用
的通信控制方法有:合理调度,减少冲突的概率;定义帧数据的优先级,为实时
数据分配最高优先级;使用交换式以太网等。使用这种方式的典型协议有
Modbus/TCP和Ethernet/IP等。
      C2)基于以太网实现的工业以太网仍然使用标准的、未修改的以太网通信硬
件,但是不适用TCP/IP来传输数据。它使用特定的报文进行传输。TCP/IP协议
栈能使用时间控制层分发一定的时间片来利用网络资源。该类协议主要有Ethernet
Powerlink, EPA C Ethernet for Plant Automation ), PROFINET IRT等。通过这种方
式可以实现较好的实时性。
      (3)通过修改以太网协议实现的工业以太网,实现应答时间小于lms的硬实
时,从站使用特定的硬件实现。由实时MAC控制实时通道内的通信,从根本上
避免报文间的冲突。非实时数据依然能在通道中按原协议通信。典型协议有德国
倍福的EtherCAT、西门子的PROFINET IRT等。
    综合比较以上三种方式实现的工业以太网,根据实时性和可靠性的要求,本
课题将采用EtherCAT总线来实现控制系统中主站PC机与从站运动控制器之间的
通信。

使用特权

评论回复
6
goodluck09876|  楼主 | 2019-7-20 10:52 | 只看该作者
    EhterCAT实时工业以太网技术由德国倍福自动化公司于2003年首次提出。
一经推出就在全球工业控制领域受到极大关注,在很多不同的领域、行业、企业
和科研单位都使用EtherCAT工业以太网技术成功地开发了他们的项目[29]。
    在国外,瑞典Lund大学利用EtherCAT成功开发了全球首台基于实时JAVA
的机器人;德国BMW技术研究中心利用EtherCAT成功开发出测试电机的机床;
德国的IGH公司利用EtherCAT技术研发了测试液压工具的机床;意大利的公司
ECS使用EtherCAT技术研发成功他们的数控机床;法国Vernet Behringer公司使
用EtherCAT工业以太网开发了CNC数控系统[[30]
    在中国,EtherCAT工业以太网也被广泛地应用。在2010年上海举办的世博
会中,互动金属球控制系统就是利用EtherCAT技术实现的,应用了TwinCAT自
动化软件和EtherCAT总线通讯;2006年,明阳电气有限公司使用EtherCAT开发
了广东省堪江风力发电机组的控制系统;2008年,科时敏公司利用EtherCAT现
场总线技术研发了热嫁胶贴标机的控制系统,使用了Beckhoff控制器和TwinSAFE
安全技术;2010年,沈阳高精数控技术有限公司利用EtherCAT总线和TwinCAT
开发出全数字高档数控装置。

使用特权

评论回复
7
goodluck09876|  楼主 | 2019-7-20 10:54 | 只看该作者
    EtherCAT工业以太网因其实时性强、可靠性高及同步性好等优点特别适合应
用于运动控制系统当中。本文在多轴运动控制系统中引入EtherCAT总线技术。在
深入研究EtherCAT总线技术和多轴运动控制技术的基础上,采用PC机为主站、
ARM+MCX314为从站处理器的系统架构。开发出一套基于EtherCAT的多轴运动
控制系统。
    近年来工业以太网发展迅速,不断取代现场总线走向工业自动化领域的总线
最前端。现场总线因为其多种标准并存,没有统一的国际标准,致使控制网络的
系统与信息集成面临困难局面,给用户带来极大的不便,因此给现场总线技术的
推广和应用带来不利影响。以太网技术因成本低、扩展性强和兼容性强等诸多优
点,受到人们的青睐。虽然基于以太网的运动控制系统具有诸多优点,但以太网
在工业控制领域应用仍受到诸多质疑,主要的原因是其不确定性和欠佳的实时性。
    目前,有许多方案致力于实现以太网的实时性,效果都不够理想。德国
BECKHOFF自动化公司于2003年开发出的EtherCAT实时以太网技术突破了其他
以太网解决方案的系统限制:通过该项技术,无需接受以太网数据包,将之解码,
然后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时读取
相应的数据报文,同样输入数据也是在报文经过时插入到报文中。整个过程报文
只有几纳秒的时间延迟,实时性获得极大提高[[32] [33 ]
    1.  EtherCAT系统构成
    EtherCAT作为一种工业以太网总线,充分利用了以太网的全双工特性。使用
主从通信模式,主站发送报文给从站,从站从中读取数据或将数据插入至从站。
主站可使用标准网卡实现,从站选用特定的EtherCAT从站控制器ESC C EtherCAT
Slave Controller)或者FPGA实现,主要完成通信和控制应用两部分功能[34]
EtherCAT物理层选用标准以太网物理层器件。
    一个EtherCAT网段可被简单看作一个独立的以太网设备,此“设备”接收并
发送标准的ISO/IEC8802-3数据帧。但是,这种设备并不局限于一个ESC或相关
的MCU,而是由多个EtherCAT从站组成,如图2-1所示。这些从站能将收到的
报文直接处理,并读取或插入有关的数据,再将报文发送给下一个EtherCAT从站。
最末尾的EtherCAT从站返回处理完全的报文,然后由第一个从站发送给主站。整
个通信过程充运行于全双工模式下,TX线发出的报文又通过RX线返回给主站。

使用特权

评论回复
8
goodluck09876|  楼主 | 2019-7-20 10:54 | 只看该作者
    报文通过从站控制器时,从站读取出相关命令并进行对应处理,数据处理通
过硬件完成,延间约为100-_SOOns,通信性能独立于MCU的响应时间。每个ESC
最大有容量为64KB的可用的内存编址,能进行连续或同步的读写。多个EtherCAT
命令数据可以被嵌入到一个以太网报文中,每个数据对应独立的设备或内存区。
    EtherCAT极大提高了以太网的性能,比如操作1000个I/O信号的时间约为
30微秒。单个报文至多容纳1486字节的过程数据,和12000位I/O信号相当,更
新所需时间约为300微秒。控制100个伺服单元的时间约为100微秒[[35][36]
    在基于PC的主站中,一般使用网络接口卡NIC C Network Interface Card
其中的网卡芯片集成了以太网通信控制器和物理层数据收发器。但是在嵌入式主
站中,通信控制器通常集成在微处理器中。
    EtherCAT从站设备同时实现应用控制和数据通信两部分功能,其组成如图2-2
所示,由四部分组成:从站控制微处理器、EtherCAT从站控制器ESC芯片、物理
层器件和其他应用层器件。

使用特权

评论回复
9
goodluck09876|  楼主 | 2019-7-20 11:09 | 只看该作者
    EtherCAT报文由从站控制器来处理,使用双端口存储区完成主从站间的数据
交换。每个从站ESC在环路上按各自的顺序移位读写数据。当数据帧经过从站时,
ESC从中读取发送给自己的命令数据并放到内部存储区,插入的数据又被从内部
存储区写到子报文中。
    从站控制微处理器主要负责处理EtherCAT通信和完成控制任务。微处理器从
ESC获取控制数据实现设备控制功能,并采样设备的反馈数据写入ESC。从站控
制微处理器的选型根据设备控制任务,可以使用ARM或DSP;  8位、16位或32
位的处理器。EtherCAT从站采用M II接口模式时,需要使用标准以太网物理层器
件:物理层芯片PHY,隔离变压器等。采用EBUS接口时不需要任何其他芯片。
    2.  EtherCAT数据帧格式
    EtherCAT数据直接嵌入在以太网数据帧中进行传输,只是采用了一种特殊的
帧类型,该类型为Ox88A4,  EtherCAT数据帧结构如图2-3所示。

使用特权

评论回复
10
goodluck09876|  楼主 | 2019-7-20 11:10 | 只看该作者
    EtherCAT数据包由数据头和数据实体两部分组成,EtherCAT数据头包含2
个字节,每个数据包里面可以只包含一个EtherCAT子报文,也可以包含多个子报
文;一个EtherCAT子报文对应着一个从站,因此一个EtherCAT数据包可以操作
多个EtherCAT从站,相应的数据长度在441498字节之间,表2-1给出了EtherCAT
数据帧结构定义。

使用特权

评论回复
11
goodluck09876|  楼主 | 2019-7-20 11:10 | 只看该作者

使用特权

评论回复
12
goodluck09876|  楼主 | 2019-7-20 11:11 | 只看该作者
    由于EtherCAT实时工业以太网技术具有适用范围广、拓扑结构灵活、数据通
信效率高、实时性强和同步性能好等多种优点,所以特别适用于实时性要求高、
通信数据量大的运动控制系统[[37]。本课题控制系统设计采用“PC+运动控制器”
的方案,构建多轴运动控制系统,采用PC机为主站、ARM+MCX314为从站处理
器的架构。其核心插补与控制算法都放在工业PC中完成,运动控制器要求大为
降低,其主要完成数字给定量到实际脉冲信号的转变。该控制系统方案的优势在
于简化硬件设计工作,主要以标准化的硬件为主:上位机可以采用工业PC机、
下位机使用开发的通用运动控制器,方便日后升级维护。工业PC机与运动控制
器直接采用
J决速发展,
EtherCAT实时工业以太网进行通信连接。随着实时工业以太网技术的
伺服驱动器也朝着网络化发展。
元可以直接通过以太网总线连接到工业PC
系统架构设计框图。
该方案可以省去运动控制器,伺服单
机,使其更具有生命力。图2-4为控制

使用特权

评论回复
13
goodluck09876|  楼主 | 2019-7-20 11:12 | 只看该作者
工业PC机采用低功耗小体积无风扇的工业计算机,其运行实时Linux系统
通过运行在工控机上的上位机软件,上位机运行基于LinuxCNC开发的数控系统
具有设置运动控制参数,实时显示加工进度、系统的运行状态、发送控制指令等
功能。利用cncKad等软件将设计好的CAD图纸读取后,然后转化成要加工的代
码(G代码);数控软件将G代码文件导入通过LinuxCNC任务控制器中的G代
码解析器对其进行词法分析语义分析,然后输出加工函数发送给LinuxCNC的运
动控制器,运动控制器完成多轴插补、计算进给量和运动控制算法等功能后将位
置/速度指令通过通信网卡发送给 EtherCAT从站;从站运动控制器将收到
EtherCAT数据帧读取后,发送脉冲/方向控制信号给伺服驱动器(SC)控制电机
  C SM)走相应的规划轨迹。32路的I/O将采集的开关信号(如限位,安全防护,
紧急停车等)发送给从站运动控制器,起到安全保护的作用。
    在对一般数控装备(如数控冲床、数控机床)的电气图进行充分了解的基础
上,结合本控制系统架构,确定本课题多轴运动控制系统的设计指标分为主站PC
机和从站控制器两部分:
    主站PC机的数控软件:
    1.参数设置:系统参数设置、运动轴参数设置、工艺参数设置和模具库参数
设置;
    2.加工状态:自动加工状态显示、手动加工状态显示、I/O状态显示和加工
图形仿真;
软件设置:软件信息、外部设备通信设置和高级设置;
警告与诊断:警告信息诊断和历史警告信息记录。
从站运动控制器:
1.控制轴数:)_5轴;
2.伺服电机控制方式:脉冲(PUL)和方向(DIR);
3.信号隔离性能:低速隔离)1Mbps;
4.通道12位模拟量输入:-_5 V一+_5 V ;
_5.机械限位、原点、接近原点信号输入:}12路;
伺服驱动器接口输入:
  伺服启动(/S-ON ) ;
伺服驱动器接口输出:
指令脉冲(PULS , /PULS )、指令符号(SIGN,
/SIGN)、
伺服警报输出(ALM+,  ALM- )、编码器分频脉冲
输出C相(PCO , /PCO ) ;
    8.插补方式:}2轴直线、圆弧插补;
    9.控制算法:S型加减速控制算法;
    10.电源接口:直流12-24V ;
    11.通讯接口:2个EtherCAT以太网通讯接口;1个RS232接口;1个SPI
扩展接口。

使用特权

评论回复
14
goodluck09876|  楼主 | 2019-7-20 11:13 | 只看该作者
    EtherCAT主站可由PC计算机或其他嵌入式计算机来实现,使用PC计算机
构成EtherCAT主站时,一般采用标准的以太网网卡NIC C Network Interface Card )
作为主站硬件接口,主站功能由软件实现。由于本课题采用工业PC机作为控制
系统的主站,故设计主站只需注意选用标准以太网网卡来作为主从通信网卡即可。
    从站运动控制器使用ARM+MCX314架构:以ARM为控制核心、MCX314
为伺服驱动芯片、ET 1200为从站控制器(ESC),图2-_5为从站运动控制器的硬件
架构框图。EtherCAT通信模块数据链路层使用专用芯片ESC,通常需要一个微处
理器实现应用层功能。

使用特权

评论回复
15
wangjiahao88| | 2019-7-20 11:15 | 只看该作者
这个的门槛比较高,一般人玩儿不转。。。

使用特权

评论回复
16
goodluck09876|  楼主 | 2019-7-20 11:15 | 只看该作者
这个运行稳定。尤其适用于高速、无延迟的控制系统中。

使用特权

评论回复
17
goodluck09876|  楼主 | 2019-7-20 11:16 | 只看该作者
    如图2-_5所示的从站运动控制器硬件架构:一方面,ARM作为运动控制器的
核心处理器,性价比高、功耗低、性能出色,并且其内部集成了大容量程序存储
器和SRAM,使得其可以单片化工作,避免外扩存储器,在简化电路的设计同时
提高了系统的稳定性;另一方面,MCX314作为专用运动控制芯片大大简化了运
动控制器的软硬件架构和开发工作,可将所有的加减速运动控制、多轴插补、原
点搜索交由运动控制芯片来处理。
    本伺服运动控制系统硬件总体方案所包括的部分和所实现的功能如下:
    1. EtherCAT主站采用无风扇工业PC机:除了集成标准以太网网卡,实现基
本的EtherCAT实时以太网通信之外,还具有丰富的配置来实现其他功能。PC机
采用无风扇设计,利用机体散热片自动散热,不采用风扇电机散热,极大降低故
障率;主板支持来电开机,-20 0C -}-60 0C宽温度运行范围,整机功率只有18W左
右,支持4个COM串口、2个千兆网接口、8个 USB接口;整机尺寸为
212* 150*43mm。
    2.  EtherCAT从站控制器ET 1200 :  ET 1200是EtherCAT实现通信功能的核心
器件。可以采用M II接口方式外接物理层芯片、网络变压器等标准以太网物理层
器件;也可以采用EBUS接口方式,直接连接RJ4_5接口,根据实际需求设计1-2
个EtherCAT数据收发端口。采用SPI串行通信方式连接ESC的PDI接口与从站
控制ARM处理器。EtherCAT通信模块在控制系统中起着桥梁作用,实现主站PC
机与从站控制芯片的数据通信:一方面,通过EtherCAT实时以太网通信协议,主
站将控制数据存储到ET 1200内部存储区供ARM读取;另一方面,ET 1200通过
SPI串口方式与ARM通信,ARM读取ET 1200内部存储区指令数据或将反馈数据
写入ET 1200内部存储区供主站读取。
    3. ARM核心处理器:ARM是运动控制器的核心处理单元,控制器适用于多
轴的实时高速高精度控制,因此需要有足够的I/O端口,灵活的编程功能,支持
浮点运算,高速运动控制算法,以实现较高的实时性,完成相对复杂的控制功能
和状态检测。因为ARM单片机具有浮点运算的功能,非常适合用于伺服控制算
法及轨迹规划的处理。因此,本控制器采用ARM芯片作为控制器的主处理器。
本设计中所用ARM选用STM32F427芯片,它是意法半导体推出的一款32位
Cortex-M4内核的处理器,具有丰富的片内外资源,能满足复杂工业现场中稳定
高效的运算需求。
    4.  MCX314运动控制芯片:MCX314AL是集4轴脉冲输入的伺服电机、步
进电机的定位控制、速度控制和插补驱动控制功能于一身的IC。可以进行各轴的
独立控制,选择4轴中的任意2轴或3轴可以实现直线插补、圆弧插补、位模式
插补和连续插补等功能。本控制器采用MCX314AL作为协处理器,用来实现控制
器的伺服驱动、原点搜索等多种功能。
    _5.电源管理模块:为运动控制器主板和接口板提供两路相互独立的电源,包
含+24V, +5V, +3.3V等工作电压。
    6.  AD采样芯片:AD采样使用AD7606模数转换芯片,从安全防护角度考
虑不使用ARM芯片片内的ADC单元。
    7.差分驱动和查分接收芯片:MCX314AL运动控制芯片输出的脉冲(PULS )
和方向(SIGN)信号经过差分芯片生成差分信号,增强信号的抗干扰能力和传输
距离,最终传输给伺服驱动器。伺服驱动器输出的编码器C相分频脉冲信号为差
分信号,经过控制器板上的MC3486差分接收芯片处理后输入给MCX314AL进行
分析。差分发送芯片选用TI公司的AMS36LS310
    8.光祸隔离模块芯片:光祸隔离采用的是TLP281-4芯片,该芯片集成4路
光祸,用于对I/O信号进行安全隔离。

使用特权

评论回复
18
goodluck09876|  楼主 | 2019-7-20 11:18 | 只看该作者
    控制系统软件设计分为主站软件设计和从站运动器软件两大部分,如图2-_5
所示。主站软件包含冲床数控系统界面程序、LinuxCNC架构分析及配置、EtherCAT
主站协议安装、linux实时性改造等方面。从站运动控制器软件包含ARM主控制
程序、从站EtherCAT通信程序、FSMC并行总线驱动程序、MCX314加减速控制
程序等。
    主站程序开发主要是在Linux环境下使用GCC编译器开发,数控界面使用
QT开发。从站使用Keil环境在STM32上开发各芯片驱动程序和运动控制程序。

使用特权

评论回复
19
goodluck09876|  楼主 | 2019-7-20 11:18 | 只看该作者
    本课题EthreCAT主站选用工业PC机,型号为GK1037,采用无风扇设计,
可达到无尘,无噪音,提高可靠性并降低故障率,如下图3-1所示。CPU采用英
特尔低功耗的赛扬1037U,双核1.8G处理器,整机功耗只有18W左右,主机支
持4个COM串口,支持8个USB接口(其中2个USB3.0接口6个USB2.0接
口),支持24小时开机,并且带有2个标准千兆以太网口实现EtherCAT总线控制。

使用特权

评论回复
20
goodluck09876|  楼主 | 2019-7-20 11:18 | 只看该作者
    EtherCAT从站控制器ESC C EtherCAT Slave Controller)是由德国BECKHOFF
自动化有限公司提供的,包括ASIC芯片和IP-Core,实现EtherCAT数据链路层
协议。目前ASIC从站控制专用芯片有ET1100和ET 1200,也可以使用IP-Core
将EtherCAT通信功能集成到设备控制FPGA当中,并根据需要配置功能和规模。
从本控制器的功能需求和性价比考虑,ESC芯片选用倍福公司的ET 1200}3g}。图
3-2为ET 1200从站控制器结构图。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

220

主题

5843

帖子

24

粉丝