主站状态机在检测到从站个数发生变化时,会进行对从站的重新扫描,在此期间,主站需要提起从站中EEPROM中的SII信息,获取SII信息整体需要两个步骤:

1.确认从站SII信息的大小;

2.将SII信息进行提取;

主站对于从站的EEPROM是无法直接获取内容的,因此需要使用寄存器间接的将EEPROM信息进行提取,如下:

0x502~0x503   对SII读写的一些配置

0x504~0x507   对EEPROM地址的寻址

0x508~0x50B   对应EEPROM地址的设置值或获取值

这样的话,只要设置好对应的参数,就可以获取设置EEPROM中数据,也就是提取SII信息操作的基础。

struct ec_fsm_sii
{ec_slave_t *slave; /**< slave the FSM runs on */ec_datagram_t *datagram; /**< datagram used in the state machine */unsigned int retries; /**< retries upon datagram timeout */void (*state)(ec_fsm_sii_t *); /**< SII state function */uint16_t word_offset; /**< input: word offset in SII */ec_fsm_sii_addressing_t mode; /**< reading via APRD or NPRD */uint8_t value[4]; /**< raw SII value (32bit) */unsigned long jiffies_start; /**< Start timestamp. */uint8_t check_once_more; /**< one more try after timeout */
};

以上的SII状态机就是./master/fsm_sii.h/sc_fsm_sii结构;

那么,对于SII信息,他的结构中前4Byte中,前两个Byte存放的是类别类型信息和制造商特定位,后两个Byte存放的是该目录项的数据大小,因此基于数据大小信息可以不断获取下一个SII信息的目录项,直到找到0xFFFF,也就意味着SII信息的结束,然后还是基于SII状态机获取SII中的所有信息。

EtherCAT使用与解析-SII信息提取相关推荐

  1. EtherCAT主站IgH解析(一)--主站初始化、状态机与EtherCAT报文

    文章目录 0 获取源码 1 启动脚本 1.1 start 1.2 stop 2 主站实例创建 2.1 Master Phases 2.2 数据报与状态机 数据报 状态机 2.3 master状态机及数 ...

  2. EtherCAT使用与解析-关于PDO映射

    关于PDO映射这部分,最好先参考https://blog.csdn.net/lswdcyy/article/details/105441470先了解一下配置相关的东西: 首先这里已经假设你已经了解完毕 ...

  3. ethercat的linuxcnc解析器-关于lcec_conf和lcec.so

    关于EtherCAT通信使用部分,在https://blog.csdn.net/lswdcyy/category_9842141.html分类中可以大体获得相关了解: 那么,已经有了Ethercat的 ...

  4. EtherCAT使用与解析-关于ethercat应用层使用

    下载ethercat源码并且安装好之后,测试ethercat使用可以遵循以下步骤: 1.开启ethercat系统:执行这一步需要确保一点,那就是按照ethercat源码中的README指导将一些需要的 ...

  5. 倍福EtherCAT通信协议详细解析

    简介 1.1 运动控制 1.2 实时以太网 1.3 EtherCAT EtherCAT原理介绍 2.1 实时性 2.2 端口管理 2.3 EtherCAT网络拓扑 2.4 EtherCAT网络协议栈 ...

  6. EtherCAT使用与解析-WKC计算公式

    EtherCAT使用的子报文的WKC计算公式如下: 读操作         成功+1    失败不操作 写操作            成功+1    失败不操作 读写操作        读成功+1 写 ...

  7. Ethercat解析(十二)之命令行工具的使用

    说明:EtherCAT为了方便用户空间对主站进行调试,因此提供一套用户空间使用的工具来设置从站参数,观察调试信息等等.正常情况下,每个主站的实例都会生成一个字符设备,名字为:/dev/EtherCAT ...

  8. Ethercat解析(三)之命令行工具的使用

    说明:EtherCAT为了方便用户空间对主站进行调试,因此提供一套用户空间使用的工具来设置从站参数,观察调试信息等等.正常情况下,每个主站的实例都会生成一个字符设备,名字为:/dev/EtherCAT ...

  9. Ethercat 从站开发总结一:协议总结

    一. EtherCAT 协议概述 EtherCAT名称中的CAT为Control Automation Technology(控制自动化技术)首字母的缩写. 每个从站设备都具有可编址的内存,其容量最大 ...

最新文章

  1. Golang反射机制的实现分析——reflect.Type类型名称
  2. Nature子刊:使用MinION快速分析早产儿肠道菌群谱并鉴定抗生素抗性致病菌
  3. mysql开启function,Mysql自定義函數(function)
  4. UIProgressView的使用
  5. python中difflib_python中的difflib
  6. LeetCode 1971. Find if Path Exists in Graph(图的遍历)
  7. Android 系统(251)---sec2.0和sec2.1新增分区DA客制化步骤
  8. 前置摄像头 镜像_iPhone 前置摄像头拍照左右相反?试试 iOS 13 的照片编辑功能...
  9. python 路径拼接字符串_anaconda环境变量添加 python笔记
  10. AR VR或将彻底变革广告营销行业
  11. 由内而外 多项国产自主先进设计
  12. Python网络爬虫:正则表达式
  13. keil删除工程_安装及卸载keil5
  14. 2022年计算机保研记录(计算所、浙大、华科、东南、北航)
  15. 数字滤波器的简单使用
  16. python .center用法_python之testcenter操作
  17. LED技术50年秘史回顾:从指示灯到街灯
  18. grub error: unknown filesystem的解决办法
  19. python中aorb是什么意思_ABtest的python实现
  20. onunload,onbeforeunload,load事件

热门文章

  1. 朴素贝叶斯——垃圾邮件过滤
  2. 一文玩转NGINX(对于NGINX,你真的了解吗?)
  3. 在eclipse上配置tomcat,安装eclipse的JST Server Adapters Extensions时报错 Anerroroccurredwhilecollectingitems...
  4. 比win7运行快的linux发行版,旧电脑扔了浪费!装SliTaz系统,瞬间运行流畅如新机,比win7更快...
  5. 【100个 Unity实用技能】☀️ | Unity中 检查当前设备网络状态 的几种方法整理
  6. HBuildx项目运行到小程序出现下面提示
  7. java 虚拟机优化
  8. fastadmin多级联动
  9. 明星+大制作+生硬广告植入 观众看《富春山居图》-评论频道-金融界
  10. 表关联之内关联用法案例详解