我想找...

搜尋

分享

目錄

86EVA,基於 EtherCAT 的虛擬 Arduino

1. Introduction

86EVA (EVA,基於 EtherCAT 的虛擬 Arduino)是一款圖形化 EtherCAT 配置工具,它利用了 86Duino IDE 中的 ECAT 庫。

86eva-123

86Duino 開發套件之一是 QEC 主站,其功能包括:

  1. 自動產生 Arduino 語言(透過基於 EtherCAT 的虛擬 Arduino)
  2. 自動掃描網路設備
  3. EtherCAT 主站/主站設定:
    • 設定主對象名稱
    • 設定週期時間
    • 設定冗餘選項
    • 選用 ENI 文件
  4. EtherCAT 從站/輔助設定:
    • 設定從站物件名稱
    • 設定從站別名
    • 可設定從站 I/O 映射
    • 顯示輔助設備訊息
    • 查看內部資訊包括:
      • 電壓(伏特)
      • 電流(安培)
      • 溫度(℃)

86Duino IDE ECAT Library 是一個 Arduino 開發環境,具有實時作業系統 (RTOS) 庫,可與專用 EtherCAT 主設備進行通訊。
它是專用的EtherCAT主站通訊層解決方案,可以與EtherCAT從站設備進行即時通訊。 86Duino IDE 提供了豐富的 Arduino 應用開發設定檔和介面(API)用於程式設計操作。


2. Procedure

86EVA 為使用者提供低程式碼接口,透過簡單的按鍵和視覺化演示來開發 EtherCAT 網路匯流排組。

開啟86EVA → 選擇連接的COM口 → 尋找掃描EtherCAT網路的裝置 → EtherCAT裝置的個人化設定 → 產生Arduino風格的程式碼 → 上傳程式碼

2.1 Open 86EVA

方法一:點選右上角的快捷按鈕(以紅色突出顯示)。

86eva-1

Method 2: Click the 86EVA (EtherCAT) Configurator button in the “Tools” menu (highlighted in red).

86eva-2

2.2 Select the Connected COM Port

開啟86EVA後,預設自動選擇所連接的QEC主站的串口。 在此範例中,COM 連接埠為 COM13。

如果您連接了多個QEC主站,則需要按一下「選擇」旁的下拉式功能表(以紅色反白),然後選擇目前QEC主站使用的COM連接埠。

86eva-3

如果您是第一次使用COM口,不確定QEC主站COM口的位置,請參考此連結了解如何設定的說明。


2.3 Scan devices on the EtherCAT network

選擇正確的 COM 連接埠位置後,請按一下「連線」按鈕(以紅色反白顯示)。

86eva-4

點選「連線」按鈕後,將出現掃描畫面。

86eva-5

掃描過程完成後,您將看到一台 QEC 主站以及目前連接到 EtherCAT 網路的所有 EtherCAT 從站裝置。

86eva-6

注意:在 86EVA 中,掃描過程將自動識別 DMP QEC 系列的 EtherCAT 從站裝置並顯示其影像和相關設定。 如果連接第三方EtherCAT從站設備,會出現未知的EtherCAT從站模組資訊。 詳細內容請參閱第 3.2 章。


2.4 Personalize settings for EtherCAT devices

使用者可以點選EtherCAT設備的產品圖片進入該設備的設定頁面。

EtherCAT Master

86eva-7

點擊QEC master的圖片後,您可以透過該頁面進行個人化設定。 例如,您可以設定物件名稱、選擇 EtherCAT 週期時間、選擇冗餘選項和選擇 ENI 檔案功能。

如下圖所示,使用 QEC-M-01。

86eva-8

詳細內容請參閱第 3.1 章。

EtherCAT 從站

在EtherCAT從站設備的設定中,可以找到所連接的QEC EtherCAT從站設備的資訊如:供應商ID(Vendor ID)、產品識別號碼(Product Code)、內部電壓、電流、溫度等。也可以設定:物件名稱、別名位址和I/O 映射。

QEC EtherCAT 從站

QEC系列的EtherCAT從站設備都會有完整的產品圖片,使用者可以點選QEC EtherCAT從站設備圖片進入QEC從站。

QEC 從站模組的設定頁。

86eva-9

進入設定頁面後,使用者首先會看到 EtherCAT 從站設備的信息,如供應商 ID、產品代碼、可設定物件名稱、別名位址(別名位址詳細資料請參閱附錄 1)。

