我是靠谱客的博主 含蓄白云,最近开发中收集的这篇文章主要介绍CANopen的状态机,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文简单介绍Canopen最常用的两个状态机。

NMT状态机

NMT消息属于Canopen中优先级最高的消息类型,Cob-ID=000h,描述的是总线通信当前处于什么状态,状态如何切换。状态切换通过0x000发送相应的数值。

如下实例,描述的是典型的一个状态切换过程。

  1. 驱动器上电后,首先进入boot up状态,可以收到000 82 01报文,其中假设NodeID=1。
  2. 如果初始化正常,会自动进入pre-op状态m,这个SDO可以正常通信。
  3. 当NMT发送000 01 00,如果驱动配置正常,可进入OP状态,这个时候PDO可以正常通信。
  4. 驱动器DS402状态机

    想知道驱动器当前是否处于报错状态/使能状态/急停状态等,可以通过查看状态字0x6041h读取实际状态,通过控制0x6040h控制驱动器的状态。状态切换通过0x6040h发送相应的数值。

    驱动器上电后,如果有报错,会进入报错状态,0x6041相应的位会变化。0x6040发送0x80h后,故障成功清除后,可进入使能状态。

    驱动器使能的典型过程:ready-switch on-enabled,一般这个过程是0x6040发送6-7-15

最后

以上就是含蓄白云为你收集整理的CANopen的状态机的全部内容,希望文章能够帮你解决CANopen的状态机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部