您的位置:首页 > 运维架构

CANopen系列文章【1】--SYNC【2】

2016-04-22 15:49 232 查看
1】

【远方】同步RPDO是由主站发送给从站的PDO,主站在发送SYNC之前,将所有从站的RPDO发送给从站,然后再发SYNC,此时所有从站同时处理此RPDO。

每个从站可以有不同的RPDO,以COB-ID来区分,所有的RPDO都要在一个同步周期处理完成。

2】

【远方】CAN主站在所有從站的PDO傳輸前,要對PDO進行配置和映射,當PDO的配置和映射做完後,主站即切換從站的狀態為運行,開始PDO傳送,一般主站會發送廣播的NMT控制所有從站同時運行,但這之前SYNC可能就已經在發送了,不過因為從站是預運行狀態所以都不會響應SYNC。

【zzhhll】就是说 在预运行状态 主站发送SYNC的话,从站不会响应的,只有当从站处于运行状态时,收到主站的SYNC后,才会进行同步PDO的动作。是这个意思吗

【远方】是的,PDO只有在運行狀態才會有效,協議上有一張矩陣圖,說明各種服務在各種狀態下是否有效

3】

远方认为如下观点是正确的:

对于同步TPDO,我的理解是,当收到一个同步对象后,立即采样,并在时间窗的前半段将采样的数据用TPDO发给主机;

对于同步RPDO,我的理解是,当收到一个同步对象后,在时间窗的前半段执行上一个同步周期内收到的RPDO的内容,同时在时间窗后半段接收一个新的RPDO,然后在下一同步周期执行,依次类推。

4】

问:用canFestival做主站,下面挂了5个第三方的从站,如果使用SYNC同步交互PDO数据会不会出现冲突问题,因为无法修改从站(比如通过对SYNC计数从而避开多个从站同时发送),这种情况下主站这头还有什么方法可以使用?

远方答案:使用同步PDO,你要对每个从站的PDO做配置,做映射的嘛,多个从站同时发送有什么问题?CAN本来就可以多个从站同时发送,异步模式也是可能多个从站同时发送啊,CAN有碰撞检测和优先级机制的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: