QEC 快速開發指南1 – 數位輸出

QEC 快速開發指南1 – 數位輸出

本指南將向您展示如何使用 EtherCAT Master QEC-M-01P 和數位 I/O 從站 QEC-RXXDXX系列.

注意事項:QEC 的 PoE(乙太網路供電)

在QEC 產品裝置中,使用者可以很容易區分PoE 和非PoE: 如果RJ45 外殼為紅色,則為PoE 類型;如果RJ45 外殼為黑色,則為非PoE 類型。

非PoE型PoE型
poe

PoE(乙太網路供電)是一種透過網路供電的功能。 QEC 可配備選購的 PoE 功能以減少佈線。 在實際應用中,PoE是根據系統設備來選擇的,因此在評估和測試時請注意以下幾點:

  1. QEC 的 PoE 功能與 EtherCAT P 不同且不相容,且 QEC 的 PoE 功能基於 PoE Type B,接腳功能如下:

  2. 連接 PoE 和非 PoE 設備時,請確保斷開引腳 4、5、7 和 8 處的乙太網路電纜(例如,支援 PoE 的 QEC EtherCAT 主站與第三方 EtherCAT 從站連接時)。
  3. QEC 的PoE 最多可傳輸24V/3A 的電源。

1. 連接及接線硬體

這裡使用以下設備:

  1. QEC M 01P01P(EtherCAT 主站/PoE PoE)
  2. QEC R11D88H N (EtherCAT Slave 8-ch 數位輸入與8-ch 數位輸出/PoE)
  3. 24V 電源
  4. 24V LED
qec_startGuide-1-1

1.1 QEC-M-01P

帶有PoE 功能的QEC EtherCAT 主站。

  1. 使用 EtherCAT Out 連接埠(上)透過 RJ45 電纜(由 PoE 供電)連接到 QEC-R11D88H 的 EtherCAT In 連接埠。
  2. 透過 EU 端子連接到 Vs+/Vs- 和 Vp+/Vp- 電源以獲得 24V 電源。
qec_startGuide-1-2

1.2 QEC-R11D88H-N

  • 從 VP+ 連接到 DO 0+。
  • 將 24V LED+ 端子連接到 DO 0-。
  • 將 24V LED- 端連接至 VP-。
qec_startGuide-1-3

2. 軟體/開發環境:86Duino IDE

從以下位置下載 86duino IDE https://www.qec.tw/software/.

qec_startGuide-1-4

下載後,請將下載的zip檔解壓縮,無需安裝其他軟體,只需雙擊86duino.exe即可啟動IDE。

qec_startGuide-1-5

*注意:如果 Windows 顯示警告,請按一下「詳細資料」一次,然後按一下「繼續執行」按鈕一次。

86Duino Coding IDE 500+ 如下圖所示。

qec_startGuide-1-6

3.連接PC並設定環境

請依照以下步驟設定環境:

  1. 透過 Micro USB 轉 USB 線將 QEC-M-01P 連接至 PC(已安裝 86Duino IDE)。
  2. 開啟 QEC 電源。
  3. 開啟電腦中的“裝置管理員”(按Win+X後在選單中選擇)->“連接埠(COM & LPT)”,展開連接埠; 您應該看到偵測到“Prolific PL2303GC USB 串列 COM 連接埠 (COMx)”; 如果沒有,您將需要安裝所需的驅動程式。
    (對於Windows PL2303驅動程序,您可以下載於: 這裡)
qec_startGuide-1-7
  1. 打開86Duino IDE。
  2. 選擇正確的板子:在 IDE 選單中,選擇 Tools> Board > QEC-M-01(或您使用的 QEC-M 主模型)。
  3. 選擇連接埠:在 IDE 選單中,選擇“工具”>“連接埠”,然後選擇要連接到 QEC-M 主裝置的 USB 連接埠(在本例中為 COM3 (QEC))。
qec_startGuide-1-8
qec_startGuide-1-9

3.1 開發方式1:寫程式碼

EtherCAT 主站 (QEC-M-01P) 和數位 IO 從站 (QEC-R11D88H-N) 可透過 86Duino IDE 中的 EtherCAT 函式庫進行設定和程式設計。
在Arduino 開發環境中,主要分為兩大部分: setup() 以及 loop(),分別對應初始化和主程式。 在操作 EtherCAT 網路之前,必須對其進行一次配置。 在 EtherCAT 設備中,該過程應該是從 Pre-OP 到 OP 模式。