86eva-10

然後是來自從站設備的即時訊息,例如電壓、電流、溫度等(這有助於追蹤碳足跡)。

86eva-11

最後是可設定的虛擬Arduino引腳映射(虛擬Arduino概念介紹見附錄2)。

86eva-12

有關 QEC 從機設定的詳細信息,請參閱第 3.2.1 章。

非 QEC EtherCAT 從站

當86EVA掃描並偵測到非QEC EtherCAT從站設備時,會顯示未知的設備影像,並標有「不支援」標籤。

86eva-13

點擊未知 EtherCAT 從站裝置的影像後,您可以存取有關該特定裝置的資訊。

86eva-14

詳細內容請參閱第 3.2.2 章。


2.5 Generate Arduino code

配置完所有設定後,按一下「程式碼產生」按鈕(以紅色突出顯示)。

86eva-15

點擊後,將出現結果和完成螢幕,按一下「確定」退出程式; 如果您不按一下“確定”,您將在 10 秒後離開該程式。

86eva-16

完成後,86EVA會自動產生設定檔和Arduino程式碼,並在86Duino IDE.cpp中產生兩個程式檔案Myeva和Myeva.h(以紅色突出顯示),以便用戶存取並添加到自己的程式中。

86eva-17

2.6 Upload the code

請注意,產生的設定檔和使用者程式將使用「上傳」按鈕一起燒錄到 QEC 主站中。 必須按下“上傳”按鈕才能完成配置過程; 否則,86EVA 中所做的配置設定將被視為無效。

上傳之前,請先驗證「Board」和「Port」設定是否正確(以紅色反白)。

86eva-18

點擊“上傳”按鈕(以紅色突出顯示)上傳程式碼。

86eva-19

上傳完成。

86eva-20

上傳完成後,使用者可以重新開啟86EVA來掃描從設備,檢查設備是否按照先前的配置設定運作。


更詳細的EtherCAT圖形化開發流程

86Duino IDE為開發者提供了完整的低程式碼開發平台,讓使用者可以透過86EVA配置EtherCAT網路參數。

內建HMI編輯器(86HMI)是一款HMI開發軟體,結合積木式程式設計工具ArduBlock,讓使用者可以透過少量程式設計快速開發EtherCAT系統。

86eva-21

進一步的配置請參考其他工具的使用手冊。


3. EtherCAT Device Configuration

在設定過程中,會提到 EtherCAT 設備的個人化。 我們可以將EtherCAT設備分為:QEC主站和EtherCAT從站。


3.1 QEC Master Settings

86Duino IDE 開發環境專為 QEC Master 系列設計,包括 QEC-M-01、QEC-M-043T、QEC-M-070T、QEC-M-090T 和 QEC-M-150T。 在86EVA中連接並完成掃描過程後,使用者可以以圖形形式查看EtherCAT Master的資訊(以紅色突出顯示)以及產品圖像。

  • QEC-M-01:
86eva-22
  • QEC-M-043T:
86eva-22

常規設定:

您可以設定 EtherCAT 主站的物件名稱、套用 BIOS 設定、啟用 EtherCAT 電纜冗餘選項、設定 EtherCAT 循環時間,並根據需要選擇 ENI 檔案。

物件名稱

設定 EtherCAT 主站的物件名稱(以紅色突出顯示)。 配置完成後,當翻譯 Arduino 程式碼時,此設定將套用於程式碼中的物件名稱。

86eva-23
應用 BIOS 設定

選擇是否優先考慮 EtherCAT 主站 BIOS 中的預先配置設定(以紅色突出顯示)。

86eva-24

注意:選擇此選項將優先考慮 QEC Master 的 BIOS 中的預先配置設定。

啟用冗餘

選擇是否為 EtherCAT 主站啟用冗餘(以紅色突出顯示)。

86eva-25
設定 EtherCAT 主站週期時間

設定 EtherCAT 主站週期時間(以紅色突出顯示),週期時間選項為 125us、250us、500us、1ms、2ms 和 4ms。

如果使用此功能選單設定EtherCAT主站的週期時間,請勿選擇Apply BIOS Settings,否則將使用BIOS預設。

86eva-25
選擇 ENI 文件

使用者可以使用此功能選擇現有的 ENI 檔案(以紅色突出顯示)。 上傳程式碼時,所選的ENI檔案將自動上傳並套用到程式中。

86eva-26

