伺服电机调试 -- PDO映射

过程数据

EtherCAT 实时数据传输通过过程数据(Process data Object)实现。根据数据传输方向,PDO 可分为RPDO( Reception PDO) 和TPDO(Trasmission PDO),RPDO 将主站数据传送到从站,TPDO 将从站数据反馈至 主站。
在这里插入图片描述

PDO映射

PDO 映射用于建立对象字典与PDO 的映射关系。1600h~17FFh 为RPDO,1A00h~1BFFh为TPDO, SV660N 系列的伺服驱动器中,具有6 个RPDO 和5 个TPDO 可供选用,如下表所示:
在这里插入图片描述

固定映射

SV660N 提供了5 个固定的RPDO 和4 个固定的TPDO 供使用。一些RPDO 与TPDO 的典型使用实例如下表所示。

PP CSP

这是默认配置
在这里插入图片描述
在这里插入图片描述

PP PV PT CSP CSV CST

在这里插入图片描述

PP PV CSP CSV

在这里插入图片描述
在这里插入图片描述

PP PV PT CSP CSV CST

在这里插入图片描述

PP PV CSP CSV在这里插入图片描述

在这里插入图片描述

可变PDO 映射

SV660N 提供了1 个可变的RPDO 和1 个可变的TPDO 供用户使用。
在这里插入图片描述

同步管理PDO 分配设置

EtherCAT 周期性数据通讯中,过程数据可以包含多个PDO 映射数据对象,CoE 协议使用的数据对象0x1C10 ~ 0x1C2F 定义相应的SM( 同步管理通道) 的PDO 映射对象列表,多个PDO 可以映射在不同的子索引里, 在SV660N 系列的伺服驱动器中,支持1 个RPDO 分配和1 个TPDO 分配,如下表所示:
在这里插入图片描述
查看当前设备中的0x1C12和0x1C13的值,确定映射。下面的值说明使用的是固定映射的第一种组合。只支持PP&CSP模式

$ sudo ethercat upload -p 0 -t uint16 0x1c12 1
0x1701 5889
$ sudo ethercat upload -p 0 -t uint16 0x1c13 1
0x1b01 6913

PDO 配置

PDO 映射参数包含指向PDO 需要发送或者接收到的PDO 对应的过程数据的指针,包括索引、子索引及映射 对象长度。其中子索引0 记录该PDO 具体映射的对象个数N,每个PDO数据长度最多可达4*N 个字节,可 同时映射一个或者多个对象。子索引1~N 则是映射内容。映射参数内容定义如下。
在这里插入图片描述
索引和子索引共同决定对象在对象字典中的位置,对象长度指明该对象的具体位长,用十六进制表示,即:
在这里插入图片描述
例如,表示16 位控制字6040h-00 的映射参数为60400010h。
● SV660N 的 PDO 配置遵循流程:
PDO 的映射配置遵循特定的流程,具体按如下步骤执行:
1. PDO配置映射组。1C12h(或1C13h)的00h子索引写入0;
a. 清除原有的映射组。对1C12h(或1C13h)的00h子索引写入“0”即可清除该PDO配置组;
b. 写入PDO映射组。按场景需求写入映射配置组,1C12h中预写入1600h/1701h1705h的值;1C13h中预写入1A00h/1B01h1B04h的值。注 意:只有1600h和1A00h是可配置映射组,其他是固定映射配置;
c. 写入该PDO映射组总个数到1C12h(或0x1C13h)对象子索引0;
2. 配置PDO映射对象。1600h(或1A00h)的00h子索引写入0。
a. 清除原有的映射对象。对1600h(或1A00h)的00h子索引写入“0”即可清除该PDO映射配置;
b. 写入PDO映射内容。按XML文件中的对象参数定义,分别写入到映射参数子索引1~10中;只有支持映射的对象才能配置为PDO映射内容。
c. 写入PDO映射对象总个数,将步骤b中写入的映射个数写入到子索引0中。

说明
● PDO配置仅可以在EtherCAT通讯状态机处于预运行(Pro-Operation,面板显示2)的时候进行设置,否则报错。
● PDO配置参数不可存储在e2prom中,因此每次上电后,请务必重新配置映射对象,否则,映射对象为伺服驱动器默认参数。

使用ethercat命令进行配置

# 配置0x1C12
$ sudo ethercat download -p 0 -t uint16 0x1C12 0 0
$ sudo ethercat download -p 0 -t uint16 0x1C12 1 0x1702
$ sudo ethercat download -p 0 -t uint16 0x1C12 0 1
$ sudo ethercat upload -p 0 -t uint16 0x1c12 1
0x1702 5890
# 配置0x1C13
$ sudo ethercat download -p 0 -t uint16 0x1C13 0 0
$ sudo ethercat download -p 0 -t uint16 0x1C13 1 0x1B02
$ sudo ethercat download -p 0 -t uint16 0x1C13 0 1
$ sudo ethercat upload -p 0 -t uint16 0x1c13 1
0x1b02 6914

检测是否已生效

$ sudo ethercat rescan
$ sudo ethercat cstruct -p 0
/* Master 0, Slave 0, "InoSV660N"
 * Vendor ID:       0x00100000
 * Product code:    0x000c010d
 * Revision number: 0x00010000
 */

ec_pdo_entry_info_t slave_0_pdo_entries[] = {
    {0x6040, 0x00, 16},
    {0x607a, 0x00, 32},
    {0x60ff, 0x00, 32},
    {0x6071, 0x00, 16},
    {0x6060, 0x00, 8},
    {0x60b8, 0x00, 16},
    {0x607f, 0x00, 32},
    {0x603f, 0x00, 16},
    {0x6041, 0x00, 16},
    {0x6064, 0x00, 32},
    {0x6077, 0x00, 16},
    {0x6061, 0x00, 8},
    {0x60b9, 0x00, 16},
    {0x60ba, 0x00, 32},
    {0x60bc, 0x00, 32},
    {0x60fd, 0x00, 32},
};

ec_pdo_info_t slave_0_pdos[] = {
    {0x1702, 7, slave_0_pdo_entries + 0},
    {0x1b02, 9, slave_0_pdo_entries + 7},
};

ec_sync_info_t slave_0_syncs[] = {
    {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
    {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
    {2, EC_DIR_OUTPUT, 1, slave_0_pdos + 0, EC_WD_ENABLE},
    {3, EC_DIR_INPUT, 1, slave_0_pdos + 1, EC_WD_DISABLE},
    {0xff}
};

reference

IGH 汇川SV660N调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值