编辑: 怪只怪这光太美 | 2016-08-28 |
(2)远程帧:通过发送远程帧可以向网络请求数据,启动其他资 源节点传送他们各自的数据. (3)错误帧:错误帧能够报告每个节点的出错.由两个不同的域 组成,第一个域是不同站提供的错误标志的叠加,第二个域是错误界 定符;
(4)过载帧:如果节点的接收尚未准备好就会传送过载帧,由两 个不同的域组成,第一个域是过载标志,第二个域是过载界定符. 1.9 CAN 总线的连接 连接到 CAN 总线如上图所示一样简单. 在总线电缆的两端必须插 入120 Ohm 电阻. CAN 总线网络最长可到
1000 米,对于分支结 构其长度不应超过 0.3m.各种位速率下的最大长度见 CAN 总线规范. 二.控制器 的CANopen 配置 通过 KeyaMotorMonitor 上位机软件,控制器配置通讯参数 必须通过 RS232 端口连接到 PC 使用配置选项卡中的 CAN 菜单启用 CANopen 模式. 另外, 该实用程序可用于配置以下参数: ?节点 ID ?波特率 ?心跳(毫秒) ? 自动启动 2.1 出场默认配置 (1)标准帧 (2)CAN 类型:CANopen (3)波特率:
250 kbps (4)节点 ID:默认为
1 (5)心跳周期:1000ms (6)TPDO 使能和发送速率: 默认 1500ms (7)自启动:默认使能 2.2 CAN 总线引脚 根据控制器型号的不同,CAN 信号位于
15 针孔型连接器或
25 针 针型连接器.DB15 、DB25 连接器的引脚位置如下表说明. 表1,DB15连接器上的CAN信号 引脚编 号 信号 说明
6 CAN_L CAN总线低
7 CAN_H CAN总线高 表2. DB25连接器上的CAN信号 引脚编 号 信号 说明
23 CAN_H CAN总线高
24 CAN_L CAN总线低 注:具体详见产品说明书端口定义
三、CANopen 控制器协议 实际上控制器所有能通过串口/USB通信访问的实时查询和实时 命令也能通过CANopen访问.控制器支持的所有命令已经整理到命令 表格,见附录. 注意:大部分控制器的 CAN 和USB 不能同时工作.对于带 USB 连接器的控制器, 如果不允许同时连接, 不连接 USB 时控制器将使能 CAN.只要 USB 插到 PC 机控制器将自动使能 USB 而禁止 CAN.CAN 连 接将保持禁止状态直到 USB 拔出控制器重启. 3.1 CANopen 消息类型 按CANopen 模式工作的控制器可接收下列类型的命令: (1)服务数据对象,或SDO 消息,用于读写参数值 (2)过程数据对象,或PDO 映射的消息,用于运行时自动地发送参 数和/或接收命令 (3)网络管理,或按 CANopen 规范定义的 NMT 3.2 服务数据对象(SDO)读/写消息 可使用加速 SDO 消息实时地向控制器发送运行时查询和运行时 命令.SDO 消息提供访问对象字典的一般方法,可以不规则的形式获 取参数值,因为生成每个 SDO 请求和响应消息会消耗过多的网络流 量. 3.3 发送过程数据对象(TPDO)消息 发送 PDO(TPDO)消息是运行时使用的两类 PDO 消息之一. TPDO 周期性地从控制器向其它节点发送运行时工作参数.TPDO 不改变对 象数据;
只是读控制器的内部参数,发送到 CAN 总线. 3.4 接收过程数据(RPDO)消息 RPDOs被配置成捕捉针对控制器的运行时数据. 控制器的CANopen实现支持RPDOs.用RPDOs接收的数据保存在8 个用户变量里,被MicroBasic脚本处理. 3.5.CANopen 数据发送与接收 使用CANopen发送、接收数据,不是简单的指定ID后就发送命令 以及参数,需要符合一定的加载规范. (1)读节点参数 ID加载方式:0x600 +目标地址ID(0x01-0x7e),范围为0x601-0x67E 数据帧加载方式如下 读节点命令 Data_0 Data_
1、
2 Data_
3 Data_