EL6751快速配置CANopen伺服
使用倍福EL6751快速配置方法,不要求提供从站的eds文件,但是需要提供从站的使用手册和通讯手册,用来查阅从站的PDO配置信息,这些配置参数会使用如下方法通过EL6751写入到从站中。
建立通用CANopen节点
建立通用CANopen节点的方法如下,需要首先添加EL6751到EtherCAT网络中,之后建立CANopen主站EL6751如下图
添加通用的CANopen节点
默认的CANopen节点只有四个PDO,可以通过右键添加新的PDO进去,在Box7上右键,Insert TxPDO就可以增添一个TxPDO 3,再操作一次就可以增添一个TxPDO 4…
DS402默认给定了前 4个TxPDO,4个RxPDO的COB-ID,实际上可以支持最多512个PDO,但是每个PDO传输的数据大小不得超过8个字节
这意味着,配置变量的时候,不能把所需变量都加到一个TxPDO或者一个RxPDO下面,除非确保所需的变量加起来不会超过8个字节。
SDOs选项卡下参数解读
对于符合CiA DS402规范的伺服驱动器,一般需要把TxPDOn(n=1,2,3,4,5,6,7,8)的传输类型设为同步传输(值范围1-240)
关于传输类型参数的解读,摘取自Codesys Help
0x1400-0x15FF用于配置RxPDO通讯对象参数;
0x1600-0x17FF用于配置RxPDO映射对象参数;
0x1800-0x19FF用于配置TxPDO通讯对象参数;
0x1A00-0x1BFF用于配置TxPDO映射对象参数;
配置步骤:
1)检查节点号,节点号和COB-ID有关联,例如节点号是1,对于TxPDO 1的COB-ID就是0x181,若节点号是2,对于TxPDO 1的COB-ID就是0x182,计算规则如下:0x180+NodeID=COB-ID;
2)配置通讯对象参数,TxPDO 1需要配置0x1800的参数,TxPDO 2需要配置0x1801的参数,依此类推;同样地,配置RxPDO 1的通讯对象0x1400的参数,配置RxPDO 2的通讯对象0x1401的参数…
3)配置映射对象参数,TxPDO 1需要配置0x1A00映射对象参数,TxPDO 2需要配置0x1A01映射对象参数…同样地,RxPDO 1需要配置0x1600映射对象参数,RxPDO 2需要配置0x1601映射对象参数…
4)根据配置的映射对象,在对应的PDO下面建变量,变量类型需要和从站手册中给定的变量类型一致,不需要和SDOs选项卡下的类型保持一致!
首先,禁用待配置的TxPDO 1,禁用方式如下图所示
其次写入配置参数,给TxPDO 1 映射Statusword参数,根据DS402,Statusword参数的索引是0x6041,子索引0x00,数据类型是U16(2byte大小),下图的弹框里Length(dec)需要填入4,表示这个SDO传输4个字节,这4个字节就是0x60410010,是4个byte的大小,这里需要重点关注和区分!实际上配置映射参数的时候,Length(dec)只会是1和4两个数值,1用来启用和禁用PDO,4用来配置映射的对象索引,子索引和数据大小,这个长度固定就是4byte!
最后,启用TxPDO 1,启用方式如下:
运行过程中通过SDO访问伺服数据
在伺服运行过程当中可能需要访问一些不在PDO中映射的数据,此时需要利用SDO进行访问,SDO可以访问所有CANopen设备对象字典中的对象数据,访问的方法有两种
通过节点面板的“ADS”选项卡读写对象字典
例如,读取伺服当前位置参数,即读取索引0x6064的值,读取上来的数据是16进制,低位在前,高位在后,即 0xFFFAC8DD,由于伺服的当前位置是I32类型的数据,故0xFFFAC8DD转成10进制为-2,147,141,854(注意这里是补码转原码,因为是I32类型,有符号数,转换规则:除最高位符号位不动,其他位取反后加1,即得原码,原码转为10进制加上负号即可)
读取索引为0x1A00,子索引为0x01的参数,需要读取4字节大小,可见读取上来的数值正是在SDOs选项卡下设置的映射参数
向对象字典索引0x60C2,子索引0x01写入数值“1(dec)”,注意待写入数据需要填写十六进制的补码,以byte为单位写入,所以Write-Data需要填写 0x01,写入长度由 Read-Length限定,由于我们要写入一个INTEGER8的数据1,所以这里填写“1”,表示写入的数据长度是1byte。如果是写入负数例如“-8(dec)”,这里需要填入 -6 的补码格式 0xF9(负数的补码计算规则:除符号位外,所有位取反后加1)
写完以后,可以再执行读取命令,查看是否写入成功。
通过功能块读写对象字典
在Tc2-system中使用ADS相关功能块进行读写操作,其中ADS设备信息可以双击Box7这个CANopen从站在右侧工作区位置,ADS选项卡下获取,具体位置如下图所示
程序样例如下图所示: