EIO0000000321 05/2010
SoMachine
CANopen 管理功能
CAA CiA 405 库指南
05/2010
www.schneider-electric.com
EIO0000000321.01
本文档中提供的信息包含有关此处所涉及产品的性能的一般说明和 / 或技术特性。
本文档并非用于 (也不代替)确定这些产品针对特定用户应用的适用性或可靠性。
任何此类用户或集成者都有责任就相关特定应用或使用方面对产品执行适当且完整
的风险分析、评估和测试。 Schneider Electric 或是其任何附属机构或子公司对于误
用此处包含的信息而产生的后果概不负责。如果您有关于改进或更正此出版物的任
何建议,或者从中发现错误,请通知我们。
未经 Schneider Electric 明确书面许可,不得以任何形式、通过任何电子或机械手段
(包括影印)复制本文档的任何部分。
在安装和使用本产品时,必须遵守国家、地区和当地的所有相关的安全法规。出于
安全方面的考虑和为了帮助确保符合归档的系统数据,只允许制造商对各个组件进
行维修。
当设备用于具有技术安全要求的应用时,必须遵守有关的使用说明。
如果在我们的硬件产品上不正确地使用 Schneider Electric 软件或认可的软件,则可
能导致人身伤害、损害或不正确的操作结果。
不遵守此信息可能导致人身伤害或设备损坏。
© 2010 Schneider Electric 。 保留所有权利。
2 EIO0000000321 05/2010
目录
安全信息 . . . . . . . . . . . . . . . . . . . . . . 5
关于本书 . . . . . . . . . . . . . . . . . . . . . . 7
部分 I 简介 . . . . . . . . . . . . . . . . . . . . . .
章 1 CANopen 协议简介 . . . . . . . . . . . . . . . . .
简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
NMT 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . .
PDO 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . .
SDO 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . .
EMCY 协议 . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYNC 协议 . . . . . . . . . . . . . . . . . . . . . . . . . . .
错误控制协议 . . . . . . . . . . . . . . . . . . . . . . . . . . 18
章 2 CiA405 简介 . . . . . . . . . . . . . . . . . . . .
简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
部分 II 功能块描述 . . . . . . . . . . . . . . . . . . .
章 3 功能块通用 I/O 和行为 . . . . . . . . . . . . . . . .
3.1
通用 I/O 和行为 . . . . . . . . . . . . . . . . . . . . . . . . .
通用 I/O 描述 . . . . . . . . . . . . . . . . . . . . . . . . . .
CANopen 内核检测到的错误代码 . . . . . . . . . . . . . . . . .
功能块执行图 . . . . . . . . . . . . . . . . . . . . . . . . . . 29
章 4 网络管理功能块 . . . . . . . . . . . . . . . . . . .
4.1
CIA405 .NMT :设备 NMT 状态管理. . . . . . . . . . . . . . . .
设备 NMT 状态管理 . . . . . . . . . . . . . . . . . . . . . . .
4.2
CIA405 .RECV_EMCY :EMCY 消息扫描. . . . . . . . . . . . . .
EMCY 消息扫描 . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
CIA405 .RECV_EMCY_DEV :获取设备 EMCY 消息 . . . . . . . . .
获取设备 EMCY 消息. . . . . . . . . . . . . . . . . . . . . . .
章 5 自有节点 ID 功能块 . . . . . . . . . . . . . . . . .
5.1
CIA405 .GET_LOCAL_NODE_ID :获取控制器 CANopen 节点 ID . . .
获取控制器 CANopen 节点 ID . . . . . . . . . . . . . . . . . . .
9
11
13
14
15
16
17
21
23
25
25
26
28
31
32
32
35
35
36
36
39
39
39
EIO0000000321 05/2010 3
章 6 查询状态功能块 . . . . . . . . . . . . . . . . . . .
6.1
CIA405.GET_CANOPEN_KERNEL_STATE :获取 CANopen 内核状态
获取 CANopen 内核状态 . . . . . . . . . . . . . . . . . . . .
6.2
CIA405.GET_STATE :获取 CANopen 设备状态 . . . . . . . . .
获取 CANopen 设备状态 . . . . . . . . . . . . . . . . . . . .
章 7SDO 访问功能块 . . . . . . . . . . . . . . . . . .
7.1
CIA405.SDO_READ :读取任意大小的 CANopen 对象 . . . . . . .
读取任意大小的 CANopen 对象 . . . . . . . . . . . . . . . . .
7.2
CIA405.SDO_READ4 :读取最多 4 个字节的 CANopen 对象 . . . .
读取最多 4 个字节的 CANopen 对象 . . . . . . . . . . . . . . .
7.3
CIA405.SDO_WRITE :写入任意大小的 CANopen 对象 . . . . . .
写入任意大小的 CANopen 对象 . . . . . . . . . . . . . . . . .
7.4
CIA405.SDO_WRITE4 :写入最多 4 个字节的 CANopen 对象 . . .
写入最多 4 个字节的 CANopen 对象 . . . . . . . . . . . . . . .
术语表 . . . . . . . . . . . . . . . . . . . . . . . .
索引 . . . . . . . . . . . . . . . . . . . . . . . .
41
42
42
43
43
45
46
46
49
49
52
52
57
57
59
63
4 EIO0000000321 05/2010
重要信息
声明
安全信息
§
在尝试安装、操作或维护设备之前,请仔细阅读下述说明并通过查看来熟悉设备。
下述特别信息可能会在本文其他地方或设备上出现,提示用户潜在的危险,或者提
醒注意有关阐明或简化某一过程的信息。
EIO0000000321 05/2010 5
请注意
电气设备的安装、操作、维修和维护工作仅限于合格人员执行。对于使用本资料所
引发的任何后果, Schneider Electric 概不负责。
专业人员是指掌握与电气设备的制造和操作相关的技能和知识的人员,他们经过安
全培训能够发现和避免相关的危险。
6 EIO0000000321 05/2010
概览
文档范围
有效性说明
关于产品的资讯
关于本书
本文档介绍用于从控制器应用程序管理和监控 CANopen 网络和设备的 SoMachine
CAA CiA 405 库功能块。
本文档已随 SoMachine V2.0 的发布进行了更新。
警告
意外的设备操作
z 仅使用 Schneider Electric 认可的可与本设备配合使用的软件。
z 每次更改物理硬件配置后,请更新应用程序。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。
EIO0000000321 05/2010 7
用户意见
警告
失去控制
z 任何控制方案的设计者都必须考虑到控制路径可能出现故障的情况,并为某些
关键控制功能提供一种方法,使其在出现路径故障时,以及出现路径故障后恢
复至安全状态。紧急停止和越程停止、断电和重启都属于关键控制功能。
z 对于关键控制功能,必须提供单独或冗余的控制路径。
z 系统控制路径可包括通讯链路。必须对暗含的无法预料的传输延迟或链接失效
问题加以考虑。
z 遵守所有事故预防规定和当地的安全指南。
z 为了保证正确运行,在投入使用前,必须对设备的每次执行情况分别进行全面
测试。
如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。
1
有关详细信息,请参阅 NEMA ICS 1.1 (最新版)中的 “ 安全指导原则 - 固态控制
器的应用、安装和维护 ” 以及 NEMA ICS 7.1 (最新版)中的 “ 结构安全标准及可调
速驱动系统的选择、安装与操作指南 ” 或您特定地区的类似规定。
欢迎对本书提出意见。您可以给我们发邮件,我们的邮件地址是
techcomm@schneider-electric.com。
1
8 EIO0000000321 05/2010
概述
简介
EIO0000000321 05/2010
简介
I
本部分概述 CANopen 中使用的各种协议,并介绍 IEC 61131-3 可编程控制器
(CiA405) 的 CANopen 接口和设备配置文件。
注意: 本简介的部分内容摘录并改编自 CAN in Automation (CiA) 网站 (www.can-
cia.org)。 CiA? 和 CANopen® 是 CAN in Automation e.V 的欧盟注册商标。
关于 CiA :CAN in Automation (CiA) 是控制器区域网络 (CAN) 用户和制造商联合组
成的国际性组织。该组织是一家非盈利性协会,提供 CAN (国际标准为 ISO 11898
系列)相关的技术、产品和市场信息。其目标是提升 CAN 的形象,并为 CAN 技术
的未来发展指明方向。该组织的一项重要工作是开发和维护 CANopen 规范,以及
为所有其他基于 CAN 的国际标准化高层次协议提供支持。
本部分包含了哪些内容?
本部分包括以下各章:
章章 节 标 题页
1 CANopen 协议简介 11
2 CiA405 简介 21
EIO0000000321 05/2010 9
简介
10
EIO0000000321 05/2010
CANopen 协议
EIO0000000321 05/2010
本章包含了哪些内容?
CANopen 协议简介
1
本章包含了以下主题:
主题 页
简介 12
NMT 协议 13
PDO 协议 14
SDO 协议 15
EMCY 协议 16
SYNC 协议 17
错误控制协议 18
EIO0000000321 05/2010 11
CANopen 协议
简介
CANopen 协议
设备对象字典
CANopen 协议为实时数据 (过程数据对象 (PDO))、配置数据 (服务数据对象
(SDO))和网络管理数据 (启动消息、 NMT 消息和错误控制消息)以及其他功能
(时间标记、 SYNC 消息、紧急消息)提供标准化的通讯对象 (COB) 。所有通讯对
象都可通过设备对象字典中的 CAN 网络进行访问。这些对象可通过 16 位索引进行
寻址。对于数组和记录对象,还存在另一个 8 位子索引。通讯对象在 CANopen 网
络上由专用且唯一的标识符 (COB ID) 来标识。
CANopen 设备的对象字典条目在电子数据表 (EDS) 文件中进行介绍。CANopen 主
站和从站参数可以在 SoMachine CANopen 配置程序中进行调整。有关 CANopen
配置的详细信息,请参阅在线帮助 CoDeSys 部分的 “ 编辑器 / 设备编辑器 /CANbus
配置编辑器 ” 一章。
12
EIO0000000321 05/2010
NMT 协议
网络管理 (NMT) 协议
网络管理 (NMT) 协议用于控制 CANopen NMT 从站设备的网络行为。单个专用网络
组成部分或所有网络组成部分均可以通过其 NMT 从站状态机中的 NMT 协议进行交
换。
下图显示的是 CANopen NMT 从站状态机。
基于主站 - 从站关系的 NMT 服务
所有 CANopen 设备都会计算传入的 NMT 命令(NMT 消息中的命令说明符 (CS) 代
码)。只有具有 NMT 主站功能的 CANopen 设备才能传输 NMT 消息。在 CANopen
网络中,只有一个 NMT 主站处于活动状态。
CANopen 协议
EIO0000000321 05/2010 13
CANopen 协议
PDO 协议
过程数据对象 (PDO) 协议
过程数据对象 (PDO) 是通过广播传输的高优先级短 (最多 8 个字节) CAN 消息。
因此, PDO 适用于实时数据 (如驱动器或 I/O 模块的控制和状态信息、传感器提
供的测量值等)的传输。
PDO 以未确认方式进行传输。这表示即使有特定的网络组成部分接收到信息,也不
会对接收进行确认。
下图显示了从生产者 (传输 PDO )到消费者 (接收 PDO )的 PDO 传输。
PDO 传输的触发事件
下面定义了 PDO 传输的触发事件。
触发事件 定义
事件或定时器驱动 设备内部事件可触发 PDO 传输 (例如,值更改、温度值超出特定限制、
事件定时器已过时等)
远程请求 收到远程传输请求 (RTR) ,请求进行 PDO 传输。
循环同步 PDO 的传输与 SYNC 消息的接收紧密相关。
非循环同步 定义的设备特定事件可触发 PDO ,而 PDO 在接收到下一个 SYNC 消息
时传输。
14
EIO0000000321 05/2010
SDO 协议
服务数据对象 (SDO) 协议
通过服务数据对象 (SDO) 可以访问 CANopen 对象字典 (OD) 的任何条目。SDO 将
在两个设备之间建立 P2P 通讯通道。此外,通过 SDO 协议还可采用分段方式传输
任何数据量。因此, SDO 协议主要用于与配置数据通讯。
通过分别使用客户端通道配置相关 SDO 服务器,可建立两个设备之间的 SDO 连
接。 SDO 传输是一项确认服务。
下图显示的带有请求和响应的 SDO 交换。
CANopen 协议
EIO0000000321 05/2010 15
CANopen 协议
EMCY 协议
紧急 (EMCY) 协议
EMCY 消息
紧急 (EMCY) 对象可以让设备指示检测到设备内部错误。接收到此信号后,其他网
络组成部分可以评估接收到的信息,并启动相应的特定于制造商的对策。
下图显示的是通过 EMCY 对象检测到的错误消息。
从其他 CANopen 设备接收到的 EMCY 消息存储在 EMCY 存储表中。对于每个
EMCY 生产者,如果没有收到 EMCY 消息,或者只要最新的 EMCY 消息是
无错误
消息,则 EMCY 消费者会认为 EMCY 生产者未检测到内部错误。
16
EIO0000000321 05/2010
SYNC 协议
同步 (SYNC) 协议
SYNC 行为的控制变量
CANopen 协议
使用 SYNC 协议可以实现同步网络行为。循环传输的 SYNC 消息表示消费者启动了
其特定于应用程序的行为,该行为与 SYNC 消息的接收紧密相关。
一旦收到数据,同步 PDO 会在收到 SYNC 消息时认为该数据有效。
下图显示的是 SYNC 协议的 SYNC 消息传输。
两个连续 SYNC 消息之间的时间段称为
通讯循环周期
,可以在 SYNC 生产者的对象
字典 (对象索引为十六进制的 1006 )中进行调整。
同步传输 PDO 在接收到 SYNC 消息后的指定时间范围内开始传输。此时间范围称
为
同步窗口长度
,可在所有必须传输同步 PDO 的设备的对象字典 (对象索引为十
六进制的 1007 )中进行配置。
下图显示的是同步窗口长度和通讯循环周期。
EIO0000000321 05/2010 17
CANopen 协议
错误控制协议
错误控制协议
心跳
心跳或保护服务是用于检查网络组成部分是否存在并获取其状态的网络管理 (NMT)
服务。
CANopen 中存在两种类型的错误控制协议:
z 心跳
z 节点保护 / 寿命保护
心跳协议是较灵活的协议,在没有远程传输请求 (RTR) 的情况下也可以工作,因
此,只要 CANopen 设备支持此协议,就应使用该协议。
CANopen 设备将循环传输其心跳。此循环时间称为
心跳生产者时间
。接收到心跳
消息后,心跳消费者 (例如 CANopen 管理器)将评估相关设备是否仍在正常运行
以及是否处于正确的 NMT 状态。在特定时间段内,消费者必须从相关的心跳生产
者至少接收一条心跳消息,该时间段 (心跳消费者时间)在消费者中进行配置。
下图显示的是错误控制协议的心跳与时间间隔。
18
EIO0000000321 05/2010
节点保护 / 寿命保护
CANopen 协议
CANopen 管理器通过远程传输请求 (RTR) 来请求错误控制消息。受保护的设备会
回复一个 CAN 数据帧,以指示当前的 NMT 状态。
主站: 主站监控从站的 NMT 状态 (节点保护)
寿命
从站 : 从站监控主站的
信号 (寿命保护)
EIO0000000321 05/2010 19
CANopen 协议
20
EIO0000000321 05/2010