一、注意事项:

1.xChannelIORead()第一次读取到数据是空的。
2.系统安装cifX驱动之前一定先安装有uio模块和libpciaccess库;建议系统内核为3.X.X版本,测试版本为3.13.5;GCC为4.X.X,测试版本为4.6.3。
3.SYCON.net选择从站设备描述文件时建议通过扫描功能添加,因为手动配置的文件版本可能不匹配,导致网络通信无法开启。
4.默认的配置文件存储目录为"/opt/cifx",再运行应用程序或者demo时,可以通过"/opt/cifx/cifXn.log"文件查看硬件加载配置文件的结果,n为硬件流水号。
5.三种配置文件名字不可更改,设备描述文件为“device.conf”,协议栈文件(EtherCAT)为"cifxecm.nxf",网络配置文件为“config.nxd“。
6.SYCON.net扫描出的从站需要更换别名,格式:从站型号_从站类型_同类从站的序号_所有从站的序号  如: EL1004_DI_0_0。
7.首次安装好uio_netx模块,系统下一次开机并不会自动加载uio_netx模块,建议在"/etc/modules"中添加一行"uio_netx"使系统每次重启自动加载uio_netx模块。
8.EtherCAT主站协议栈是支持Hot Connect这个功能的,但是目前版本的SYCON.net不能支持Hot Connect的配置,需要使用ENI文件(该文件也是配置文件,是由EtherCAT Configurator生成,这个软件不是赫优讯的,是Beckhoff公司的)。也就是 使用ENI文件替换SYCON.net生成的config.nxd文件。
9.EL模块不支持热插拔的。

更多关于安装cifX驱动的问题可以查看“cifX Device Driver - Linux DRV 08 EN.pdf”手册的第7章节。

二、应用问题:

1.第一次read必须过滤掉吗?

  不要。

2.报文是从第一次读取才开始吗?之后报文才会不停的发送吗(既然我不read)?

   EtherCAT主站协议栈会根据设定的Freerun cycle时间,自动发送数据。应用程序写了什么数据,那么主站协议栈就会发送什么数据。如果应用程序没有写数据,那么主站协议栈就发送上个周期的数据。比如,当前周期,应用程序写了0x11,那么主站协议栈就发送0x11。如果隔了5个周期,应用程序才写新的数据0x22,那么在间隔的这5个周期,主站协议栈还是发送0x11。

3.循环周期可控吗?图中的”Freerun cycle”指的是当前循环周期吗?如果不是它指的是最大循环周期还是最小循环周期?

  

  这个是总线循环周期,设定好之后,应用程序无法更改。赫优讯提供的EtherCAT主站的最小循环周期是250us。最大周期不要超过5000us。

  简单理解,总线循环周期,就是EtherCAT主站协议栈每次发送IO数据的数据间隔。

  

  

4.如果从站数量不变,”Freerun cycle”设置甚至过小或者过大会怎么样?会有警告吗?

  设置过小,会丢包。在双端口内存的偏移地址0x032D,bErrorPDInCnt会有计数。

5../ build_install_driver和图中步骤执行的结果是相同的吗?

   

  一样。

6.每次上电都只能通过./ build_install_dr。iver来安装驱动和加载各种配置文件吗?

  驱动安装好了之后,接下去只要运行例子程序就可以了。

7.目前是否支持热插拔?支持的话如何实现?(貌似最新版本的SYCON.net已经支持,有待确认)

  参看 文档EtherCAT Master V4 Protocol API 05 EN.pdf

  赫优讯提供的EtherCAT主站协议栈是支持Hot Connect这个功能的,但是目前版本的SYCON.net不能支持Hot Connect的配置,需要使用ENI文件(该文件也是配置文件,是由EtherCAT Configurator生成,这个软件是Beckhoff公司的)。也就是使用ENI文件替换SYCON.net生成的config.nxd文件。

cifX使用心得的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  3. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  4. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  7. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  8. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  9. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

随机推荐

  1. BatchPreparedStatementSetter,用法

    spring批量更新数据 ---- BatchPreparedStatementSetter (2007-04-15 15:41:29) 转载▼ 标签: spring batchpreparedsta ...

  2. canvas背景动画

    偶然反驳可看到博客背景的炫酷效果  觉得很新奇就去查看了一下源码  结果在git上找到了  记录一下 https://github.com/hustcc/canvas-nest.js/

  3. Oracle角色,权限,表空间基础语句

    控制台: -sqlplus         -----连接数据库 -conn sys/123456@orcl as sysdba        -----登录sys -create tablespac ...

  4. ResNet网络再剖析

    随着2018年秋季的到来,提前批和内推大军已经开始了,自己也成功得当了几次炮灰,不过在总结的过程中,越是了解到自己的不足,还是需要加油. 最近重新复习了resnet网络,又能发现一些新的理念,感觉很f ...

  5. Thread线程notify方法的自我理解

    感谢博主:http://zy19982004.iteye.com/blog/1626916 这篇博文给予我线程知识很大的帮助 知识背景:(1)wait().notify()均是Object的方法,故每 ...

  6. css a的伪类顺序

    a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问的链接 */ a:hover {color: #FF00FF ...

  7. AJAX的简单示例:注册校验

    众所周知,我们每次需要注册一个网站的用户名时,都会校验该邮箱.用户名是不是正确的格式.是不是有被使用过,密码是否符合规则,二次确认是否符合. 如果这些校验都采用form表单提交的话,会给用户带来极不好 ...

  8. 初读"Thinking in Java"读书笔记之第四章 ---控制执行流程

    true和false Java不允许将数字作为布尔值使用. 所有条件表达式都将布尔值作为判断条件,决定执行路径. if-lese 迭代 while,do-while,for为三个迭代语句. ,逗号操作 ...

  9. 共有和私有、name mangling

    1.在python中可以在变量和函数名前加上双下划线—‘’__‘’来实现其伪私有(实际上python中没有Private属性的),加上双下划线后,外部对象不能通过调用其名称直接获得对象的属性或操作. ...

  10. double 四舍五入保留一定的位数

    /** * double 类型的 四舍五入 保留一定的位数 * @param value * @param decimal 保留的位数 * @return * @throws Exception */ ...