0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用PCIe EtherCAT通讯卡控制IO从站step by step(一)

ZLG致远电子 2024-05-21 08:24 次阅读

EtherCAT是一种高效且常用的工业通讯协议。本系列文章将带领您使用ZLG致远电子的PCIe EtherCAT通讯卡,一步步实现从搭建编译环境到程序运行。

86f60680-1708-11ef-bebc-92fbcf53809c.png

ZLG致远电子PCIe EtherCAT通讯卡是一款高性能的总线控制卡,专为满足高实时的工业控制需求而设计。基于PCI Express技术,该卡通过使用实时内核+商业授权EtherCAT协议栈的方式,实现了高达125us的控制周期。

为了方便用户的使用,该卡配套提供了全面的上位机配置软件AWStudio,用户通过使用AWStudio软件,可快速扫描从站设备,轻松地得到ENI的配置文件。此外,该卡还支持Windows、LinuxVxworks等多平台,并提供了简洁易用的SDK接口。无论是在复杂的工业控制中,还是在追求高性能的场景中,ZLG致远电子的PCIe EtherCAT通讯卡都是您的理想选择。运行框架:

87046022-1708-11ef-bebc-92fbcf53809c.png

表1 PCIeEtherCAT通讯卡型号

871f97fc-1708-11ef-bebc-92fbcf53809c.png

873f16c2-1708-11ef-bebc-92fbcf53809c.jpg  搭建步骤为了优化客户使用PCIe EtherCAT通讯卡的体验,我们将详细介绍在Ubuntu环境下开发项目搭建环境的步骤,以及如何快速上手使用PCIE卡和IO从站进行通讯。这将使您能够快速而轻松地将ZLG致远电子的PCIe EtherCAT通讯卡接入到您的工程项目中。
1. 前期准备1.1 在目标机器上安装驱动;

87512560-1708-11ef-bebc-92fbcf53809c.png

1.2 获得SDK包;87630abe-1708-11ef-bebc-92fbcf53809c.png

1.3 使用AWStudio导出EtherCAT网络信息文件(ENI)。

2. 项目创建

2.1 构建工程目录

新建Project文件夹。

8780a3a8-1708-11ef-bebc-92fbcf53809c.png

将sdk移动到工程目录中。

87900e56-1708-11ef-bebc-92fbcf53809c.png

移动完后,工程目录Project将会是下图的样子。

87a6f300-1708-11ef-bebc-92fbcf53809c.png

2.2 CMakeLists.txt编写

在Project目录下,创建CMakeLists.txt文件。

87cc88f4-1708-11ef-bebc-92fbcf53809c.png在CMakeLists.txt文件中输入。

87e2d4ba-1708-11ef-bebc-92fbcf53809c.png

2.3 创建测试程序

在src目录中创建主程序ecat_api_io_test.cpp,该文件名需要和CMakeLists.txt中的SRC变量相同。

87f6648a-1708-11ef-bebc-92fbcf53809c.png

打开ecat_api_io_test.cpp文件。输入内容:

