tag 标签: ethercat

相关博文
  • 热度 4
    2022-4-21 11:28
    1245 次阅读|
    0 个评论
    本系列文章旨在帮助读者对虹科KPA Automation体系进行一个简要的理解,并且能使用MoDK进行快速的上手操作,包括:虹科KPA Automation、虹科KPA MoDK简介,虹科KPA MoDK的运行环境搭建与例程测试。本文档搭建的虹科KPA MoDK运行环境,是基于Win10,并且是以C/C++为开发语言进行的。若您有任何疑问,欢迎您评论、私信或联系sales@hkaco.com,虹科工程师将给您专业的解答。 程序准备: ①虹科KPA EtherCAT Studio ②虹科KPA MDK ③高于2.8版本的CMAKE ④Visual Studio、V-REP机器人仿真平台 ⑤虹科KPA MoDK 一、虹科KPA EtherCAT Studio简介 虹科KPA EtherCAT Studio是一站式的开发软件,可以连接至本地或远程的虹科KPA Master,进行整个EtherCAT网络的组态扫描,状态机切换,过程数据地址表确认等等操作,实现EtherCAT网络的组态、监视、诊断等功能。 结合MoDK使用时,我们需要虹科KPA EtherCAT Studio进行整个ECAT网络的组态,以及电机轴的各项参数设置,如绑定驱动器(伺服),驱动模式,电机最大速度、加速度、加加速度等等。 部分操作界面如下图所示,“MoDK例程测试”一章会详细阐述操作的步骤。 二、安装虹科KPA EtherCAT Studio 请注意,MoDK所需要的Motion Configuration Utility插件,只有在虹科KPA EtherCAT Studio 2中才有,所以我们安装的Studio版本,也必须是2.x版本的。步骤流程如下: 1. 获取studio安装包 如果您在虹科的合作伙伴KPA的官网上自行获取Studio安装包,那么流程将相对复杂,大致流程如下:注册KPA账户→填写缘由申请Trial版本的Studio(或者其他的试用产品)→等待KPA批复→KPA确认后在您的帐户中提供下载链接。 由于流程复杂且KPA批复时间不定,我们建议您联系虹科工程师给您分享Studio安装包。 2. 安装Studio 获取安装包后,您会得到一个msi安装文件,点击即进入安装流程。 请注意安装时候的两个路径,其中一个是Studio程序本体的安装路径,另外一个时Studio所需要调用的一些周边数据的路径,包括插件(如MoDK所需要的Motion Configuration Utility)、ECAT从站库等等。您可以自行修改安装目录。 接下来一路点击next完成安装即可。 Tips:Studio打开时需要扫描从站库文件夹加载ECAT从站库,这个过程耗时较长,且其中多数从站都不会用到,导致用户体验不佳,您可以参照以下步骤,快速加载Studio。 1)打开从站库文件夹 2)备份后删除 此时回到Studio,右键从站库空白处,点击“Reload collection”,可观察从站库已清空。 此时重新打开Studio,可以看到Studio的启动加载时间极大缩短了。 3)仅将所需设备的xml放入从站库文件夹,重新加载从站库 此时开启Studio后,只需要将将所需设备的xml放入从站库文件夹,重新加载从站库即可。 3. 为Studio绑定License 请注意,Studio可以运行在无需License的demo模式下,其性能会有所限制,仅允许从站有15个字节的PDO数据,多于15字节则PDO数据无法下发,并且运行其单次运行时间会有限制。MDK/MoDK运行环境的单次运行时间最多为1小时,1小时后运行环境将自动关闭。如需协助,欢迎联系虹科工程师。 三、安装虹科KPA Modk 虹科KPA MDK(Master Development kit)包括虹科KPA MRT(Master Runtime)和虹科KPA MIP(Master Integration),前者是虹科KPA Master的运行环境,后者是虹科KPA Master的头文件、库文件以及例程源代码。两者均以安装包的形式提供,请注意MoDK目前仅支持虹科KPA MDK 1.6及以下版本,虹科KPA MDK 2.0以上暂不支持。 ①虹科KPA MRT安装过程 虹科KPA MRT的安装过程中包括WinPcap 4.1.3的安装,可能会出现WinPcap不支持当前系统(WIN10)的问题。但点击确定后仍可以完成安装。 一路点击next完成安装即可。安装完成后会提示重启计算机,您可以在安装完其余组件后再一次性重启。 ②虹科 KPA MIP 的安装过程 此处须记住Installation location的安装路径,在下一节CMAKE编译中,我们需要指定的MDK引用路径,就在其中。 一路点击next完成安装即可。安装完成后会提示重启计算机,您可以在安装完其余组件后再一次性重启。 四、VS 2019、V-REP机器人仿真平台安装 严格上来说Visual Studio的版本并没有严格规定,只要不是太过时都可以使用,笔者使用的是VS 2019 community进行开发。Visual Studio的资源及安装流程在网上比较常见,请您自行查找,或者也可以找我们索要安装包。由于cmake编译生成MoDK需要使用现成的编译器,请务必在cmake编译生成MoDK工程前完成VS(或其它IDE)的安装。 V-REP机器人仿真平台是一个开源的机器人仿真平台,使用EDU(教育版)可以免费使用其所有功能。 五、CMAKE编译MoDK例程 上文提到,MoDK可根据不同的OSAL库文件运行于不同的操作系统下,为了实现这种平台无关性,MoDK本身仅以源代码和库的形式提供,包括C文件、头文件、库文件以及CMAKE list文件,不包括任何平台相关的项目文件,需要您自己手动使用CMAKE进行源代码编译。如果您需要帮助,欢迎联系虹科工程师。
  • 热度 7
    2022-4-13 15:10
    1423 次阅读|
    0 个评论
    如今,现场总线系统已成为实时分布式控制的一个组成部分,而这也是一个提高控制和监控生产过程安全性的有效方法。在开发项目前期,选择适合的通信技术十分重要,因为它决定了控制性能是否可以直接到达现场层,以及设备的可选范围。 虽然传统的现场总线系统(PROFIBUS、CANopen、DeviceNet、SERCOS等)或多或少也能够提供安全快速的数据传输,但它们在速度、整体生产力、可靠性和实时传输等特殊考虑因素方面不如EtherCAT技术。EtherCAT的出现有利于突破传统现场总线系统的瓶颈,因为它允许通过使用共享内存与应用程序直接交换数据,仅需使用标准网络适配器便能够满足需求,而无需额外的硬件。 EtherCAT:以太网控制自动化技术 EtherCAT(Ethernet for Control Automation technology)是一种实现数据特定传输的硬实时技术。它可以提供实时性能,旨在通过双绞线或光纤电缆最大限度地利用高速全双工以太网数据传输,以满足工业过程控制需求。 基于以太网技术的EtherCAT具有易于实施、拥有成本和标准化等优点,使其成为工业应用上旨在最大限度提高控制系统性能的完美解决方案。该技术的媒体访问控制采用主/从原理,其中主站节点(通常是控制系统)将以太网帧发送到从站节点,从站节点动态地从这些帧中提取并插入数据。 EtherCAT技术工作原理 从以太网的角度来看,EtherCAT部分可看作单个以太网设备,它接收和发送标准ISO/IEC802-3以太网帧。这个以太网设备可能由大量的EtherCAT从站设备组成,它们直接处理传入的帧并提取相关的用户数据,或者插入数据并将帧传输到下一个EtherCAT从站设备。网段内的最后一个EtherCAT从站设备将完整处理的帧发回,以便第一个从站设备作为响应帧返回给主站设备。 此过程利用以太网的全双工模式,允许双向独立通信,可以在主站设备和由一个或多个从站设备组成的EtherCAT网段之间建立无需切换的直接通信,这体现了EtherCAT操作原理的灵活性。 EtherCAT核心特性: 1. 灵活的拓扑结构 EtherCAT网络能够支持高达65,535个设备,且对其拓扑结构没有限制,可以采用线型、树型、星型等多种方式。 2. 高性能 由于EtherCAT协议的特定功能及其在拓扑结构、数字映射方面的灵活性,因此,这项高性能的技术可以极大地提高生产力,例如通过直接内存访问(DMA),数据能够以最少的CPU使用率传输,从站自己读写数据,且只有一个报文返回给主站处理,进而释放主站资源。 3. 低成本 EtherCAT是一种实时工业以太网技术,无需配置在主站、协处理器的特殊插件卡,也无需大量的处理能力,或大量处理能力的特殊插件卡,这项不依赖于集线器和交换机的标准以太网协议便是连接的唯一条件。 4. 易于集成 可以通过网关使用CAN、CANopen、EtherNET/IP等现场总线和工业以太网,或通过MailboxoverUDP、MailboxoverTCP第三方工具。 为了帮助项目开发者更快速地实现基于EtherCAT的解决方案,虹科推出了多种EtherCAT开发方案,其中包括提供网络设备与IPC系统交互功能的虹科KPA EtherCAT Master协议栈、可用于创建和修改EtherCAT网络配置的虹科KPA EtherCAT Studio等。 虹科KPA EtherCAT Master协议栈:帮你快速开发EtherCAT功能 虹科KPA EtherCAT Master 协议栈确保了EtherCAT技术的所有优势:循环时间短、高性能、低成本等。其内核以ANSI“C”实现;因此,它可以很容易地移植到任何具有“C”编译器的平台。它甚至可以作为模块在Linux内核空间中运行(与C++实现相反,如果C++代码使用任何诸如虚函数、模板或异常等特性,则在加载内核模块时可能会遇到困难)。 虹科KPA EtherCAT Master采用模块化架构设计,可为不同的操作系统提供可移植性和可扩展性,并适应各种硬件平台。 带捆绑模块的虹科KPA EtherCAT Master主站架构图 应用程序 这是一个调用主 API 函数的单独进程。应用程序通过 API 对 Master 进行几乎完全的控制:启动/停止Master、进行配置、更新 PI 等。 API 允许配置和管理 EtherCAT 总线的用户应用程序编程接口 (API) RPC服务器 RPC 服务器负责与远程客户端(例如,与 KPA EtherCAT Studio)建立连接并将请求转发到 EtherCAT主栈核心。它支持用户到用户和用户到内核模式(通过 IOCtl 调用)。 过程映像 过程映像由影子缓冲区(即直接向/从网络传输的数据)和活动缓冲区(即包含从/向 EtherCAT主站客户端接收/发送的数据的缓冲区)组成 处理任务(外部任务) 实现特定应用控制算法的回调函数。每次重复 PI 更新(高优先级)循环时都会调用此回调函数。 帧调度器 组装 EtherCAT 帧并根据其优先级将它们转发到 EtherCAT 网络驱动程序的模块。 EtherCAT 网络驱动程序 从底层网络实现中抽象出 EtherCAT 主栈核心模块。 线程、互斥体、定时器等 处理线程、定时器、互斥体的依赖于操作系统的函数的包装器。 NIC及其驱动程序 网络接口卡是一种物理设备,用于向/从 EtherCAT 网络发送/接收帧。 远程客户端 包括虹科KPA EtherCAT Studio和其他兼容程序 虹科KPA EtherCAT Master的主要功能包括通过 UDP 对智能从站进行集中参数化、特殊接口适配操作系统、用于与运行时或/和配置工具交互的 API、用于多个 TCP/IP 或/和 UDP 连接的服务器等。 结合现实应用的多种需求,虹科有4种可选版本:基础版、标准版、高级版、扩展包,它们能够满足用户不同层次的需求。 若想了解更多关于虹科EtherCAT开发方案和技术服务的信息,欢迎随时通过邮箱hongconsys@hkaco.com与我们交流。
  • 热度 2
    2018-4-12 15:37
    2522 次阅读|
    0 个评论
    本次测试使用广州创龙TL5728-IDK工业控制开发板进行PRU网口测试。 开发板特点: Ø 基于TI AM5728浮点双DSP C66x +双ARM Cortex-A15工业控制及高性能音视频处理器; Ø 双核PRU-ICSS工业实时控制子系统,支持EtherCAT、EtherNet/IP、PROFIBUS等工业协议; Ø 支持2路千兆网,用于网络调试、数据传输、工业以太网主站; Ø 支持4路PRU百兆网,用于网络调试、数据传输、工业以太网从站; 下面我们开始进行PRU网口测试: 因为"PRU1"的两个网口引脚和千兆网的引脚复用,所以若要使用4个PRU网口(如上图资源图解),需要在U-Boot命令行中设置环境变量,让U-Boot加载不同的dtb文件。 在测试前,先插好PRU四个网口的网线,启动系统,执行以下命令设置环境变量: Uboot# setenv idk_pru1_mii yes Uboot# saveenv 注:当"idk_pru1_mii"不等于yes时,加载的dtb文件是"am572x-idk.dtb",当"idk_pru1_mii"等于yes时,加载的dtb文件是"am572x-idk-pru1-mii.dtb"。 如果需要使用千兆网,需要在U-Boot命令行执行以下命令: Uboot# setenv idk_pru1_mii no Uboot# saveenv 网卡对应关系: "pru2-mii1"测试: Target# ifconfig eth0 down Target# ifconfig eth2 down Target# ifconfig eth3 down Target# ifconfig eth1 up //根据网卡对应关系来设置对应网口为开的状态。 Target# ifconfig Target# ping http://www.baidu.com 其他三个网口测试方法同理。只需要将另外三个网口关掉,进行ping操作就行。如:需要测试"eth0",将"eth1/eth2/eth3"关掉。 注:如果"ethX"之前已经关闭,在执行"ifconfig ethX up"(X为0,1,2,3)时,如果没有"link becomes ready"打印,请按以下操作重新关掉网口,再打开网口,直至打印"link becomes ready"。 Target# ifconfig ethX down Target# ifconfig ethX up 本例以"eth0"为例:
  • 热度 26
    2016-1-4 18:12
    4321 次阅读|
    2 个评论
    上一篇文章介绍了 KPA EtherCAT Studio 的功能,本节结合倍福的 IO 套件和 KPA EtherCAT Studio ,介绍 KPA EtherCAT 主站在 windows PC  下(不带实时插件)的测试步骤。在后续会有关于在 INtime 下的 EtherCAT 的方案讲解。 主站试用版下载官网地址: http://www.koenig-pa.de/ EtherCAT 开发诊断配置工具试用版下载官网地址: http://www.koenig-pa.de/ 附件是下载安装的教程,欢迎从事 EtherCAT 的发烧友一起做技术交流   我们都知道,影响主站性能有很多因素,包括使用的硬件平台,使用的操作系统, NIC 驱动,线程数,从站个数等等都会影响到抖动和 circle time 。关于主站的性能参数,会在以后找机会和大家分享交流,本文只是介绍知识和使用方法。 1 、下载 winows 下主站安装包,安装后会在电脑中出现 MRT Win64 的一个标志 2、 下载 KPA EtherCAT Studio 工具 2、 调试倍福的 IO 套件 3.1 、需要注意的是,必须把 PC 端的网卡加载到 KPA Studio 中,此时的 KPA Studio 就相当于一个软主站了 3.2 、扫描从站,自动生成网络配置 3.3 、数据统计功能 分别设置 circle time 的时间为 1000 和 500 的统计数据,可以看出我的电脑的网卡只能支持最小到 1000 的 circle time 了,但是如果加载了实时补丁的话,比如 INtime 就可以设置比较小的参数,实时性也更好,毕竟 windows 不是实时操作系统。主站其他功能,比如过程映射,分布时钟等功能就不一一介绍 3.4 、至于主站的其他一些功能,这里就不一一介绍了。 3.5 、从站的设置 红色框图就是从站设置的一些功能组件。比如可以看到 FMMU 和 COE 的一些功能或者也可以对各个从站的输出输入单独做配置。
  • 热度 32
    2015-9-2 14:37
    4671 次阅读|
    5 个评论
        各位,好久不见,说来惭愧,小编已经有好几个月没分享过文章了,最近小编了解了一些关于EtherCAT协议的知识和市场,发现EtherCAT这一工业以太网技术在国内也已经开始应用起来了,尤其在速度和精度有高要求的场合,EtherCAT技术更有着它独一无二的特点和优势。国内的几大运动控制厂商也正为他们的运动控制产品升级EtherCAT技术,可以说,EtherCAT绝对是运动控制的未来,更是工业4.0概念下的完美体现。     小编今天分享的这篇文章,是关于EtherCAT从站开发与设计的,对于那些刚接触EtherCAT,或打算开发EtherCAT设备的工程师来说,可以帮你快速地扫盲和上手。而对于那些非常熟悉EtherCAT的高级开发工程师来说,本文提到的方案也可以给您做一个参考,提高开发效率,缩短开发周期。 EtherCAT 从站设计中的重要事项和关键观念(一) 一般从站包括以下三个核心部分: 物理层:网口 数据链路层:有 EtherCAT  从站控制器 ESC (这是通讯模块)和 EEPROM 。 应用层 : 有主控制器或者说应用控制器或微控制器 u C (即比如 DSP28346 或者 F407 之类的)。 ESC 即 EtherCAT 从站控制器可以通过 FPGA (Field Programmable Gate Array) 或者 ASIC  (Application Specific Integrated Circuit) 来完成。 EtherCAT 通讯的速度和性能与主控制器(比如 DSP28346 )软件程序的性能 互不影响。 关于 PDI : ESC 上的 PDI-  Process Data Interface 过程数据接口有这几种情况: i. Up to 32 Bit digital I/O  : 32 位的数字量 IO ii. Serial Peripheral Interface (SPI)  : SPI 总线 iii. 8/16-bit synchronous/asynchronous Microcontroller Interface (MCI)  : 8/16 位的同步 / 异步微控制器接口 MCI iv. With FPGA: specific on-board-bus (Avalon on Altera devices resp. OPB on Xilinx devices)  : 带 FPGA 的:特定的 on-board-bus 过程数据和参数是通过 ESC 上的 DPRAM 来交互的。为了保证数据的一致性, ESC 硬件上会有一些机制:比如同步管理器等。 chapter 1.3.4 关于 FPGA : 为了实现 FPGA , ESC 会用 IP Core 的方式实现 EtherCAT 功能和通讯。  FMMUs ( Fieldbus Memory Management Units  现场总线内存管理单元 ) , SyncManagers, DC support, PDI 这几个功能是可以配置的 。 FPGA 实现方式有两种:一个是在 FPGA 上集成 ESC 和一个软核 uC ,然后用 FPGA 的板上总线与主控制器交互。另外一个方式是: FPGA 只用于 EtherCAT 功能部分,然后通过 SPI 总线连接到外部的主控制器。 关于 EEPROM 也叫 SII :  (Electrically Erasable Programmable Read-Only Memory, also called Slave Information Interface, SII) , 它包含在上电后会自动加载到 ESC 寄存器的配置信息。 EEPROM 可以通过 ESI 文件的配置工具修改。 EEPROM 的内容必须在从站设备厂家再研发时就设置好。下图时 EEPROM 的寄存器的值 .   关于应用层的 主控制器 uC : 主控制器主要实现: i. EtherCAT State Machine (ESM) in the slave device (chapter 1.3.7)  :从站设备的 EtherCAT 状态机 ESM ii. Process data exchange with the slave application (e.g. application and configuration parameters, object dictionary, chapter 2.3.6)  : 过程数据交互 (配置参数,对象字典等) iii. Mailbox-based protocols for acyclic data exchange (CoE, EoE, FoE, chapter 1.3.6) :非周期数据交互的邮箱协议: CoE, EoE, FoE iv. Optional TCP/IP stack if the device supports EoE  :可选的 TCP/IP 堆栈(前提是设备支持 EoE ) uC 的性能只取决于设备功能应用部分而非 EtherCAT 通讯部分,大部分情况下, 8bit 的 uC 或者 PIC 就够了。(想表达的是: EtherCAT 通讯是不会影响性能的, EtherCAT 协议的一个好处) 关于 ESI ( EtherCAT Slave Information ) :  每个 EtherCAT 设备都必须随货给用户一个 ESI 文件,一般是 .xml 格式。 ESI 文件是配置工具在离线模式下用来编译网络信息 ENI 的(比如过程数据结构,同步命令等) See also related description in chapter 2.4.1. 关于 ESC 的 EtherCAT 接口: ESC 最多只能提供 4 个 EtherCAT 接口,端口 0 必须定义为输入口。从站必须提供至少 2 个 EtehrCAT 接口。为了避免有些从站只有 2 个接口的,所以配合使用的 ESC 上的端口 0 和 1 必须使用,端口 3 和 4 可以保留。 ESC 总是通过端口 0 与主站相连的,与其他从站设备则通过端口 1-3 来连接。 EtherCAT 的报文帧结构: 关于 FMMU :现场总线内存管理单元: 用于映射主站的逻辑过程数据映像和从站设备的物理层(本地)内存。 从下图看来:这个 FMMU 就是为了从主站发出去的一条报文中找到属于自己从站需要的那条。 关于同步管理器: SyncManager  不管是 EtherCAT 主站还是从站主控制器 PDI 去读取 ESC 的 DPRAM ,这个 DPRAM 的访问都需要确认数据一致性。同步管理器就是一个用来确保 DPRAM 中过程数据能被访问的机制:不同时间访问,但是访问到的是一致的。 如果从站使用 FMMU ,对应数据块的同步管理器位于 DPRAM 与 FMMU 之间。 EtherCAT 的同步管理器可以在两种模式下操作: 邮箱模式 : 数据交互采用的是握手机制。 EtherCAT 主站和 uC 的控制程序只有在对方已经访问完缓冲区的时候才能继续访问。发送方在写入缓冲区的时候,缓冲区被锁定 for writing  直到接收方已经全部读完。邮箱模块一般用于应用程协议和非周期数据的交互(比如参数设置) 缓冲模式 : 缓冲模式一般用于周期性数据交互,比如过程数据,因为缓冲模式允许任何时候 EtherCAT 主站和从站主控制器 uC 都可以访问通讯缓冲区。发送方总是可以更新缓冲区的内容。如果缓冲区被写入的数据快于接收方去读取的速度,则旧的数据就会被丢掉。因此,接收方永远都是收到最新的而且与缓冲区内容一致的数据。 注意:同步管理器如果工作在缓冲模式下,则需要比分配在 DPRAM 中的过程数据大小大三倍。 应用程序的设计可以参考免费的 ET9300 或者商业版 KPA 的代码,**式,可选常见平台的 demo 。具体对比如下: 由于篇幅字数限制,下次再给大家分享余下内容。
相关资源