編寫運動控制器的 EtherCAT 初始化程式示例

正運動技術發表於2022-07-04

正運動控制器的EtherCAT 匯流排介面可用於連線 EtherCAT 伺服驅動器和 EtherCAT 擴充套件模組,無論連線什麼模組, EtherCAT 匯流排都需要編寫一段 EtherCAT 匯流排初始化程式來進行電機和 EtherCAT 擴充套件模組的使能。使能之 後的應用與脈衝電機一致,運動指令都是相同的。

 

初始化程式一般過程: 

1.使用 SLOT_SCAN 掃描裝置,判斷 RETURN 是否正確,未連線裝置時不會報錯。

2.通過 NODE_INFO/ NODE_AXIS_COUNT 等對裝置型別、資訊等進行判斷。 

3.依次設定 AIXS_ADDRESS,ATYPE,DRIVE_PROFILE,DRIVE_IO 等。 

4.SLOT_START 啟動裝置。

5.設定每個軸的 AXIS_ENABLE=1,開啟軸的使能,設定 WDOG=1,所有軸使能允許。(部分驅動 器需要使用 DRIVE_CONTROLWORD 指令清除驅動器報警)

6.建立連線後主站和從站即可進行週期性資料交換。 

 

EtherCAT 初始化程式:

使用要求:控制器帶 EtherCAT 介面,伺服驅動器必須支援 EtherCAT 匯流排,ZDevelop 需要 2.5 以上版本。 此初始化程式只進行了匯流排使能操作,軸的脈衝當量、軸速度、運動軌跡需要在上位機進行設定。

 

 

''''''''''''''''''''''''初始化準備

RAPIDSTOP(2)

WAIT IDLE

FOR i=0 to 10

'取消原來的匯流排軸設定

ATYPE(i)=0

NEXT

''''''''''''''''''''''''EtherCAT 匯流排初始化

SLOT_SCAN(0)

'開始掃描

IF RETURN THEN

    ?"匯流排掃描成功","連線裝置數:"NODE_COUNT(0)

    ?

    ?"開始對映軸號"

    AXIS_ADDRESS(0)=0+1

    '對映軸號

    ATYPE(0)=65

    'EtherCAT 型別

    '65 位置控制,66 速度控制,67 力矩控制

    DRIVE_PROFILE(0)= -1

    '伺服 PDO 功能

    'ATYPE=66 時設定 DRIVE_PROFILE=20

    'ATYPE=67 時設定 DRIVE_PROFILE=30

    DISABLE_GROUP(0)

    '每軸單獨分組

    ?"軸號對映完成"

    DELAY (100)

    SLOT_START(0) '匯流排開啟

    IF RETURN THEN

            ?"匯流排開啟成功"

            ?"開始清除驅動器錯誤(根據驅動器資料字典設定)"

            DRIVE_CONTROLWORD(0)=0 '配合伺服清除錯誤

            DELAY (10)

            DRIVE_CONTROLWORD(0)=128 'bit7=1 強制伺服清除錯誤

            DELAY (10)

            DRIVE_CONTROLWORD(0)=0 '配合伺服清除錯誤

            DELAY (10)

            DATUM(0)

            '清除控制器所有軸錯誤

            DELAY (100)

            ?"軸使能準備"

           AXIS_ENABLE(0)=1 '軸 0 使能

           WDOG=1

           '使能總開關

           ?"軸使能完成"

        ELSE

               ?"匯流排開啟失敗"

       ENDIF

ELSE

       ?"匯流排掃描失敗"

ENDIF

END

 

相關文章