【问题标题】:What do the CANopen STORE and RESTORE objects do?CANopen STORE 和 RESTORE 对象有什么作用?
【发布时间】:2023-03-21 12:16:01
【问题描述】:

CiA 301 CANopen 协议规范定义了设备可以实现以保存和恢复参数的两个对象:

对象 1010h - Store Parameters

当设备实现此对象时,CANopen 主站将值“save”写入对象的其中一个子条目,以将相应的参数集写入非易失性存储器。

对象 1011h - Restore Default Parameters

当设备实现该对象时,CANopen主站将值“load”写入该对象的其中一个子条目,以恢复相应的要恢复的默认参数。

设备重置

CiA 301 规范说“默认值应在 CANopen 设备复位后设置为有效” - 通过电源循环、NMT 复位节点(子索引 01h 到 7Fh)或 NMT 复位通信(子索引02h)。

什么是“默认值”?

“默认值”是否意味着:

  • Store Parameters 对象设置的值?在这种情况下,如何将设备重置为原始出厂默认设置?
  • 原厂默认设置?如果是,应该什么时候恢复保存的参数?
  • 上述组合,即通过设备重置恢复出厂默认设置,Store Parameters 值通过Restore Default Parameters 对象恢复?
  • 其他定义?

我了解从对象读取以获取设备功能并将保护模式写入它们以触发所需操作的机制。我还知道要保存哪些值以及要为不同的子索引保存哪些子集。

我不明白的是什么时候应该使用出厂默认值(如果有的话)而不是保存的值,反之亦然?

【问题讨论】:

    标签: embedded can-bus canopen


    【解决方案1】:

    对象 1010h - Store Parameters

    这完全符合您的预期:它会存储指定的参数。

    对象 1011h - Restore Default Parameters

    这会导致以前由Store Parameters 保存的参数不再保存,以便在设备重置时使用原始默认值。它不等同于'Load Parameters'(没有这样的对象),因为此操作在设备重置时自动发生,而可以认为是'删除存储的参数'。

    总结

    • Object 1010h 导致参数被保存。
    • Object 1011h 导致已保存的参数被删除。

    重置时,如果参数已被存储,则将从其保存的值中加载;如果已恢复默认值,则将其设置为默认值。

    【讨论】:

    • 此外,CANopen 确实指定了各种对象字典条目的默认值。大多数情况下,更改的是 PDO 通信参数。相关的设备配置文件标准(例如通用 I/O 模块的 DS401)列出了所有适用的默认值。
    猜你喜欢
    • 1970-01-01
    • 2020-01-20
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多