虛擬Arduino:

您可以為虛擬 Arduino 配置最大數位引腳數 (Max Digital Pins)、連接埠數 (Max Serial Ports) 和 MPG 數 (Max MPG)。

注意:所有未列出的值均預設為 4。

最大數位引腳

在下拉式選單中設定最大數字引腳數,選項包括 32、64、128 和 256 個虛擬引腳(以紅色突出顯示)。

86eva-27
最大串口數

在下拉式選單中設定最大序列埠數,選項有 4、8、16、32 個虛擬連接埠(以紅色突出顯示)。

86eva-28
最多 MPG 端口

在下拉式選單中設定 MPG 連接埠的最大數量,選項有 4、8、16、32 個虛擬 MPG(以紅色突出顯示)。

86eva-29

3.2 EtherCAT Slave Information and Settings

在 EtherCAT 從站設備上方(以紅色突出顯示),指示了產品名稱以及連接的 EtherCAT 從站設備的順序。

86eva-30

在 EtherCAT 從站設備(以紅色突出顯示)下方,有別名位址和產品類型(如果是非 QEC 從站,將顯示供應商識別碼)。

86eva-31

3.2.1 QEC EtherCAT Slave

點擊左下角「查看」按鈕(紅色突出顯示),可查看即時監控數據,包括電壓、電流、溫度(黃色突出顯示)。

再次點選「檢視」可切換回「別名位址」概述。

86eva-32

QEC-RXXD系列(EtherCAT從站數位I/O模組)

QEC-RXXD 系列是 EtherCAT 從站數位 I/O 模組,具有 16 個數位通道,可配置為數位輸入或輸出。

點選進入QEC從設備後,會顯示產品名稱。

以下功能說明將以 QEC-R00DC4D-N 為例。

86eva-33
常規設定

您可以設定 QEC 從設備的物件名稱和別名位址,以及取得 QEC 從設備的供應商 ID 和產品代碼。

  • 物件名稱:
    設定 QEC 從裝置的物件名稱(以紅色反白)。 設定完成後,在實作 Arduino 程式碼時,此配置將套用於程式碼的物件名稱。
86eva-34
  • 別名位址:
    別名位址儲存在 EEPROM 中,可以透過從站裝置應用程式進行變更(配置站別名位址)。
    設定 QEC 從站的別名位址(以紅色反白)。
86eva-34

設定別名位址後,程式將自動透過此編號識別 QEC 從機。 當使用者的QEC從設備因係統需求在EtherCAT網路中發生變化時,程式會自動適應,無需設定新的配置; 如果不設定別名位址,程式將不會自動適應新配置。 預設從站別名位址為 0,請設定 1 ~ 65535 之間的數字。
註:適應新配置是指切換從站位置(從站設備總數不增加或減少)。 如果新增或刪除設備,則需要重新配置程式。
86EVA 掃描從機裝置成功後,會自動讀取從機先前設定的別名位址並顯示在該欄位中。 如果數值輸入過程被取消或中斷,則該欄位將返回先前的值。
按下Set按鈕會將別名位址寫入EtherCAT從站的EEPROM中; 關閉86EVA後,請記得重新啟動EtherCAT設備。

  • 供應商 ID:
    QEC 從設備的供應商 ID(以紅色突出顯示)。
86eva-35
  • 產品代碼:
    QEC 從裝置產品識別號碼(以紅色反白)。
86eva-36
設備狀態

在設備狀態中,您將能夠查看即時內部監控數據,包括電壓、電流和溫度(以紅色突出顯示)。

86eva-37
虛擬Arduino

在虛擬Arduino中,您可以設定數位輸入/輸出引腳的數量。
以QEC-R00DC4D-N為例,有12個數位輸入接腳和4個數位輸出接腳。
使用者選擇虛擬引腳編號,最大數量不應超過 QEC 主設定頁面中的最大數字引腳數。

  • 數位輸入引腳映射(以紅色突出顯示)
86eva-38
  • 數位輸出引腳映射(以紅色突出顯示)
86eva-39
  • Digital Input DQ11 pin and Digital Output DQ00 pin settings.
86eva-40

有關虛擬Arduino的詳細信息,請參閱附錄2。

QEC-RXXHU系列(EtherCAT從站閘道控制器(UART + MPG + 鍵盤+LCM))

