编辑: 怪只怪这光太美 2016-08-28
CANopen 控制器协议 目录

一、CANopen 基础知识介绍.

2 1.1 CANopen 的用途和优势.2 1.2 通用配置.3 1.3 CAN 工作模式.3 1.4 自启动介绍.4 1.5 ID 介绍.4 1.6 速率介绍.4 1.7 心跳介绍.4 1.8 帧类型.5 1.9 CAN 总线的连接.5 二.控制器 的CANopen 配置.6 2.1 出场默认配置.6 2.2 CAN 总线引脚.6

三、CANopen 控制器协议.7 3.1 CANopen 消息类型.8 3.2 服务数据对象(SDO)读/写消息.8 3.3 发送过程数据对象(TPDO)消息.8 3.4 接收过程数据(RPDO)消息.8 3.5.CANopen 数据发送与接收.9 (1)读节点参数.9 (2)写节点参数.10 (3)指令范例.11 附录

14

一、CANopen 基础知识介绍 CAN 全称为 Controller Area Network,即控制器局域网,由德 国Bosch 公司最先提出,是国际上应用最广泛的现场总线之一. CANopen 是在 CAN 底层协议(物流层和链路层)之上实现的应用 层协议,作为一种技术先进、可靠性高、实时性强、功能完善、成本 合理、完全开放的现场总线,在众多行业中得到广泛应用. 本文重点介绍 CANopen 通信协议的配置和控制器使用 CANopen 协议接收的命令.帮助你使用三腾控制器上的 CANopen,配置 CAN 通 信参数,确保 CANopen 模式的高效工作. 本节包含控制器的 CANopen 信息规范. 关于 CAN 物理层和 CANopen 协 议的详细信息可查找 DS301 文档. 1.1 CANopen 的用途和优势 CANopen 可使多个控制器在一个可扩展的统一网络上互联.其 灵活的配置功能提供了简易访问设备的外露参数的方法, 可实时地自 动(周期性的或事件驱动的)传输数据. CANopen 的优势包括: 1.已形成 EN50325-4 标准 2.得到广泛支持,与厂家无关 3.高度可扩展 4.具有灵活的结构(可广泛使用在各种不同的应用领域) 5.适用于分散的架构 6.CANopen 监视工具和方案的广泛支持 1.2 通用配置 CAN 模式: 用于选择

3 种工作模式之一.选Off 禁止所有的 CAN 发 送和接收功能. 节点 ID: 控制器发送时使用的 CAN 节点标识.其值在

1 到126 之间. 位速率: 可选的位速率. 可用速度是 1000,800,500,250,125,50,25,10 kbit/s.默认值是

250 kbit/s.RawCAN 和MiniCAN 模式 的推荐速度

125 kbit/s. 心跳: 由控制器发送的心跳帧周期. 此帧兼容 CANopen 0x600+ID, 带一个值为 0x05(状态:正常)的数据字节.选择的任一 模式都会发送心跳帧.可输入

0 值禁止. 1.3 CAN 工作模式

1 - RawCAN

2 - MiniCAN

3 CCANopen RawCAN 是一种低级工作模式,可以读写 CAN 帧.推荐在低数据率 系统中使用,它不遵守任何具体标准.一般使用 MicoroBasic 脚本语 言构造和解码 CAN 帧. MiniCAN 是经极大简化后的 CANopen 子集,可以受限地将控制器 集成到已有的 CANopen 网络.这种模式需要 MicroBasic 脚本准备和 使用 CAN 数据. CANopen 是出自 CAN in Automation(CIA)的完整标准,基于 DS301 规范.需要完全遵守 CANopen 标准时可使用此模式. 1.4 自启动介绍 自动启动使能时,控制器自动进入 CANopen 工作模式.控制器的 自动启动默认是使能的.禁止该参数可防止复位后控制器自动启动. 禁能后,控制器只能在接收到 CANopen 管理命令后使能. 1.5 ID 介绍 CANopen 网络设备必须有一个唯一的节点 ID, 在1和126 之间.

0 值用于发送广播消息不能用于网络节点. 1.6 速率介绍 CAN 总线支持的位速率范围从

10 Kbps 到1Mbps.目前实现的 CANopen 里使用的默认位速率是 250kbps.控制器支持的有效位速率 是: 1000K 、800K、500K、250K、125K、50K、25K、10K. 1.7 心跳介绍 心跳消息以若干毫秒的间隔发送到总线上.心跳对于检测网络节 点的存在与否很有用.默认值设成 1000ms. 1.8 帧类型 在CAN 总线中,有四种帧类型:数据帧、远程帧、错误帧和过载 帧. (1)数据帧:数据帧传输应用数据;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题