cifX使用心得
一、注意事项:
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使用心得的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- NoSql数据库使用半年后在设计上面的一些心得
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(八) 插入 更新 删除
我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...
随机推荐
- 阶段01Java基础day25网络编程
26.01_网络编程(网络编程概述) A:计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源 ...
- Asp.net APP 重置密码的方式
在开发ASP.NET WEB APP的时候,时间长了容易忘记最初设置的密码,即使打开数据库也不好重置,因为密码都是加密存储在数据库中的.下面是几种通过代码重置密码的方式: 第一种: string re ...
- 前端特效demo | 一起围观 10 种创意时钟
时钟动画应用非常广泛,我们经常会看到一些相当个性化的HTML5时钟动画.今天我们向大家分享 10 款形态各异的超时尚时钟动画,其中有圆盘时钟.创意时钟.电子时钟等,希望大家会喜欢. 文内附有时钟效果代 ...
- elasticsearch(1) 安装和使用
一.简介 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 但是 ...
- 马凯军201771010116《面向对象与程序设计Java》第十周学习总结
一.理论知识学习部分 泛型类的约束与局限性: 不能用基本类型实例化类型参数 运行时类型查询只适用于原始类型 不能抛出也不能捕获泛型类实例 参数化类型的数组不合法 不能实例化类型变量 泛型类的 ...
- python学习-迭代器,列表解析和列表生成式
迭代器为类序列对象提供了一个类序列的接口.Python 的迭代无缝的支持序列对象,而且还允许程序猿迭代非序列类型,包括用户定义的对象. 迭代器是一个next()方法的对象,而不是通过索引计数.当需要下 ...
- python之三级目录
#python之三级目录低配版 menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{ }, 'HP':{ }, '渣打银行':{ }, 'CCTV':{ }, }, '望京': ...
- jdbc工具类的封装,以及表单验证数据提交后台
在之前已经写过了jdbc的工具类,不过最近学习了新的方法,所以在这里重新写一遍,为后面的javaEE做铺垫: 首先我们要了解javaEE项目中,文件构成,新建一个javaEE项目,在项目中,有一个we ...
- 匹配URL
使用一个不错的正则表达式来配对一个正确的url. string reg = @"(?i)(http://|https://)?(\w+\.){1,3}(com(\.cn)?|cn|net|i ...
- SpringBoot的学习【7.引入配置文件】
1.@PropertySource 作用:加载指定的配置文件 2.@ImportResource ---恢复内容结束---