DOCA0132ZH-01

CANopen 协议准则

CANopen 网络简介

CANopen 是基于串行总线 Controller Area Network (CAN) 的网络系统。CANopen 通讯配置文件 (CiA DS-301) 支持直接访问设备参数和对时间要求较高的过程数据通讯。

LTMR 控制器的 CANopen 设备配置文件是制造商特定的配置文件。其定义基本设备功能的标准,同时为附加的供应商特定设备功能提供了大量范围。

CANopen 通过以组织和(如果必要)确定的方式允许在节点之间进行直接的对等数据交换来使用 CAN 的完整功能。

CANopen 协议

CANopen 协议基于 CAN 2.B passive 规范(以 11 位编码的标识符)。

LTMR CANopen 控制器接口符合 CANopen 规格 (DS301 V4.02)。

这些控制器在 EDS(电子数据表)文件中进行了说明,此类文件内嵌于配置工具中。

注: 有关 CANopen 的更多信息,请访问 Can In Automation 网站:http://www.can-cia.de

CANopen 消息帧

下面对标准 CANopen 消息帧进行了介绍:

SOF

COB-ID

RTR

CTRL

数据段

CRC

ACK

EOF

1 位

11 位

1 位

5 位

0-8 字节

16 位

2 位

7 位

SOF

帧开始

COB-ID

CAN 消息标识字段,由功能码(4 位)和模块 ID(7 位)组成。

功能码用于确定对象的优先级。从而允许在网络管理器和工作站之间进行通讯。功能码由设备配置文件中的对象词典确定。广播由模块 ID 零加以指示。

RTR

远程传输请求

CTRL

控制字段(即,数据长度)

CRC

循环冗余校验

ACK

确认

OEF

帧结束符

CANopen 服务

通过 CAN 网络传输的 CANopen 通讯对象由服务加以描述:

  • 网络管理

    开始总线、参数设置、监控。

  • 过程数据的高速传输

    用于实时控制命令的 PDO(过程数据对象)。

  • 服务数据的低速传输。

    用于配置、设置和诊断的 SDO(服务数据对象)。

网络管理 (NMT)

CANopen 网络管理是面向节点的,遵循客户端/服务器结构。其要求网络中具有一个设备,用于实现 NMT 客户端功能。其他节点是 NMT 服务器。

CANopen NMT 服务器设备实现状态机,如下所述:

(1)

加电时,设备进入初始化状态。

(2)

一旦完成初始化,即会进入预先操作状态(可以发送参数)。

注意:处于预先操作状态时,您可写入通过配置选择的一些参数。

(3) (6)

启动远程节点

(4) (7)

进入预操作状态,并应用故障预置。

(5) (8)

停止远程节点

(9) (10) (11)

复位节点

(12) (13) (14)

复位通讯

过程数据对象 (PDO)

利用 Process Data Object (PDO) 电报进行实时数据传输。Process Data 是用于监控设备的对时间要求较高的数据。

CANopen 控制器通讯模块具有:

PDO

描述

状态

传输 PDO1

监视(由服务器传输的数据)

已预先配置和激活

接收的 PDO1

控制(由客户端传输的数据)

传输 PDO2

交换数据(通过配置定义)

待配置和激活

接收的 PDO2

传输 PDO3

接收的 PDO3

传输 PDO4

通过编程访问(读取或写入)任何寄存器

已预先配置和激活

接收的 PDO4

可将 RPDO(接收的 PDO)和 TPDO(传输 PDO)对象配置为包含 8 个字节的数据(例如,被组织为四个 16 位寄存器或一个 64 位对象)。

RPDO 对象具有写访问权限。

依照具体的应用,将 PDO 通讯模式设置为异步、循环或非循环异步。

在异步模式下,PDO 传输与 CANopen 客户端循环发射的 SYNC 对象相关。其不包含任何数据。其出厂设置为 0x080。

传输模式为:

传输类型

PDO 传输

 

循环

非循环

同步

异步

0

PDO 随 SYNC 对象同步发送,因数据值发生变化而触发

 

 

1-240

每当接收 1 到 240 次 SYNC 对象,将由通讯模块发送 PDO

 

 

255

通讯模式的出厂设置

 

 

有关 PDO 更多信息,请参阅 Using PDOs

服务数据对象 (SDO)

服务数据对象 (SDO) 用于配置设备和定义通过 PDO 所传输信息的类型和格式。

SDO 允许您访问设备对象词典的任何对象。

CANopen 客户端通过 SDO 执行非循环消息传递。它们也用于异步非周期性请求。例如,可使用 SDO 来读取控制单元标识。

CANopen 通讯模块管理一个 SDO 服务器,该服务器接收两个 COB-ID:

  • 一个用于请求(由客户端发送给 CANopen LTMR 的电报)

  • 一个用于响应(由 CANopen LTMR 发送回给客户端的电报)

有关 SDO 的更多信息,请参阅 Using SDOs

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

这有帮助吗?