以下範例假設我們要將Digital Output 的Pin0 設成HIGH 維持4 秒後,在改成LOW 維持1 秒。

3.1.1 對於 QEC 從站

使用QEC Slave時,可以使用專用的QEC Ethercat Slave Library。 例如,QEC-R11D88H就可以使用 EthercatDevice_QECRXXD 類。 範例程式碼如下:

#include "Ethercat.h" // Include the EtherCAT Library

EthercatMaster master; // Create an EtherCAT Master Object
EthercatDevice_QECR11D88H slave; // Create an EtherCAT Slave Object for QEC-R11D88H

// put your setup code here, to run once:
void setup() {
    // Initialize the EtherCAT Master. If successful, all slaves enter PRE-OPERATIONAL state
    master.begin();

    // Attach the QEC-R11D88H slave device to the EtherCAT Master at position 0
    slave.attach(0, master);

    // Start the EtherCAT Master. If successful, all slaves enter OPERATIONAL state
    // The parameter 1000000 sets the cycle time in nanoseconds
    master.start(1000000, ECAT_SYNC);
}

// put your main code here, to run repeatedly:
void loop() {
    // Set digital output at pin 0 to HIGH
    slave.digitalWrite(0, HIGH);
    delay(4000); // Wait for 4 seconds

    // Set digital output at pin 0 to LOW
    slave.digitalWrite(0, LOW);
    delay(1000); // Wait for 1 second
}

3.1.2 針對第三方從站

在使用非QEC 的從站時,則可以使用EthercatDevice_Generic 的功能,可參考到 EthercatDevice 類別。範例程式碼參考如下,也可透用在QEC R11D88H 上。

#include "Ethercat.h" // Include the EtherCAT Library

EthercatMaster master; // Create an EtherCAT Master Object
EthercatDevice_Generic slave; // Create an EtherCAT Slave Object

// put your setup code here, to run once:
void setup() {
    // Initialize the EtherCAT Master. If successful, all slaves enter PRE-OPERATIONAL state
    master.begin();

    // Attach the QEC-R11D88H slave device to the EtherCAT Master at position 0
    slave.attach(0, master);

    // Start the EtherCAT Master. If successful, all slaves enter OPERATIONAL state
    // The parameter 1000000 sets the cycle time in nanoseconds
    master.start(1000000, ECAT_SYNC);
}

// put your main code here, to run repeatedly:
void loop() {
    // Write a HIGH value to a bit in the Process Data Output at index 0
    slave.pdoBitWrite(0, HIGH);
    delay(4000); // Wait for 4 seconds

    // Write a LOW value to the same bit in the Process Data Output at index 0
    slave.pdoBitWrite(0, LOW);
    delay(1000); // Wait for 1 second
}

注意:  程式碼撰寫好後,請點擊工具列上的 qec_startGuide-1-10 進行編譯;確認編譯完成且沒有錯誤,您可以點選 qec_startGuide-1-11  進行上傳。上傳完成後,程式將會運行,LED 將開始閃爍。


4. 開發方法2:用86EVA 與程式碼

86EVA 是基於86Duino IDE 中EtherCAT Library 的圖形化EtherCAT 組態工具,是 86Duino IDE 的開發套件。使用者可以透過86EVA 將EtherCAT 主站(QEC M 01P) 與Digital IO 從站(QEC R11D88H N) 進行組態,然後開始進行編程。

以下範例假設我們要將Digital Output 的Pin0 設成HIGH 維持4 秒後,在改成LOW 維持1 秒。

步驟1:開啟86EVA,並進行掃描

可透過以下按鈕打開86EVA 工具。

qec_startGuide-1-12

確認選擇了正確的COM port 後,按下「Connect 」 按鈕開始掃描EtherCAT 網路。

qec_startGuide-1-13

完成對EtherCAT 網路上已連接設備的掃描後,將顯示已連接的設備。
按左下角的「View 」按鈕可以查看裝置的狀態。

qec_startGuide-1-14

步驟2:設定參數

在掃描完成的設備圖像上按兩下進入相應的參數設定畫面。

QEC-M-01

按兩下QEC M 01 的圖像以查看參數設定。
如果第一次開發,請先使用預設設置;點擊左上角「Back 」返回。

qec_startGuide-1-15

QEC-R11D88H-N

按兩下QEC R11D88H 的圖像以查看參數設定。

qec_startGuide-1-16

繼續向下操作到Digital Output Pin Mapping 區塊。其中,我們將Digital Output Pin Mapping 的DQ00 的下拉框中選擇“Virtual Pin 後,點擊左上角「Back 」返回。

qec_startGuide-1-17

此動作是將QEC R11D88H 的Digital Output Pin0 設置成EVA 的虛擬D0 腳位。

步驟3:生成程式碼

設定完設備的參數後,回到主畫面,並按下右下角的「Code Generation 」按鈕。

qec_startGuide-1-18

完成後,按兩下確定按鈕或10 秒後自動關閉86EVA 。

qec_startGuide-1-19

生成的程式碼及檔案如下:

  • sketch_oct04a:主專案 (.ino,取決於您的專案名稱)
  • ChatGPT.h:可供ChatGPT 參考的參數
  • myeva.cpp:86EVA 的C++ 程式碼
  • myeva.h:86EVA 的Header 檔
qec_startGuide-1-20

補充說明: 86EVA 生成程式碼後,會在主程式(. 中自動產生以下程式碼,缺一個都會導致86EVA 不運作。

  1. #include “myeva.h” :引入EVA 的Header 檔
  2. EVA.begin()setup(); :初始化EVA 功能

步驟4:編寫程式碼

以下範例假設我們要將EVA 的D0 腳位 為Digital Output 的Pin0) 設成HIGH 維持4 秒後,在改成LOW 維持1 秒。

#include "myeva.h" // Include EVA function

void setup() {
  EVA.begin(); // Initialize EVA function.
  // put your setup code here, to run once:
}

void loop() {
    // put your main code here, to run repeatedly:
    // Set EVA D0 pin to HIGH
    EVA.digitalWrite(0, HIGH);
    delay(4000); // Wait for 4 seconds

    // Set EVA D0 pin to HIGH
    EVA.digitalWrite(0, LOW);
    delay(1000); // Wait for 1 second
}

注意:  程式碼撰寫好後,請點擊工具列上的 qec_startGuide-1-10 進行編譯;確認編譯完成且沒有錯誤,您可以點選 qec_startGuide-1-11  進行上傳。上傳完成後,程式將會運行,LED 將開始閃爍。


5. 故障排除

5.1 QEC-M-01無法成功上傳程式碼

當您無法成功上傳程式碼時,請開啟86EVA檢查您的QEC EtherCAT Master環境是否異常。 如下圖所示,請嘗試更新您的QEC EtherCAT Master的環境,其中包括以下三項:Bootloader、EtherCAT韌體和EtherCAT工具。

qec_startGuide-1-21

現在,我們將進一步解釋如何進行更新:

步驟1. 設置QEC-M

  1. 下載和安裝 86Duino IDE 500(或更新的版本):你可以從後方連結下載: 軟體.
  2. 連接 QEC-M 主站:使用 USB 纜線將 QEC-M 主站連接到電腦上。
  3. 打開 86Duino IDE:在安裝完成後,打開 86Duino IDE 軟體。
  4. 選擇開發板:從 IDE 選單中選擇「工具」>「開發板」>「QEC-M-01」(或您正在使用的 QEC-M 的特定型號)。
  5. Select Port: From the IDE menu, choose “Tools” > “Port” and select the USB port to which the QEC-M is connected.

步驟2. 點擊Burn Bootloader按鈕

連接到 QEC-M 產品後,進入「Tool」>「Burn Bootloader」。 目前所選的 QEC-M 名稱將會出現。 單擊它將開始更新過程,該過程大約需要 5-20 分鐘。

  • QEC-M-01:
qec_startGuide-1-22

步驟3. 完成更新

完成以上步驟後,你的 QEC-M 主站就已經成功更新至最新版本開發環境了。


如需更多資訊和樣品請求,請寫信至 info@qec.tw,致電離您最近的 ICOP分公司,或聯絡我們的 官方全球經銷商。

發表評論

上部へスクロール