#include #include //用于sleep#include //用于sleep#include "pci_errno.h"#include "pci_zecm.h"#include "pci_dbg.h"
int32_t testDemo(int alias, int channel, const char* fileName){int result = 0;char buff[256]; ECAT_HANDLE hHandle; //初始化hHandle句柄 EXIT_IF_FAIL(EcatOpen(&hHandle, BOARD_ALIAS(buff, alias), channel));//启动主站 EXIT_IF_FAIL(EcatBusRun(hHandle, fileName));//将状态切换为8(Operational) EXIT_IF_FAIL(EcatRequestMasterState(hHandle, EcatStateO));EXIT_IF_FAIL(EcatClose(hHandle)); return result;}
int main(int argc, char* argv[]){ ECAT_HANDLE hHandle; char buff[256]; uint32_t channel = 0, alias = 0; std::string eniFile; if (argc != 4){ std::cout << "usage: " << argv[0] << " encoder_id channel eni.xml" << std::endl;        return 1;    }    alias = atoi(argv[1]);    channel = atoi(argv[2]);    eniFile = argv[3];    if (channel > 1){ channel = 1; } testDemo(alias, channel, eniFile.c_str()); return 0;}

上面的示例代码实现了主站的启动以及关闭,具体的过程数据修改将在下一章节做介绍。2.4 测试编译环境

构建项目,先去到项目的根目录。

88100f16-1708-11ef-bebc-92fbcf53809c.png创建构建的文件夹build。8830e844-1708-11ef-bebc-92fbcf53809c.png进入到文件夹build。8848173a-1708-11ef-bebc-92fbcf53809c.png执行cmake构建项目。885a10c0-1708-11ef-bebc-92fbcf53809c.png编译(编译完成后,生成的执行程序将会在build目录下,可执行程序的名字为CMakeLists.txt中TARGET_NAME变量指定的名字)。

8873329e-1708-11ef-bebc-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通讯卡
    +关注

    关注

    0

    文章

    6

    浏览量

    5842
  • 工业通讯
    +关注

    关注

    0

    文章

    58

    浏览量

    11510
  • ZLG致远电子
    +关注

    关注

    6

    文章

    31

    浏览量

    22124
收藏 人收藏

    评论

    相关推荐

    PCIe EtherCAT实时运动控制卡PCIE464的IO与编码器读写应用

    C#进行PCIe EtherCAT运动控制卡的项目开发和快速读取多个IO和轴编码器位置的例程。
    的头像 发表于 07-17 14:47 712次阅读
    <b class='flag-5'>PCIe</b> <b class='flag-5'>EtherCAT</b>实时运动<b class='flag-5'>控制卡</b><b class='flag-5'>PCIE</b>464的<b class='flag-5'>IO</b>与编码器读写应用

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    产品摘要正运动技术PCIE464运动控制卡,提供高效的工业运动控制解决方案。用户可直接将PCIE464嵌入标准PC机快速实现高性能的EtherCAT
    发表于 01-24 09:48

    Step7 Micro Win v4.0.4.16 最新版下载

    模块程序使用EM241调制解调模块可以将S7-200直接连到个模拟电话线上,并且支持S7-200与STEP 7-Micro/WIN的通讯。该调制解调模块还支持Modbus
    发表于 04-25 07:25

    C语言step-by-step

    C语言step-by-step
    发表于 12-27 09:59

    【MYS-6ULX-IOT试用申请】基于I.MX 6UL的EtherCAT的设计

    项目名称:基于I.MX 6UL的EtherCAT的设计试用计划:EtherCAT(以太网控制自动化技术)是
    发表于 06-02 16:07

    【亚信电子】AX58200 EtherCAT马达控制开发套件环境架设演示

    亚信电子(ASIX Electronics Corporation)于2019年推出最新代小封装并集成两个百兆以太网PHY的EtherCAT专用
    发表于 04-20 14:34

    基于LAN9252和DIG-IO PDI接口的EtherCAT控制

    EVB-LAN9252-DIGIO,LAN9252 DIGIO评估板满足仅对硬件EtherCAT设备的需求,并使用LAN9252实现这目标。我们将DIGIO接口与控制信号
    发表于 05-25 09:11

    AX58400 EtherCATIO-Link网关与马达控制解决方案演示视频

    ,使用AX58400 EtherCAT双核微控制器,并集成亚信自行开发的IO-Link主
    发表于 07-12 11:28

    亚信展出最新EtherCAT + IO-Link主通讯协议堆叠解决方案

    Electronics Corp.)接续2018年推出大中华地区首款EtherCAT控制芯片的强大气势,即将于「2019 台北国际自动化工业大展」展示亚信最新的
    的头像 发表于 06-17 09:53 4704次阅读

    亚信电子今年第四季推出EtherCAT专用通讯SoC解决方案

    AX58100传输到EtherCAT做进步地智慧制造自动化控制处理。这个参考设计方案利用最新的IO-Link全球开放标准点对点串列
    的头像 发表于 06-17 09:53 2080次阅读

    STEP7-组态硬件和通讯连接

    STEP7-组态硬件和通讯连接说明。
    发表于 05-08 11:43 8次下载

    S7-400作为PROFINET IO控制器(STEP7)

    S7-400集成PN口和CP443-1均可作为PROFINET IO控制器。本文以CPU 414-3 PN/DP作为IO设备,分别阐述以CPU 416-3 PN/DP和CP443-1作为IO
    的头像 发表于 12-16 11:35 1873次阅读

    使用DPort-ECT搭建EtherCATstep by step

    为了让客户更好地使用ZLG致远电子的集成式EtherCAT模块DPort-ECT,本文手把手教你如何使用DPort-ECT模块和EPC6450-DP评估板快速搭建个的
    的头像 发表于 01-26 08:25 689次阅读
    使用DPort-ECT搭建<b class='flag-5'>EtherCAT</b><b class='flag-5'>从</b><b class='flag-5'>站</b><b class='flag-5'>step</b> by <b class='flag-5'>step</b>

    使用PCIE控制IOstep by step(二)

    ZLG致远电子的PCIeEtherCAT通讯该如何使用?PDO过程数据该如何操作?具体编程又该如何实现?续接上章节,本文将为您详细讲解。EtherCAT工业总线技术在工业自动化领域
    的头像 发表于 05-24 08:25 469次阅读
    使用<b class='flag-5'>PCIE</b>主<b class='flag-5'>站</b><b class='flag-5'>卡</b><b class='flag-5'>控制</b><b class='flag-5'>IO</b><b class='flag-5'>从</b><b class='flag-5'>站</b><b class='flag-5'>step</b> by <b class='flag-5'>step</b>(二)

    Profinet IO数据 转EtherCAT项目案例

    Profinet IO数据转EtherCAT项目案例
    的头像 发表于 06-29 11:28 394次阅读
    Profinet <b class='flag-5'>IO</b><b class='flag-5'>从</b><b class='flag-5'>站</b>数据 转<b class='flag-5'>EtherCAT</b>项目案例