<< 点击显示目录 >> 主页 贝加莱CANopen通信使用助手 > 通过编程实现CANopen通讯 > 功能块与函数说明 > AsCANopen - Function blocks > CANopenRegisterCOBID() |
这个功能块用于注册一个PDO或CAN第2层报文,以便由网络层接收,或者删除以这种方式进行的注册。
如果在调用这个功能块时,"inscribe "输入被设置为 "true",那么指定的COB ID(CAN标识符)就被注册为在网络层接收消息。
调用 "inscribe = FALSE "会删除相应的COB ID的注册。以 "inscribe = FALSE "和 "cobid = 0 "进行调用,会删除所有的注册,并丢弃存储在临时网络层缓冲区中的信息。网络层通常支持用 CANopenPDORead8() 功能块访问PDO和CAN第2层的报文 , 只用于注册报文。
异步处理导致该功能块返回 ERR_FUB_BUSY ,直到FBK成功完成或发生错误。
这个函数块 不能 用于 冗余
输入/输出 |
参数 |
数据类型 |
说明 |
IN |
enable |
BOOL |
只有当 enable 为<>0时才会执行此功能块 。 |
IN |
pDevice |
UDINT (transmitted as a pointer to STRING) |
设备名称(语法:SL<x>.SS<y>.IF<z>) |
IN |
cobid |
UINT |
被输入注册表或从注册表中删除的信息的COB ID(CAN标识符)。 删去所有信息)。 |
IN |
inscribe |
BOOL |
TRUE = 在注册表中输入COB ID FALSE = 从注册表中删除COB ID |
OUT |
status |
UINT |
错误编号 (0=无错误)。 |
OUT |
error |
UINT |
根据CIA405_CANopen_KERNEL_ERROR 数据类型的错误代码 。 |
CANopenRegisterCOBID (enable, adr(Device), cobid, inscribe, status, error)