<< 点击显示目录 >> 主页 贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > CAN_Lib > CAN_Lib - CAN Function Blocks and Functions > CANngp() |
根据NMT从机上的CAL,该功能块可用于 节点守卫协议。
只 接受nd_state 参数的第0到6位 。切换位是在节点守护响应的发送中断中处理的。
状态参数检查自上次调用该功能块以来是否收到了新的RTR请求。如果没有收到RTR请求, 状态参数被设置为8877,节点状态 nd_state 被接受。
在 使能 (1->0)处的负边缘 会 从内存中删除通信对象(COB)。这意味着系统中可以管理任何数量的RTR标识符。
请求电报(远程帧请求,见 CANrtr() 函数)可以从几个(不同的)接收节点发送。然而,对于请求的报文必须只有一个发送节点。
这个功能块只能有条件 地用于冗余。
适用的限制在下面的章节中描述。
其他信息可以在 "冗余 " 部分找到 。
输入/输出 |
参数 |
数据类型 |
说明 |
IN |
enable |
BOOL |
启用的含义 。 •位置边缘(0->1)。 定义CAN标识符的COB(COB=通信对象)。 •负边(1->0)。 删除COB。 •enable = 1。 更新数据。 |
IN |
us_ident |
UDINT |
来自 CANopen()的用户标识 |
IN |
can_id |
UDINT |
CAN Identifier |
IN |
nd_state |
USINT |
节点状态 |
OUT |
status |
UINT |
CANngp(enable,us_ident,can_id,nd_state,status)
如果CAN功能块在C函数中被本地调用(并且FBK结构在该函数中被本地声明,而不是用_LOCAL/_GLOBAL),那么静态FBK内存必须被初始化为0。