<< 点击显示目录 >> 主页 贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > CAN_Lib > CAN_Lib - CMS Function Blocks and Functions > CMSdlcon() |
CMSdlcon()函数使服务器能够接收任何数据长度的 "复用域 "对象。
根据CAL规范CiA/DS202-2(CMS多路域PROTOCOLS)将数据分割成独立的CAN帧。如果数据长度为5字节,则以 "快速域下载 "协议进行传输。
为了接收数据,必须循环调用FBK,直到域传输完成(状态 =0)。如果 启动 参数设置为1,就可以用FBK接收一个新的域。一旦下载激活或尚未准备好(status=1),initiate参数就必须被重置(值为0)。 dl_len 参数检查已经收到的数据的大小。
在 enable (1->0) 的负边 释放COB和FBK管理任务。必须有足够大的内存区域供接收域使用(见 data_addr 和 data_len 参数)。
这个功能块只能有条件 地用于冗余。
适用的限制在下面的章节中描述。
其他信息可以在 "冗余 " 部分找到 。
输入/输出 |
参数 |
数据类型 |
说明 |
||||||||
IN |
enable |
BOOL |
启用的含义 。 •位置边缘(0->1)。 定义CAN标识符的COB(COB=通信对象)。 •负边(1->0)。 删除COB。 •enable = 1。 继续下载。 |
||||||||
IN |
initiate |
BOOL |
1... startpulse,激活接收域。 |
||||||||
IN |
us_ident |
UDINT |
来自 CANopen()的用户ID |
||||||||
IN |
client_id |
UDINT |
从客户端到服务器发送COB的CAN标识符。 |
||||||||
IN |
server_id |
UDINT |
从服务器到客户端发送COB的CAN标识符。 |
||||||||
IN |
data_adr |
UDINT |
下载数据的地址 |
||||||||
IN |
data_len |
UDINT |
下载数据的长度(字节)。 |
||||||||
OUT |
add_code |
UINT |
在异常终止的情况下的附加错误信息 |
||||||||
OUT |
err_class |
USINT |
根据CANopen()的错误等级 |
||||||||
OUT |
err_code |
USINT |
根据CANopen()的错误 |
||||||||
OUT |
mult |
UDINT |
复用域的复用器 |
||||||||
OUT |
dl_len |
UDINT |
已经下载的数据的大小 |
||||||||
OUT |
status |
UINT |
|
CMSdlcon(enable,initiate,us_ident,client_id,server_id,data_adr,data_len,add_code,err_class,err_code,mult,dl_len,status)
在异常终止情况下的额外错误信息。
add_code |
说明 |
16 |
切换位错误 |
18 |
服务器上的域的缓冲区太小 |
49 |
发送的域数据多于在域启动协议中输入的数据 |
err_class |
描述:5 |
5 |
服务错误 |
6 |
访问错误 |
err_code |
说明 |
3 |
参数不一致 |
7 |
类型冲突 |