工控網首頁
>

應用設計

>

技術干貨:EtherCAT設備組態時PDO Assign與config關鍵字的作用

技術干貨:EtherCAT設備組態時PDO Assign與config關鍵字的作用

問題背景

在使用倍福的 TwinCAT 組態 EtherCAT 從站時,可以在從站的屬性頁的 Process Data 界面看到兩個不明顯的可選項 PDO Assignmentment 與 PDO Configuration,由于該值一般在 EtherCAT 從站的 ESI 文件中已經給定,所以很多用戶會忽略這兩個選項,那么這兩個選項的含義是什么,有什么作用,互相之間有什么影響呢。

93908a2a1d590b01cd4e7ebf59c86a77_image1_sf_dm_key=_v1lyv27Xl6hW-EpgntMVYTxOYXdxTa4_dUDp8IOWZQ1.png

要想了解這個問題,首先簡單了解一下 CoE 協議 PDO 部分,即 CANopen Over EtherCAT,CANopen 協議作為應用層協議運行在 EtherCAT 通信鏈路上,其架構如圖:

6c08dad345ad4e0a74f8895fc4fc2eab_image2_sf_dm_key=wOQueyYf2ZigxUkzWrwO73vXa9am8e_Iw4cy7yYQ3BU1.png

在 CANopen 協議中,主站與從站的周期性數據通信稱為 PDO,通過預定義的 PDO 對象進行管理,PDO 相關的對象分為兩個部分,一部分是 PDO 通信參數對象(用于指定 PDO 的使能、CAN-ID、觸發方式等),一部分是 PDO 映射參數(指定哪些參數數據對象被映射到該 PDO 中,RPDO:0x1600~0x17FF/TPDO:0x1A00~0x1BFF),在 EtherCAT 中,任一傳輸方向的 PDO 數據通道由一個或若干個 Sync Manager 管理,這與 CANopen 中每一個 PDO 都有一個單獨的通信參數對象不同,一個 Sync Manager 可同時對應多個 PDO 映射對象。由于數據鏈路層的差異, EtherCAT 從站保留了 CANopen 的 PDO 映射參數對象,而對于 PDO 的通信參數則通過自定義的對象管理,其中 PDO 的使能通過 0x1C10~0x1C2F 對象進行管理,其一種常見的 PDO 數據管理結構如下:

d197231e67a97f321de952e148fd2a09_image3_sf_dm_key=f5tyf8F9PdhG6a8V-WOsioFu_xfg3R_rnVZA83plaSM1.png

通常在 PLC 配置時,我們可以在從站的過程數據配置頁面,根據實際應用需求動態的決定哪一些 PDO 被使能并整體映射到過程數據通道中,也可以動態配置哪一些應用層參數如目標速度、控制字、狀態字等是否映射到某一個 PDO 中。ESI 文件中的 PDOAssign 與 PDOConfig 關鍵字則向主站以及工程師提示這種 PDO 動態配置行為是否被此從站所允許。接下來我們采用倍福 PLC 作為 EtherCAT 主站,以 HMS Anybus CompactCom 40 EtherCAT 作為從站,抓取 TwinCAT 和 Anybus EtherCAT 從站之間的報文,來實際分析 PDO Assignmentment 與 PDO Configuration 對設備初始化的影響,加深一下 EtherCAT 對 PDO 配置機制的理解。

b8631677ac5fd3ccda4230794958dbc5_image4_sf_dm_key=NlQ9LU5kLqJywFNoF3JajGYwpLI3Y6NAnL_coCoTqoo1.png

Anybus CompactCom 40 EtherCAT&倍福PLC

PDO Assignment 測試

首先勾選 PDO Assignment,此時模塊的 PDO 沒有分配到任何的 SM 中,即沒有對默認的 PDO 使能,抓取報文,可以看到主站在建立通信時,首先會初始化從站中與 PDO 相關的 SM 寄存器,并為從站寫入 PDO 配置信息,主站與從站可以正常建立通信。

11c2d9d7909dbef1194b6c66bab52548_image5_sf_dm_key=dn041PrZL1edV0vkCTzzJJW9B1Y14Wb_FNLscCx1YSE1.png

隨后取消勾選 PDO Assignment 選項,此時模塊的 PDO 沒有分配到 SM2/3 中,即模塊沒有默認的 PDO 使能,當我們在 TwinCAT 中取消 PDO Assign 時,可以看到報文中沒有任何關于 PDO SM2/3 寄存器配置的報文。主站與從站 PDO 配置不再一致,主站嘗試與從站通信失敗。

99d4de92984375fd755fca025a663a00_image7_sf_dm_key=KSRIXwoA7q_nKy-ZkftniIRpAb3V4bEfOcw10axQPYY1.png

