查看: 624|回复: 4
收起左侧

[求助] SV660N PDO出问题

刘彦志 2022-9-13 17:08:21 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

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

x
SOEM1.4协议栈,win10 64,vs2019。周期2ms.
PDO 配置如下:
int size = 2;
uint8_t     b;
uint16_t w;
uint8_t  ind;
uint32_t dw;

//rpdo------------
  //1c12.0
b = 0;
ec_SDOwrite(slave, 0x1c12, 0x00, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);
w = htoes(0x1600);
ec_SDOwrite(slave, 0x1c12, 0x01, FALSE, sizeof(w), &w, EC_TIMEOUTRXM);

//1600
ind = 0;
b = 0;
ec_SDOwrite(slave, 0x1600, 0, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);
dw = htoel(0x60400010);//6040h(控制字)
ec_SDOwrite(slave, 0x1600, ++ind, FALSE, sizeof(dw), &dw, EC_TIMEOUTRXM);
dw = htoel(0x607a0020);//607Ah(目标位置)
ec_SDOwrite(slave, 0x1600, ++ind, FALSE, sizeof(dw), &dw, EC_TIMEOUTRXM);
dw = htoel(0x607c0020);//607Ch(原点偏移量)
ec_SDOwrite(slave, 0x1600, ++ind, FALSE, sizeof(dw), &dw, EC_TIMEOUTRXM);
b = ind;
ec_SDOwrite(slave, 0x1600, 0, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);

//1c12.0
b = 1;
ec_SDOwrite(slave, 0x1c12, 0x00, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);

//tpdo-------------
//1c13.0

b = 0;
ec_SDOwrite(slave, 0x1c13, 0x00, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);
w = htoes(0x1a00);
ec_SDOwrite(slave, 0x1c13, 0x01, FALSE, sizeof(w), &w, EC_TIMEOUTRXM);

//1a00
ind = 0;
b = 0;
ec_SDOwrite(slave, 0x1a00, 0, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);
dw = htoel(0x603F0010);//603Fh(错误码)
ec_SDOwrite(slave, 0x1a00, ++ind, FALSE, sizeof(dw), &dw, EC_TIMEOUTRXM);
dw = htoel(0x60410010);//6041h(状态字)
ec_SDOwrite(slave, 0x1a00, ++ind, FALSE, sizeof(dw), &dw, EC_TIMEOUTRXM);
dw = htoel(0x60640020);//6064h(位置反馈)
ec_SDOwrite(slave, 0x1a00, ++ind, FALSE, sizeof(dw), &dw, EC_TIMEOUTRXM);
b = ind;
ec_SDOwrite(slave, 0x1a00, 0, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);

//1c13.0
b = 1;
ec_SDOwrite(slave, 0x1c13, 0x00, FALSE, sizeof(b), &b, EC_TIMEOUTRXM);

打开网口,启动协议栈,能够找到目标驱动器,经初始化后(就是SOEM协议栈的simpletest几乎一样的过程),LED面板上面显示_88ry,按照官方的说明书,应该表示运行状态,周期同步位置模式,伺服就绪,能通过PDO数据控制字操作马达上使能,此时LED面板显示_99rn,也就是电机已经上使能。还能进行SDO读写操作。
为检验PDO映射设置是否正确,读部分SDO,结果如下:
index subindex size Value
1c13 1 2 1a00
1c13 0 1 1
1c12 0 1 1
1c12 1 2 1600
1a00 1 4 603f0010
1a00 2 4 60410010
1a00 3 4 60640020
1a00 0 1 3
1600 0 1 3
1600 1 4 60400010
1600 2 4 607a0020
1600 3 4 607c0020
可以看到PDO的映射配置已经写进去了。
另外,用FPRD命令读FMMU(0x600~0x6ff),有如下结果:
0x600:0
0x610:0x14
0x604:0xA
0x614:0x8
0x606:0
0x616:0
0x607:7
0x617:7
0x608:0x1800
0x618:0x1C00
0x60A:0
0x61A:0
0x60B:2
0x61B:1
0x60C:1
0x61C:1
好像fmmu也是正确的。
但是,实际发现,ec_receive_processdata(EC_TIMEOUTRET);的时候,LRW并没有读回来返回数据。其中一包返回数据如图所示(wireshark):
图片1.jpg


可以看到,LRW的WKC=2,也就是写成功,但是读没有成功。请问这是怎么回事?




上一篇:SEW伺服驱动器扩展总线通讯手册
下一篇:求组雷赛驱动器及汇川驱动器Ether cat devices XML文件

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

Patrical 2022-9-13 20:36:58 | 显示全部楼层
内容详细,感谢分享
回复 送花

使用道具 举报

COLOR 2022-9-13 23:36:44 | 显示全部楼层
内容详细,感谢分享
回复 送花

使用道具 举报

zjw424260912 2022-9-14 07:51:42 | 显示全部楼层
感谢楼主分享!
回复 送花

使用道具 举报

kongyungang 2022-9-14 13:41:57 | 显示全部楼层
image.png

19011395-SC_A02(19011395《SV660N系列伺服功能手册》).pdf

7.09 MB, 下载次数: 1

售价: 5  [记录]

回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

楼主其他主题

热点推荐

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部