CANopen使用手册-以埃斯顿ProNet 伺服驱动器为例(二)

[复制链接]
查看198 | 回复0 | 2024-10-31 22:34:50 | 显示全部楼层 |阅读模式
>

1.CAN标识符分配表

   


                       

注意:

(1)PDO/SDO 的发送/接受是由(slave)CAN 节点方观察的。

(2)本驱动器的 CANopen 暂支持 2 个发送 PDO,2 个接受 PDO。

2.服务数据对象 SDO

SDO用来访问一个设备的对象字典。访问者被称作客户 (client),对象字典被访问且提供所请求服务的 CANopen 设备别称作服务器(server)。客户的 CAN 报文和服务器的应答 CAN 报文总是包含 8 字节数据(尽管不是所有的数据字节都一定有意义) 。一个客户的请求一定有来自服务器的应答。

SDO有 2 种传送机制:

(1)加速传送(Expedited transfer) : 最多传输 4 字节数据

(2)分段传送(Segmented transfer) : 传输数据长度大于 4 字节

SDO基本结构如下:


SDO报文对参数读/写操作格式:


3.过程数据对象 PDO

PDO用来传输实时数据, 数据从一个生产者传到一个或多个消费者。 数据传送限制在 1 到 8 个字节。

PDO通讯没有协议约束(意味着数据内容已预先定义) ,因此消费者可以在很短的时间内处理完接受到的数据。PDO 数据内容只由它的 CAN ID 定义,假定生产者和消费者知道这个 PDO 的数据内容。

每个 PDO 在对象字典中用 2 个对象描述:

(1)PDO通讯参数:包含将被 PDO 使用的COB-ID,传输类型,禁止时间和定时器周期。

(2)PDO映射参数:包含一个对象字典中对象的列表,这些对象映射到 PDO 里,包括它们的数据长度(in bits) 。生产者和消费者必须知道这个映射,以解释 PDO 内容。

PDO消息的内容是预定义的(或者在网络启动时配置的) ,映射应用对象到 PDO 中是在设备对象字典中描述的。如果设备(生产者和消费者)支持动态,那么使用 SDO 报文可以配置 PDO 映射参数,本驱动器支持动态 PDO 映射。PDO 映射的必须遵守以下 2 个规则:

(1)每个 PDO 最多可映射 4 个对象;

(2)每个 PDO 的长度必须不超过 64 位。

PDO映射流程:

(1)设置 PDO 对应映射参数(1600 h 或 1601 h 或 1A00 h 或1A01 h )子索引 0 的内容为 0;

(2)修改 PDO 对应映射参数(1600 h 或 1601 h 或 1A00 h 或1A01 h )子索引 1~4 的内容,映射

数据;

(3)设置 PDO 对应映射参数(1600 h 或 1601 h 或 1A00 h 或1A01 h )子索引 0 的内容为合法的

数字(该 PDO 映射的对象数)。

(4)PDO 映射完成。

PDO可以有多种传送方式:

(1)同步(通过接收 SYNC 对象实现同步)

周期:传送在每 1 到 240 个 SYNC 消息后触发

(2)异步

由设备子协议中规定的对象特定事件触发传送。

PDO传输类型定义表


一个 PDO 可以指定一个禁止时间,即定义两个连续 PDO 传输的最小间隔时间, 避免由于高优先级信息的数据量太大,始终占据总线,而使其它优先级较低的数据无力竞争总线的问题。禁止时间由 16 位无符号整数定义,单位 100us。

一个 PDO 可以指定一个事件定时周期,当超过定时时间后,一个 PDO 传输可以被触发(不需要触发位) 。事件定时周期由 16 位无符号整数定义,单位 1ms。

PDO映射事例:

将下表中 3 个对象映射 PDO1(发送) ,PDO1(发送)为异步周期性类型,周期时间 10ms,禁止时间 2ms.


(1)清除 number_of_mapped_objects

number_of_mapped_objects(10A0  h : 00  h )= 0

(2)设置映射对象参数

Index=6041 h Subin. = 00h Length = 10 h 1st_mapped_object(10A0  h : 01  h ) = 60410010 h

Index=6061 h Subin. = 00h Length = 08 h 2st_mapped_object(10A0  h : 02  h ) = 60610008 h

Index=60FD h Subin. = 00h Length = 20 h 3st_mapped_object(10A0  h : 03  h ) = 60FD0020 h

(3)设置 number_of_mapped_objects

number_of_mapped_objects(10A0  h : 00  h )= 3

(4)设置 PDO 通讯参数

PDO1(发送)为异步周期性类型 transmission_type (1800  h : 02  h ) = FF h

禁止时间2ms(20×100us) inhibit_time (10A0 h : 03  h )= 14 h

周期时间10ms(10×1ms) event_time (1800 h : 05  h )= 0A h

(5)PDO映射完成。

后续的介绍请关注下次微信更新内容。

 

本文转载自网络分享的:南京埃斯顿ProNet 伺服驱动器的说明书。该说明书写得非常好,有很多CANopen的基础又实用的知识,所以借此机会分享给大家!感谢南京埃斯顿的工程师们!



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则