当前位置: 首页 > news >正文

IgH初始化--未接从站

ec_master_idle_thread流程

第一次循环

ec_fsm_master_state_start封装报文,待发送

设置下一状态机ec_fsm_master_state_broadcast

ecrt_master_send发送ec_fsm_master_state_start封装的报文

ecrt_master_send时,检测到master绑定的网卡处于link down状态,则给报文设置datagram->state = EC_DATAGRAM_ERROR;

根据master是否idle,选定一个延时时间,延时时间到后,执行第二次循环。

第二次循环

执行ec_fsm_master_state_broadcast函数

fsm->rescan_required,不需要

master->slave_count,没扫描到从站,所以是0

所以ec_fsm_master_state_broadcast中的if条件不好被执行,最终执行最后的ec_fsm_master_restart的函数,在ec_fsm_master_restart函数中将状态机设置为ec_fsm_master_state_start并立即执行。

root@ubuntu:/home/gsf# while true;do dmesg -c;sleep 1;done
[  396.698450] ec_master: loading out-of-tree module taints kernel.
[  396.700257] EtherCAT: Master driver 1.5.2 unknown
[  396.700271] geshifei ec_fsm_master_reset 128:  set fsm->state to ec_fsm_master_state_start
[  396.700272] geshifei ec_fsm_coe_init 175:  set fsm->state to null
[  396.700272] geshifei ec_fsm_soe_init 109:  set fsm->state to NULL
[  396.700273] geshifei ec_fsm_change_init 70:  set fsm->state to NULL
[  396.700274] geshifei ec_fsm_sii_init 78:  set fsm->state to NULL
[  396.700274] geshifei ec_fsm_sii_init 78:  set fsm->state to NULL
[  396.700336] EtherCAT: 1 master waiting for devices.
[  396.707191] ec_generic: EtherCAT master generic Ethernet device module 1.5.2 unknown
[  396.707198] EtherCAT: Accepting 6C:24:08:29:52:19 as main device for master 0.
[  396.707209] ec_generic: Binding socket to interface 2 (enp4s0).
[  396.754697] EtherCAT 0: Starting EtherCAT-IDLE thread.
[  396.754877] geshifei Idle thread running with send interval = 5000000 us, max data size=7931618
[  396.754881] geshifei Idle thread running with send interval = 5000000 us, max data size=7931618
[  396.754895] geshifei ec_master_idle_thread 1603: exec ec_fsm_master_exec
[  396.754897] geshifei ec_fsm_master_exec 163:  exec fsm->state
[  396.754898] geshifei ec_fsm_master_state_start 210:  begin...
[  396.754900] geshifei ec_fsm_master_state_start 257:  set fsm->state to ec_fsm_master_state_broadcast
[  396.754901] geshifei ec_master_idle_thread 1606: exec ec_master_exec_slave_fsms
[  396.754902] geshifei ec_master_exec_slave_fsms 1477: begin...
[  396.754903] geshifei ec_master_exec_slave_fsms 1531: master->fsm_exec_count=0  count=0
[  396.754904] geshifei ec_master_idle_thread 1614: exec ec_master_queue_datagram
[  396.754905] geshifei ec_master_idle_thread 1617: exec ecrt_master_send
[  396.754906] geshifei ecrt_master_send 2518:  set datagram->state = EC_DATAGRAM_ERROR

http://www.lryc.cn/news/622423.html

相关文章:

  • 【160页PPT】机械行业数字化生产供应链产品解决方案(附下载方式)
  • 光伏工单智能管理,故障处理快人一步
  • 状态流程框架(cola-component-statemachine)
  • WinForm 简单用户登录记录器实现教程
  • 五、ZooKeeper、Kafka、Hadoop、HBase、Spark、Flink集群化软件的部署
  • Sui 主网升级至 V1.53.2
  • 【DDIA】第三部分:衍生数据
  • 俄罗斯信封套娃问题-二维最长递增子序列
  • day29-进程和线程(2)
  • python自学笔记9 Seaborn可视化
  • 47.分布式事务理论
  • Elasticsearch:使用 Gradio 来创建一个简单的 RAG 应用界面
  • LeetCode刷题记录----236.二叉树的最近公共节点(medium)
  • 终极手撸cpu系列-详解底层原理-CPU硬核解剖:从0和1到 看透CPU逻辑设计内部原理,弄清楚现代多线程cpu工作原理
  • IC(Integrated Circuit,集成电路)是什么?
  • Qt——常用Widget(控件)
  • 数据结构初阶(17)排序算法——非比较排序、排序算法总结
  • Git、JSON、MQTT
  • 【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
  • 混凝土抗压强度预测:基于机器学习的全流程实战解析​
  • flume实战:从零配置到启动运行的完整指南
  • 【嵌入式C语言】五
  • 模型输出参数和量化参数一文详解!!
  • Eclipse:关闭项目
  • 腾讯位置商业授权微信小程序逆地址解析(坐标位置描述)
  • 【LeetCode 热题 100】121. 买卖股票的最佳时机
  • OpenZeppelin Contracts 架构分层分析
  • 再回C的进制转换--负数
  • python的美食交流社区系统
  • 【Spring Cloud 微服务】1.Hystrix断路器