第6章 通信功能的与总线接口附件-CANopen协议简介与应用开发.ppt

第6章 通信功能的与总线接口附件-CANopen协议简介与应用开发.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 通信功能的与总线接口附件-CANopen协议简介与应用开发

DS 401 RPDO1:映射到6200H的8个8bit array (DO) TPDO1:映射到6000H的8个8bit array (DI) 对应最大64个DI/DO(Boolean) RPDO2:映射到6411H的前4个16bit array(AO) TPDO2:映射到6401H的前4个16bit array(AI) RPDO3:映射到6411H的中4个16bit array(AO) TPDO3:映射到6401H的中4个16bit array(AI) RPDO4:映射到6411H的后4个16bit array(AO) TPDO4:映射到6401H的后4个16bit array(AI) Integer类型 2.1 应用对象 低温等离子体设备系统。 二 CANopen协议具体应用开发 PECVD设备系统概念图 除害装置 MFC MFC MFC 气瓶柜 Gas Box 出气电极(阳极) Heater 等离子 电源匹配箱 P 控制器 RF電源 下部电极(阴极) 压力计 节流阀 Pump 气体供给 流量控制 RF电源 压力控制 真空排气 工艺腔室 PECVD设备组成结构示意图 基于CAN总线的低温等离子体设备系统设计方案 2.2 系统设计方案 系统软件总体框架 CAN驱动模块 状态管理和 反馈模块 实时过程数 据传输模块 参数读取 和配置模块 紧急事件 处理模块 对象字典 模块 CANopen软件模块组成 用户 应用 程序 2.3 软件功能模块设计 CAN 驱 动模块 CAN控制 器初始化 模块 CAN中 断处理 模块 CAN报 文发送 模块 2.3.1 CAN驱动程序 2.3.2 对象字典 对象字典是CANopen的核心概念,它存储了节点的所有信息。是一个有序的对象组,每个对象采用一个16位的索引值来寻址,同时定义了一个8位的子索引用于访问数据结构中的单个元素。 对象字典实体结构 对象字典功能框图 对象字典 实体 读函数 写函数 对象字典模块 0001H-0FFFH数据类型定义区(可选) 1000H-1FFFH通信子协议区(必要) 2000H-5FFFH制造商特定协议区(可选) 6000H-9FFFH标准设备子协议区(必要) 存储电流电压输入信号、电压控制信号、启/停、手/自动…. Pre-Operational:在此状态中,从节点SDO被允许,主节点通过SDO完成从节点通信参数的设置,如从节点的PDO参数映射设置。主节点发送start_remote_node命令使从节点进入Operational状态。 Operational:在此状态中,从节点完成自己的正常工作,采集数据,控制设备,与主节点通信,所有报文对象类型都被允许。 Stopped:当从节点发生错误时,或主节点检测到从节点出错了,通过发送stop_remote_node命令使从节点进入此状态,除了接受NMT报文,其他报文对象都被禁止,以此消除对总线的不良影响。若主节点检测到错误节点恢复正常,仍可通过NMT报文让其正常运行。 只有NMT-Master节点能够传送NMT 状态控制报文(通常都是主节点)。所有从设备必须支持NMT模块控制服务。NMT 状态控制消息不需要应答。NMT消息格式如右图: 第一个字节表示从节点收到命令后需要进入的状态,第二个字节是接收命令的从节点ID,若为0,此时所有节点都接收该命令 实现 定义一个状态数组 包含所有的报文类型 状态改变函数 原子操作 状态报文可用性设置 状态转换 实现(续) 状态转换最终还需要报文的解析来实现报文可用性的控制。 canDispatch() { UNS16 cob_id = UNS16_LE(m-cob_id); switch(cob_id 7) { 检查COB_ID对应的报文对象在目前节点状态下是否可用; 若可用,则进入相应的报文处理函数; 不可用则跳出; } } NMT节点保护 通过节点保护服务,NMT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。 数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”或者“1”。触发位在第一次节点保护请求时置为“0”。位0到位6(bits0~6)表示节点状态,可为下表中的数值。 NMT心跳报文 从节点可被配置为产生周期性的被称作心跳报文的报文。 当一个Heartbeat节点启动后它的Bootup报文

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档