EtherCAT SII:什么是 receive mailbox 和 send mailbox?
EtherCAT ETG 1000.6 V1.0.32 规范在第 5.4 SII coding 节中规定,SII 头部中的以下字段包含邮箱设置:
| 字段 | 地址 | 数据类型 | 方向 | 描述 |
|---|---|---|---|---|
| Bootstrap Receive Mailbox Offset | 0x0014 | Unsigned16 | master → slave | Bootstrap 状态下的接收邮箱偏移 |
| Bootstrap Receive Mailbox Size | 0x0015 | Unsigned16 | master → slave | Bootstrap 状态下的接收邮箱大小 |
| Bootstrap Send Mailbox Offset | 0x0016 | Unsigned16 | slave → master | Bootstrap 状态下的发送邮箱偏移 |
| Bootstrap Send Mailbox Size | 0x0017 | Unsigned16 | slave → master | Bootstrap 状态下的发送邮箱大小 |
| Standard Receive Mailbox Offset | 0x0018 | Unsigned16 | master → slave | 标准状态下的接收邮箱偏移 |
| Standard Receive Mailbox Size | 0x0019 | Unsigned16 | master → slave | 标准状态下的接收邮箱大小 |
| Standard Send Mailbox Offset | 0x001A | Unsigned16 | slave → master | 标准状态下的发送邮箱偏移 |
| Standard Send Mailbox Size | 0x001B | Unsigned16 | slave → master | 标准状态下的发送邮箱大小 |
由于 receive 邮箱用于 master → slave 通信,这与 EtherCAT 标准中的大多数其他规范一样,是 从从站视角 出发定义的。
因此:
- receive mailbox 即 MbxIn(邮箱输入),用于 Master->Slave 通信,应使用 SyncManager
SM0 - send mailbox 即 MbxOut(邮箱输出),用于 Slave->Master 通信,应使用 SyncManager
SM1
标准邮箱大小与 Bootstrap 邮箱可能不同——可以使用更大的 Bootstrap 邮箱进行优化。但实际中,EtherCAT 从站通常只有标准邮箱(即 Bootstrap 邮箱与之相同)。
来源:ETG 1000.6 V1.0.32,第 5.4 SII coding 节——需要免费的 ETG 会员资格。
Check out similar posts by category:
EtherCAT
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow