首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDO ethercat SOEM/SOEM

SDO ethercat SOEM/SOEM
EN

Stack Overflow用户
提问于 2020-07-02 18:03:51
回答 2查看 683关注 0票数 0

我正在使用SOEM和some库实现SDO通信,但我遇到了一些问题,有人能帮我吗?为了更详细地说明,我使用了一台Pc,其中Ubuntu是Ethercat主机,而ethercat从主机使用的是LAN9252。从机连接到具有窗口10的pc,该窗口用于加载SOES程序,并且一旦加载了软件,它就保持连接在调试模式中以检查变量。我对SDO的通信有点问题。当我在我的主机上用可选参数-sdo从命令窗口运行slaveinfo.c程序(该程序包含在SOEM库中)时,我得到了以下结果:

SOEM (简单打开EtherCAT主机) Slaveinfo在enp2s0上启动slaveinfo ec_init成功。找到并配置了%1个从属。计算的工作计数器3

从:1名称: SSC_Device输出大小:1024位输入大小:1024位状态:4延迟:0 Ps具有DC: 1 DC父端口:0 Activeports:1.0.0.0已配置地址: 1001 Man: 00000afc ID: 00010000版本: 00000001 SM0 A:1000 L: 128 F:00010026类型:1 SM1 A:1200 L: 128 F:00010022类型:2 SM2 A:1400 L: 128 F:00010064类型:3 SM3 A:1600 L: 128 F:00010020类型:4 FMMU0 Ls:00000000 Ll: 128 Lsb:0 Leb:7 Ps:1400 Psb:0TY:02幕:01 FMMU1 Ls:00000080 Ll: 128LSB:0LEB:7 Ps:1600PSB :0 Ty:01幕:01 FMMUfunc 0:1 1:2 2:0 3:0MBX length wr: 128 rd: 128 MBX协议: 04 CoE details: 0d FoE details: 00 EoE details: 00 SoE details: 00 Ebus current: 0 0mA LRD/LWR:0 ec_slavecnt.mbx_proto: 04 printSDO: 1 End slaveinfo,关闭套接字结束程序

问题是,根据CoE,我看不到PDO映射。我检查了主机和从机之间的包交换,我看到主机发送了一个请求,我的从机收到了它,然后从机发送了响应请求,但主机没有收到它。在从调试器中,我检查了SM_status (同步管理器状态SM1 0x080d),这是一个寄存器,用于指示mailmox是否已满以及主设备是否可以读取,并且我看到该寄存器没有改变值。有人知道问题出在哪里吗?eeprom存储器需要具有特定的结构才能进行正确的SDO通信?或者可能只是一个从属软件问题?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-07-06 22:18:04

使用参数-map调用slaveinfo程序

干杯,马可

票数 0
EN

Stack Overflow用户

发布于 2020-07-14 18:27:07

Sudo./slaveinfo eth2 -map

代码语言:javascript
复制
SOEM (Simple Open EtherCAT Master)
Slaveinfo
Starting slaveinfo
ec_init on eth2 succeeded.
1 slaves found and configured.
Calculated workcounter 3

Slave:1
 Name:Servo Drives
 Output size: 88bits
 Input size: 88bits
 State: 4
 Delay: 0[ns]
 Has DC: 1
 DCParentport:0
 Activeports:1.0.0.0
 Configured address: 1001
 Man: 0000029c ID: 02c30001 Rev: 00000003
 SM0 A:1000 L: 128 F:00010026 Type:1
 SM1 A:1400 L: 128 F:00010022 Type:2
 SM2 A:1800 L:  11 F:00010064 Type:4
 SM3 A:1c00 L:  11 F:00010020 Type:3
 FMMU0 Ls:00000000 Ll:  11 Lsb:0 Leb:7 Ps:1c00 Psb:0 Ty:02 Act:01
 FMMU1 Ls:0000000b Ll:  11 Lsb:0 Leb:7 Ps:1800 Psb:0 Ty:01 Act:01
 FMMUfunc 0:1 1:2 2:3 3:0
 MBX length wr: 128 rd: 128 MBX protocols : 0e
 CoE details: 2f FoE details: 01 EoE details: 01 SoE details: 00
 Ebus current: 0[mA]
 only LRD/LWR:0
PDO mapping according to CoE :
  SM2 inputs
     addr b   index: sub bitl data_type    name
Number of subindex: 4
  [0x000B.0] 0x6040:0x00 0x10 UNSIGNED16   Control Word
  [0x000D.0] 0x607A:0x00 0x20 INTEGER32    Position set-point
  [0x0011.0] 0x60FF:0x00 0x20 INTEGER32    Velocity set-point
  [0x0015.0] 0x6060:0x00 0x08 INTEGER8     Operation mode
  SM3 outputs
     addr b   index: sub bitl data_type    name
Number of subindex: 4
  [0x0000.0] 0x6041:0x00 0x10 UNSIGNED16   Status Word
  [0x0002.0] 0x6064:0x00 0x20 INTEGER32    Actual position
  [0x0006.0] 0x606C:0x00 0x20 INTEGER32    Actual velocity
  [0x000A.0] 0x6061:0x00 0x08 INTEGER8     Operation mode display
End slaveinfo, close socket
End program
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62693813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档