EtherCAT SDO分段下載/上傳說明

 

ETherCAT COE (CANOpen)的 SDO   屬於應用層通訊協議,基於同步管理器(SM)的郵箱實現的,主站可以通過SDO實現一下功能。

  對應郵箱消息數據格式如下

 

其中分段下載和分段上傳請求和響應較爲特殊,ETG 1000-4手冊上對整個通訊過程講解不夠清晰,下面是我個人的理解。

     分段下載的過程

①. 客戶端發送“常規下載請求”,包含數據(寫滿SM設定緩存區)給服務器   --> 服務器接收到數據後,判斷 Complete Size > Size,且數據包完整無邏輯錯誤(發送的數據長度必須等於SM設定緩存,否則視爲錯誤),斷定客戶端還有數據未發出(標記下一接收爲 “段下載請求”),保存接收到的數據併發送“常規下載請求響應”通知客戶端。

②. 客戶端發出 "段下載請求"給服務器,標記Toggle = 0   ,Follows = TRUE(還有下一幀,否則爲FALSE最後一幀)-->  服務器接收到數據後,下載數據,發送應答(toggle = 0)。

③. 客戶端發出 "段下載請求"給服務器,標記Toggle = 1   (翻轉),Follows = TRUE(還有下一幀,否則爲FALSE最後一幀)-->  服務器接收到數據後,下載數據,發送應答(toggle = 1)。

....

⑥. 客戶端發出 "段下載請求"給服務器,標記Toggle = (-1)^(n-1)  (翻轉),Follows = FALSE(最後一幀)-->  服務器接收到數據後,下載數據,合成並解析數據到對應的對象字典,再發送應答(toggle)。

 以上是我閱讀ETG1000協議的學習理解,歡迎指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章