CANopen STORE 和 RESTORE 对象有什么作用?

What do the CANopen STORE and RESTORE objects do?

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

对象 1010h - Store Parameters

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

对象 1011h - Restore Default Parameters

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

设备重置

CiA 301 规范说 "default values shall be set valid after the CANopen device is reset" - 通过电源循环、NMT 重置节点(子索引 01h 到 7Fh)或 NMT 重置通信(子索引 02h)。

什么是'the default values'?

"the default values"是否表示:

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

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

对象 1010h - Store Parameters

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

对象 1011h - Restore Default Parameters

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

总结

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

重置时,参数将从其保存的值加载(如果已存储),或设置为默认值(如果已恢复默认值)。