当前位置:   article > 正文

IgH详解九、IgH PDO配置(2)_igh的eni文件

igh的eni文件

通过ethercat命令行可以看到和pdo相关的几个数据结构,可以表示成下图,主站中也是通过链表这么存储的。如果从站支持邮箱协议,0,1默认给邮箱通信使用。

ecrt_master_create_domain 初始化一个domain的结构

ecrt_slave_config_pdos配置pdos,通过sync结构可以找到pdos entry等所有信息,可以参考上面的图,通过个数和存放的地址来确定数据数组的大小。把这些数据存到从站的数据结构中,当从站配置流程启动后,会把这些数据配置到对应的从站中。

ecrt_domain_reg_pdo_entry_list 配置从站的domain,可以每个从站对应一个domain,也可以多个从站对应一个domain,下图上面的就是一个domain对应多个从站,地址空间是连续的,通过偏移位置来区分对应的从站,下面的是每个从站都有对应的domain。

对应到报文上的差异,每个domain作为一条命令发送

 pdo数据域是通过共享内存的方式实现的,在激活主站的时候会给pdo申请一块连续的内存空间

 用户程序同mmap方式映射到主站驱动中申请的pdo内存,实现数据的共享

 当然每个周期还需要把对应的pdo命令加入到数据队列,这样调用send发送报文时,才能把pdo的数据发送出去

IgH很依赖从站EEPROM中烧写的ESI文件,如果从站中没有烧写ESI,或是从站中ESI的信息不全配置过程可能会失败,国内的一些IO模块可能会遇到这些问题,当然我们可以在源码上加上手动的配置功能来补全缺失的信息。

由于IgH的从站配置都是自动完成的,很难在配置过程中插入额外的命令,像twincat、acontis等都可以通过eni来配置从站,可以在eni中加入额外的配置命令,协议栈运行从站从INIT到OP配置过程中就会执行这些配置命令,目前业余时间也在思考和实现在IgH上支持eni的功能,来解决IgH在配置过程中存在的兼容性问题,特别是IO模块。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/986434
推荐阅读
相关标签
  

闽ICP备14008679号