QEC-RXXHU系列是EtherCAT從站模組,最多可支援2組UART(RS232/RS485)、1組手輪、1個鍵盤和1個LCM顯示器。 QEC-RXXHU產品功能齊全:

  • QEC-R00HU5S-N (RS232 + MPG + Keypad + LCM)
  • QEC-R00HU9S-N (RS232/485 + MPG + Keypad + LCM)

點選進入QEC從設備後,會呈現產品名稱。 以下功能說明將以 QEC-R00HU9S-N 為例。

86eva-41
常規設定

一般設定功能與QEC-RXXD系列相同。 請參閱QEC-RXXD系列的常規設定。

設備狀態

設備狀態區域與QEC-RXXD系列相同。 請參閱QEC-RXXD系列的設備狀態。

虛擬Arduino

在虛擬 Arduino 中,您可以設定序列埠、MPG 連接埠、LCM 映射、鍵盤映射和蜂鳴器引腳的編號。
以QEC-R00HU9S-N為例,您可以設定2個串列埠,其餘(MPG連接埠、LCM映射、鍵盤映射和蜂鳴器接腳)僅限於1組。
使用者可以選擇虛擬引腳數量,最大數量不會超過QEC Master設定頁面中設定的最大數量(Max Serial Ports和Max MPG Ports)。

  • 序列埠映射(以紅色突出顯示),未選擇:
86eva-42

做出選擇後:

86eva-43
  • MPG 連接埠對映(以紅色突出顯示),未選擇:
86eva-44

做出選擇後:

86eva-45
  • LCM 映射(以紅色突出顯示)和鍵盤映射(以黃色突出顯示),未選擇:
86eva-46

做出選擇後:

86eva-47
  • 蜂鳴器映射(以紅色突出顯示),未選擇:
86eva-48

做出選擇後:

86eva-49

有關虛擬Arduino的詳細信息,請參閱附錄2。


3.2.2 non-QEC EtherCAT Slave

86EVA 中的其他第三方 EtherCAT 從站設備呈現未知的 QEC 從站產品影像。

86eva-50

轉到設定頁面,您將看到“不支援”(以紅色突出顯示)。

86eva-51
常規設定

一般設定功能與QEC-RXXD系列相同。 請參閱QEC-RXXD系列的常規設定。


4. Advanced settings

在86EVA中,除了常規設定外,還可以在此工具中配置一些進階設定。 本節將介紹如何調整進階設定。

4.1 Auto Set Alias Addresses of All Slave Devices

點擊左下角的「自動」設定按鈕 (以紅色突出顯示)。

86eva-52

將出現「自動設定所有從裝置的別名位址」和「自動設定虛擬 Arduino 的數位引腳對映」按鈕。 使用者可以點擊上方按鈕(以紅色反白)自動設定目前 EtherCAT 網路上的別名位址。

86eva-53

點選「自動設定所有從站裝置的別名位址」按鈕後,如果某個EtherCAT 裝置之前沒有設定過別名位址(別名位址為0),則會為每個EtherCAT 從站裝置設定1 群組從100 開始的別名位址依排序順序,可用於EtherCAT從站設備較多或需要快速設定時。

86eva-54

4.2 Auto Set Digital Pin Mapping of the Virtual Arduino

點擊左下角的“自動”設定按鈕(以紅色突出顯示)。
注意:虛擬Arduino數位接腳僅適用於QEC-RXXD系列產品。

86eva-55

將出現「自動設定所有從裝置的別名位址」和「自動設定虛擬 Arduino 的數位引腳對映」按鈕。 使用者可以點擊下面的按鈕(以紅色突出顯示)自動設定目前 EtherCAT 網路上的虛擬引腳映射。

86eva-56

如果在先前沒有設定虛擬引腳的 QEC-RXXD 裝置上使用,則按一下「虛擬 Arduino 的自動設定數位引腳對映」按鈕後,將會設定一組從 0 開始的虛擬接腳。

86eva-57

附錄

A1. Alias Address

別名位址是EtherCAT中設定裝置別名的一種方法,通常用於尋找已被識別的從站裝置。

設定從站別名位址時,儲存在ESI-EEPROM中(ESI,EtherCAT Slave Information); 別名位址必須由主站激活,並且可以由 EtherCAT 從站設備更改。

如果節點位址與別名位址匹配,則執行對應節點的指令。

QEC 上如何運作?

