CANOpen网络管理与特殊协议解刨
来源:EEFOCUS 发布时间:2018-08-28 分享至微信

 

 

图1 CAN的突发优势和多节点拥堵

 

CANopen的创始人是非常了解CAN总线这个特征,所以在设计CANopen时,对其定义为小网络、控制信号的实时通讯:

 

  • 报文传输采用CAN标准帧格式。即11bit的ID域,以尽量减小传输时间;

 

 

  • 网络控制报文均采用数据最小字节数。比如心跳报文,只有1个字节数据;

 

  • 实时更新的过程数据无需接收方报文应答。即采用生产消费模型,降低总线负载;

 

  • 需要接收方确认的配置参数一般都是采用快速单字传输。即1个报文最多传送1个32字节的参数变量,避免了分帧引起的实时性降低。

 

以上这些定义都是为了节约时间开销,最大限度保证实时性。同时为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN帧ID)分配表,以减少使用者与维护者的学习时间,快速上手。

 

网络管理(NMT)与特殊协议(Special protocols)报文ID分类

 

虽然CANopen的通讯发挥了CAN的特色,所有节点通信地位平等,运行时允许自行发送报文,但CANopen网络为了稳定可靠可控,都需要设置一个网络管理主机NMT-Master(Network Management-Master),就像一个交响乐团的指挥家,所有节点的启动、停止都是有他进行指挥,如图2所示。

 


图2 NMT-Master就像交响乐指挥家

 

NMT主机一般是CANopen网络中具备监控的PLC或者PC(当然也可以是一般的功能节点),所以也成为CANopen主站。相对应的其他CANopen节点就是NMT从机(NMT-slaves)。

 

NMT主机和NMT从机之间通讯的报文就称为NMT网络管理报文。管理报文负责层管理、网络管理和ID分配服务。例如,初始化、配置和网络管理(其中包括节点保护)。网络管理中,同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式。

 

另外,为了协调各个节点的同步、心跳、时间、错误提示等通讯控制,CANopen还定义了一系列特殊协议(Special protocols)报文。如表 1所示,为CANopen预定义报文(Pre-defined CAN-IDs)的NMT报文和特殊协议报文。

 

表1 NMT与特殊协议的CAN-ID定义

 

Object对象

Specification规范

CAN-ID

NMT网络管理命令

CiA301

000h

Global failsafe command全局故障安全命令

CiA304

001h

Flying master动态主站

CiA302-2

071h to 076h

Indicate active interface标示活动接口

CiA302-6

07Fh

Sync同步报文

CiA301

080h

Emergency紧急报文

CiA301

081h to 0FFh(080h +node-ID)

Time stamp时间戳报文

CiA301

100h

Safety-relevant data objects安全相关数据对象

CiA301

101h to 180h

 

CAN-ID就是这类报文的COB-ID,其中读者必须需要记住的是绿色底纹的这些常用的CAN-ID含义,在研发和应用CANopen中,这三类是最为常用的NMT与特殊协议报文。

 

USBCAN-E-P与PCI-5010-P主站卡可为PC机拓展出CANOpen通讯接口,实现CANOpen协议的数据通信。作为CANOpen网络的管理者,实现全部的CANOpen网络管理(NMT)功能。

 

CANopen主站卡系列

[ 新闻来源:eefocus,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论

暂无评论哦,快来评论一下吧!