<< 点击显示目录 >> 主页 贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > CAN_Lib > Setting/Reading the Node Number in the CRM |
SetNdNr() 和 GetNdNr() FBKs可以用来将节点号保存在目标系统的电池缓冲RAM存储器中(CRM=关键存储器),以便在初始化时使用。在操作系统V2.21和更高版本中,只要节点号开关被设置为0xFE,在下次初始化时就会接受这个号码。
以下条件适用于动态节点号分配。
•操作系统2.21(X4.01)及以上版本支持初始化期间的节点号分配
•通过将节点号开关设置为0xFE来激活节点号分配(即在下一次初始化时接受)。如果在CRM中没有设置节点号(=0),则使用外部节点号(0xFE)。
•在初始化过程中,一个设备只有一个节点号可以保存和更改。
•节点号和设备描述(如 "SLx.SSx.IFx")被存储在CRM中。)
•节点号可以改变以用于任何介质和IF(CAN、以太网等)。
•在任何初始化过程中(冷重启、热重启、诊断、服务),都会接受新的节点号。
•新的节点号被传送到 CANnode() 和 CANxnode() FBKs。
•在通过 SetNdNr() FBK重设节点号后,需要进行热重启(或初始化) 。
•保存在CRM中的节点号可以通过 SetNdNr() FBK(nodenr = 0)或在自举模式下传输系统(节点号开关设置为0)来删除和停用 。如果系统在运行模式下被转移到目标系统,CRM和节点号不会被删除。
•CANnode()、 CANxnode() 和 GetNdNr() FBKs总是读取存储在CRM中的节点号,前提是节点号开关在先前的初始化中被设置为0xFE。