CANopen提供分布式控制功能

对于基于canopen的控制系统的多主机功能存在一些误解。底层的CAN数据链路层是一个多主协议,每个CAN节点在任何时候都有请求总线访问的权利。根据CAN数据帧的优先级,节点可以立即获得总线访问,或者必须等待。

通过Holger Zeltwanger 2015年4月9日

CANopen应用层提供了几个协议。唯一的单主协议是网络管理(NMT)协议。通常只有一个NMT主设备发送NMT消息来控制其他CANopen设备。为了避免单点故障,CANopen提供了可选的NMT“Flying”主功能。这意味着网络中还有其他CANopen设备提供NMT master功能,但该功能尚未激活。如果活动的NMT主设备失去了与网络的连接,其余具有“休眠”NMT主功能的设备将开始协商哪一个设备将充当NMT主设备。每个NMT主设备都有一个唯一的优先级,由系统设计者分配。如果暂时断开的NMT主设备再次连接,它将请求活动NMT主设备的优先级,并可能启动上述协商过程。NMT“飞行”主过程包括四个协议。

Heartbeat是一个生产者/消费者服务。这意味着任何节点都会生成Heartbeat,以表明它仍在网络中。所有其他CANopen设备都可以消耗其他CANopen设备的心跳。系统设计人员可以对每个节点进行不同的配置。EMCY(紧急)消息也是生产者/使用者服务。系统设计者可以通过CANopen对象字典中的标准化参数来配置EMCY接收。

流程数据对象(pdo)也遵循生产者/消费者模型,使其成为真正的多主系统。它们以广播的形式发送到所有连接的节点,并根据实现的硬消息过滤和软件消息过滤,对它们进行处理或忽略。其中一个误解来自预定义的CAN-ID连接集。基本的CANopen文档(CiA 301)为不同的通信协议指定了canid的默认分配。为每个节点传输的pdo只有四个预定义的can - id。此外,还有四个预定义的用于接收pdo的can - id。这意味着有一组预先配置的pdo,通常由主控制器消耗和生成。但是系统设计人员可以配置CANopen设备,使PDO可以交叉通信,也可以多播,从而可以配置全网格PDO通信。

另一个误解是关于默认服务数据对象(SDO)通信。sdo用于写入或读取对象字典中的参数。这是一个客户机/服务器通信。客户端始终拥有主动权,服务器用确认响应写或读请求。对于读取,SDO服务器将在确认中提供所请求的数据。上述预定义的CAN-ID连接集仅以Default-SDO通信为特征,这意味着每个CANopen节点只有一个预定义的CAN-ID用于接收来自SDO客户机的请求,另一个用于向SDO客户机传输确认。通常,主机控制器拥有其他CANopen设备的所有default -SDO的所有SDO客户机,但是可以将未使用的can - id分配给非预定义的SDO-channel。最后,每个CANopen设备都可以是彼此的SDO客户机,反之亦然。这将是一个完全网格化的SDO网络。

CANopen可用于设计具有多个主机控制器的网络。在这种情况下,主机控制器可以共享网络来通信pdo和sdo。此外,它们还可以共享已连接的其他CANopen设备。例如,一个I/O模块可以与一个PDO通信,它的输入到一个主控制器,与另一个PDO通信,其他输入到另一个主控制器。I/O模块本身甚至可以是主控制器。

一个CANopen设备可以实现多个SDO服务器,以便不同的主机控制器可以对其进行配置。如果没有实现NMT“飞行”主功能,这种真正的分布式控制系统可能会出现单点故障。海底控制器利用了冗余的NMT主协议,而其他一些关键任务应用则实现了NMT“Flying”主协议。在电梯控制业务中,使用多个主机控制器,共享网络并通过相同的总线线与分配的CANopen设备通信。多主机控制器也用于基于canopen的轨道车辆应用。在工业机器控制系统中,大多数应用程序只实现一个“大”主控制器,收集所有输入数据并将所有命令传输到执行器。在移动机器控制系统中,有时会使用多个主控制器。模块化机械设计的趋势也将适用于工业和其他机械,如实验室自动化和医疗器械。CANopen为这种分布式控制体系结构提供了所有必要的特性。

- Holger Zeltwanger是CFE媒体内容合作伙伴CAN in Automation的董事总经理。由数字项目经理Anisa Samarxhiu编辑,asamarxhiu@cfemedia.com

关键概念:

  • CANopen可用于设计具有多个主机控制器的网络。在这种情况下,主机控制器可以共享网络来通信pdo和sdo。
  • 模块化机械设计的趋势也将适用于工业和其他机械,如实验室自动化和医疗器械。CANopen为这种分布式控制体系结构提供了所有必要的特性。
  • 基本的CANopen文档(CiA 301)为不同的通信协议指定了canid的默认分配。为每个节点传输的pdo只有四个预定义的can - id。

考虑一下这个

您将如何使用基于canopen的控制系统的多主功能?

在线额外

请参阅下面的相关文章以及自动化中的其他CAN文章。