現在通過在從站中直接修改 Anybus CompactCom 40 EtherCAT 的 PDO 相關的 0x1C12/0x1C13 對象,使其具有默認使能的 PDO,這里我們配置 Anybus CompactCom 40 EtherCAT PDO 0x1601、0x1A01 默認使能,使得主站與從站默認 PDO 配置一致,監控報文,可以看到報文中仍然沒有任何關于 PDO 配置的報文,但是主站嘗試以所組態的 PDO 數據與從站通信時,主站與從站可以正常交互數據。

28f18cb4f4c67db5b6aae6d181317eeb_image10_sf_dm_key=PrLcSkx6CKUlj6C6ojLoXbMdMhfplMoLDycuzdQ2t001.png

b8631677ac5fd3ccda4230794958dbc5_image4_sf_dm_key=NlQ9LU5kLqJywFNoF3JajGYwpLI3Y6NAnL_coCoTqoo1.png

因此可以得出結論,當 EtherCAT 從站沒有使能任何 PDO 時,即從站 SM2/3 相關寄存器為空時,則必須使能 PDO Assginment,由主站在通信初始化時寫入 PDO 分配信息到其 SM2/3 中,使能從站 PDO。

驗證 PDO Configuration

首先保持 PDO Assignment 使能,隨后取消勾選 PDO Configuration,隨后抓取報文,可以看到報文中只有關于 SM2/3 配置的報文。而沒有配置 PDO Entry list 相關的報文。由于 PDO 的數據組成員是與 ESI 文件中的 PDO Entry List 配置一致,因此通信可以成功,數據正常交互。

645f9f6f1f547e6ed6306321477b4ace_PixPin_2026-04-29_16-57-23_sf_dm_key=fIlRp3T-FXZtanSutvYLjgTAfG2XCksyGskQd9IF_f01.png

a572acd3e38f7eaa13fb0f687216fe1f_image13_sf_dm_key=XHgmug3OJAUbMPWqBVULucpJvh5CKflRgNHuI74KiyU1.png

隨后在 TwinCAT 中刪除從站 PDO 中任意增加一個成員(注意:該 PDO 必須是可以修改的,Fixed PDO 不支持修改),然后分析抓取報文,可以看到主站初始化從站時,沒有配置 PDO 相關的報文,而此時主站所組態的 PDO 與從站默認的 PDO Entry List 不一致,通信失敗。

950c9a5f13f34cf31782f2b1830837d2_image12_sf_dm_key=F7hoijvZDedhx4a0CAtk6Fr07kALnZC4duGChjXrjOI1.png

97140227e6c6e65bafad5bdb5a7b3c22_image13_sf_dm_key=hUTpT9EuVof3rXHyV328HjRb9Klxxz5CBL1DJ6-_3i01.png

隨后再次勾選 PDO Configuration 配置,在報文中可以看到主站向從站寫入新的 PDO Entry List,主站與從站成功建立通信。

d8bf2e3766bb35eff5616faf9047639d_PixPin_2026-04-29_16-57-46_sf_dm_key=hx8j_rbR--XQjk7eAjBTxirhrCcOWM_vSy84kukTDfw1.png

b2692ac8d14553831b7966de2f5f949a_image15_sf_dm_key=hT-LU7bpjdYPR2StBTb8Y93FR3rOu7KX6kwfmPpCLKU1.png

小結:因此可以得出結論,當 EtherCAT 從站某一個 PDO Entry List 可以修改,且主站中的 PDO Entry List 與從站默認的 Entry List 不一致時需要使能 PDO config。

總結

對于 PDO 默認使能以及 PDO 默認的數據組成員 Entry List 都固定的設備,則可以同時取消勾選 PDO config 與 PDO Assignment,此時主站與從站在通信建立的過程中沒有任何有關 PDO 初始化報文,這樣帶來的好處是,這將減少不同品牌主站 PLC 因配置 PDO 行為不同,所產生 PDO 配置錯誤,提高設備對不同類型 EtherCAT 主站的適配性,而這需要在開發從站時,給從站寫入固定的 PDO 信息。并且最好主動在設備的 E2PROM/ESI 文件中將 PDOAssign 與 PDOConfig 都置 0,以適應各類主站。

3a4ccb2d32c92c61d7a258ee4adde280_image17_sf_dm_key=5O1IKdfYGZUwQjJqCh4Y8fyrIyXFQGgyG7zfH5t5P3E1.png

這樣在主站上電時可直接與從站建立通信,而跳過 PDO 的配置過程,大大降低現場因為 PDO 配置造成的 EtherCAT 通信錯誤概率,提高客戶使用感受,減少產品交付問題。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

Ewon設備如何進行固件版本降級

CRIMSON OPC UA客戶端與WINCC SCADA OPC UA服務器通信

N-View? 2:工業網絡管理的得力助手

Ewon固件版本更新的影響

EtherCAT設備ESI(XML)文件中的CompleteAccess關鍵字有什么作用