設定別名位址後,程式會自動辨識該編號的QEC從站,當使用者的QEC從站因需求改變在EtherCAT網路上的位置時,程式會自動適應,無需再次上傳新的設定; 如果不設定別名位址,程式不會自動適應新群組。

86EVA掃描成功後,會自動讀取從機之前設定的Alias Address。 下圖顯示了尚未設定別名位址的從裝置(以紅色突出顯示)。

86eva-58

下圖顯示了設定了別名位址的從設備。 預設從站別名位址為 0。請設定 1 ~ 65535 之間的數字。

86eva-59

別名位址顯示在從設備的【常規】中的【別名位址】欄位中; 此欄位在輸入數值的過程中被取消,修改先前的數值後會傳回。

86eva-60

按下Set按鈕會將別名位址寫入EtherCAT從站的EEPROM中; 關閉86EVA後,請記得重新啟動EtherCAT設備。

注意:設備重新啟動後將採用新的別名位址。


A2. Virtual Arduino

在一般的Arduino板上,其腳位的數量、順序和功能都是固定的,製造後不能改變; 虛擬Arduino的概念是將EtherCAT網路模擬為虛擬Arduino,允許根據使用者的意願調整其引腳數量、順序和功能。

86eva-61

虛擬Arduino由多個EtherCAT從站的各種引腳組成,其上的各個連接埠和引腳來自不同的EtherCAT從站設備,並透過EtherCAT網路相互連接。

虛擬 Arduino 支援的功能

目前,虛擬 Arduino 支援數位 I/O、序列埠、MPG 連接埠、鍵盤、MPG 和蜂鳴器,這些可以在以下 QEC 設備中找到:

  • QEC-RXXD 系列(EtherCAT 從站數位 I/O 模組):數位 I/O
  • QEC-RXXHU 系列(EtherCAT 從站閘道控制器(UART + MPG + 鍵盤 +LCM)):串列埠、MPG 連接埠、鍵盤、MPG 和蜂鳴器

詳細設定請參考各產品介紹。

如何在86Duino IDE中使用虛擬Arduino?

本節介紹如何在 86Duino IDE 中使用配置成功的 Virtual Arduino Digital I/O PIN。

本範例將使用 QEC-M-043T(EtherCAT 主站)和 QEC-R00D88D-C(EtherCAT 數位輸入/輸出模組)進行示範,該模組具有 8 個輸入觸點和 8 個輸出觸點。

86eva-62

有關如何開啟 86EVA 工具的信息,請參閱第 2 章。

首先,點擊進入QEC-R00D88D-C設備並在虛擬Arduino中進行設定。 (有關資訊和設置,請參閱 QEC-RXXD 系列(EtherCAT 從站數位 I/O 模組)。

86eva-63

本例中,數位輸入引腳映射的 DI00 和數位輸出引腳映射的 DQ00 設定為虛擬引腳 D0 和引腳 D1。

86eva-64

設定完成後,產生此 86EVA 設定的 Arduino 程式碼,然後按一下「Code Generation」(以紅色突出顯示)

86eva-65

完成後,使用者可以使用86Duino IDE的主 loop()中的EVA類別(以紅色突出顯示)來控制86EVA中設定的引腳。

86eva-66

在本例中,我們使用 Virtual Digital D0 和 D1 這兩個虛擬引腳,分別對應 QEC-R00D88D-C 的 DI0 引腳(INPUT)和 DQ0 引腳(OUTPUT)。 然後我們讀取D0的狀態,然後將D1設定為高電平,程式碼如下圖所示。

86eva-67

程式碼上傳成功後,可以看到QEC-R00D88D-C上DQ0腳的燈亮起來。

註:loop()中,EVA.digitalRead(0)代表先前設定的數位輸入引腳映射的虛擬引腳0; EVA.digitalWrite(1, HIGH) 表示先前設定的數位輸出引腳映射的虛擬引腳 1。


其他例子:

使用者可以透過串列埠列印出Digital Input讀取到的值,程式碼如下。

void setup() {
    Serial.begin(115200);
    EVA.begin();
}
void loop {
    Serial.println(EVA.digitalRead(0));
    EVA.digitalWrite(1, HIGH);
}

使用者可以將Digital Output應用到Arduino經典入門範例中,程式碼如下。

void setup() {
    EVA.begin();
}
void loop {
    EVA.digitalWrite(0, HIGH);
    delay(1000);
    EVA.digitalWrite(0, LOW);
    delay(1000);
}

86Duino 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。

發表評論

上部へスクロール