工控網首頁
>

應用設計

>

什么是EtherCAT?使用軟件PLC的測量控制

什么是EtherCAT?使用軟件PLC的測量控制

1.png

目錄

》什么是EtherCAT?

》EtherCAT產品的兼容性問題

》什么是PLC

》什么是CODESYS?

》使用CONPROSYS PAC系列的EtherCAT通信控制

    *CODESYS編程教程

    *與CONPROSYS HMI的聯動

什么是EtherCAT?

EtherCAT(Ethernet for Control Automation Technology)在2016年被豐田汽車公司全面采用后備受關注,它是由倍福自動化有限公司開發的具有實時功能的開放式現場網絡(Open Field Network)。目前,功能要求和認證程序是由2003年成立的EtherCAT Technology Group(EtherCAT技術協會)進行規定和管理。

什么是現場網絡

現場網絡是用來在工廠內的控制設備和傳感器等測量設備之間進行通信的網絡。該現場網絡中使用以太網的網絡稱為工業用以太網。工業用以太網包括Profinet、Ethernet/IP、CC-Link/IE Field、Modbus/TCP等,EtherCAT也是一種工業用以太網。

EtherCAT的通信示意圖

EtherCAT分為主站和從站,一個主站上連接了一個或多個從站控制器。可使用菊花鏈型和星型進行連接。

2.jpg

通信方法是將所有從站的數據匯總成一個數據包發送出去。上述示例中,數據包的內容如下。

3.png

設備數據的大小和功能等在EtherCAT Slave Information文件中進行描述,EtherCAT主站事先使用這些信息來創建上述數據包。

數據依次從離主站最近的從站控制器進行傳輸。藍色箭頭(1)至(6)為EtherCAT數據包的傳輸順序。在上述連接的情況下,該設備的數據依次從(1)到(3)進行更新。對于輸入數據,將數據更新為數據包,對于輸出數據,將設備更新為數據的值。在到達終端從站③后,數據沿著(4)至(6)的箭頭方向折返,最后在主站接收后更新輸入數據。

4.jpg

EtherCAT的冗余化

EtherCAT如果在主站上有多個LAN端口,可通過環形連接實現雙重冗余。如果將2個LAN端口分配給EtherCAT,CPS-PC341EC-1-9201將無法進行LAN通信,下方示例為通過配備了軟件PLC且配備2個以上LAN端口的PC進行連接的情況。

5.jpg

此時,藍色和綠色兩個方向各自進行通信。藍色箭頭(1)至(4)為LAN端口1的傳輸順序,綠色箭頭(1)至(4)為LAN端口2的傳輸順序。

雙重冗余時,即使線路發生斷線,通信也能繼續而不會中斷。而且,斷線位置也能清楚顯示。下方為從站②與從站③之間發生斷線時的示意圖。由于從站②無法進行通信,綠色箭頭的LAN端口2的通信到達從站③之后返回到主站,如綠色箭頭(1)至(2)所示僅從站③進行通信。由于從站③無法進行通信,藍色箭頭的LAN端口1的通信傳輸到從站②之后返回主站。藍色箭頭(1)至(4)為LAN端口1的通信。

6.jpg

EtherCAT產品的兼容性問題

EtherCAT產品包括各種主站和從站產品。并非所有的功能都能在引入了EtherCAT主站軟件的PC、主站產品和EtherCAT從站產品上正常工作。EtherCAT技術協會將對EtherCAT主站及從站開發廠商進行每年一次的連接測試,以盡可能地消除兼容性問題。

康泰克的CONPROSYS PAC系列推出了EtherCAT主站/從站產品,已確認PAC系列的組合可正常工作,可放心使用。另外,希望在康泰克以外的主站上使用康泰克的從站產品,或者不清楚康泰克以外的從站和康泰克的主站產品能否正常工作,希望在購買前確認動作時,選擇使用康泰克提供的測試機租借服務。

什么是PLC

如果想在EtherCAT主站進行編程,例如通過EtherCAT通信獲取控制和傳感器狀態等,您可將其引入使用了PLC和軟件的系統中。PLC是可編程邏輯控制器(Programmable Logic Controller)的首字母縮寫,也稱為定序器。它是可按照邏輯控制傳感器和LED等控制設備的控制器。以微型計算機為主體,專門進行邏輯處理的專用設備稱為硬件PLC,在工業用計算機等安裝了PLC功能,進行多種處理的設備稱為軟件PLC。康泰克的PAC系列采用軟件PLC CODESYS。

什么是CODESYS?

CODESYS?是指根據CODESYS.GmbH開發出的符合國際標準IEC 61131-3的軟件PLC。支持IEC 61131-3中定義的5種語言。已安裝了CODESYS的產品可用作EtherCAT主站。CODESYS軟件由LINX公司提供,有可通過此處免費下載 (日文)。(CODESYS和LINX都需要用戶注冊)

關于PC編程和CODESYS的PLC編程的差異

在PC上進行Python等編程時,感覺是從起點出發朝著規定的終點邁進,而在CODESYS編程中,則感覺是按照規定的循環時間繞著跑道一圈圈地進行處理。

【PC上進行編程的基本示意圖】

7.jpg

【CODESYS編程的基本示意圖】

8.jpg

在PC編程中,有一種線程稱作定時器線程,該線程在規定的時間內運行,雖可加以使用,但當單位為毫秒到微秒時就會出現時間波動,很難保持線程在1毫秒內運行,經常出現線程偏離10毫秒的情況。對于CODESYS,根據設備的不同,可設置毫秒單位或數百微秒。但是,進行PLC編程時需要加以注意。例如,在PC上進行編程時,可使用 “等待”(如睡眠),但CODESYS編程要求在規定的循環時間內持續運行,所以編程方式必須是 “在下一個循環處理 ”而非“等待”。

CODESYS?的編程語言

IEC 61131-3定義的PLC編程語言為梯形圖(LD)、指令表(IL)、功能模塊圖(FBD)、順序功能流程圖(SFC)及結構化文本(ST)這5種語言。CODESYS可使用IEC 61131-3中定義的PLC編程語言進行編寫。

使用CONPROSYS PAC系列的EtherCAT通信控制

選擇產品

作為擁有軟件PLC功能的設備,康泰克具有配備了CODESYS的CONPROSYS PAC系列。CONPROSYS PAC控制器作為人機界面配備了CONPROSYS HMI,可將CODESYS收集的EhterCAT從站設備數據可視化。

9.jpg

包括EtherCAT主站產品“CPS-PC341EC-1-9201”或“CPS-PCS341EC-DS1-1201”、作為EtherCAT從站產品可擴展最多16臺模塊的EtherCAT從站耦合器“CPS-ECS341-1-011”、可連接最多8臺IO-Link傳感器的IO-Link網關“CPSL-08P1EN”。下方為產品分類圖。

【產品分類圖】

10.jpg

使用CODESYS編程的示例

本次在下列構建中安裝了CODESYS開發環境后,通過HMI監控進行EtherCAT通信的模擬電流,當電流值下降到閾值時打開數字量輸出。

11.jpg

CODESYS編程教程

要點!如果在最初設置好構建信息和連接信息,編程變得簡單!

1.安裝PAC控制器、EtherCAT構建信息

首先安裝PAC控制器CPS-PC341EC-1-9201的程序庫。CPS-PC341EC-1-9201的程序庫可通過此處下載。通過數據包管理器進行安裝。

12.jpg

下面安裝EtherCAT構建信息ESI文件(Ethercat Slave Information File)。CPS-ECS341-1-011的ESI文件可通過此處下載。通過設備資源庫進行安裝。

13.jpg

2.項目創建/編程語言選擇

下面進行項目創建。

選擇類似于C語言等可編程語言“結構化文本(ST)”繼續創建。

14.jpg

3.EtherCAT的連接設置

在控制器上添加EtherCAT主站。添加EtherCAT主站后,設置CPS-ECS341-1-011的設備。本次連接了數字量輸出和模擬輸入設備,注冊這兩臺設備。設置后,注冊使用的模擬輸入端子(AnalogInput0)和數字量輸出端子(DigitalOutput0、DigitalEchoOutput0)。

15.jpg

至此準備工作完成。

4.程序

將程序畫面寫入PLC_PRG。存在指令聲明部分和程序部分,使用已聲明的變量和3.進行注冊的端子進行編程。

變量聲明部分

VAR

 // 在HMI上注冊的變量

 threshold :LREAL:= 0.0;// 閾值(mA)

 value : LREAL := 0.0;//當前值(mA)

 lump0 : BOOL := FALSE; // 數字量輸出的確認值(Echoback Input的值)

 // CPS-AI-1608ALI的設備

 max_current : LREAL := 20.0; // 最大值(mA)

 resolution : LREAL := 65536.0; // 分辨率 16bit -> 2的16次方

END_VAR

程序部

value := (AnalogInput0*max_current) / (resolution – 1.0); // 轉換為mA

if (value < threshold ) then

 DigitalOutput0 := TRUE;

else

 DigitalOutput0 := FALSE;

end_if

lump0 := DigitalEchoOutput0;

在PC上對EtherCAT庫進行編程時,必須對ESI文件的讀取、EtherCAT通信交互以及稱為對象字典的參數的消息通信交互進行編程。如果使用CODESYS,則會執行CODESYS庫,EtherCAT的通信部分的編程將省略,從而可直接輕松地操作模擬輸入設備和數字量輸出設備。

5.為了在CONPROSYS HMI中使用,注冊value和threshold,lump0的變量。

因此,添加符號配置。

16.jpg

添加后,勾選要使用的變量,然后再次按下構建按鈕以完成。

17.jpg

在這種狀態下關閉CPS-PC341EC-1-9201的電源后,本程序會消失,因此通過Web瀏覽器訪問本機并保存程序。

18.jpg

與CONPROSYS HMI的聯動

要點!創建監控畫面,配置部件后聯動CODESYS注冊的變量即可!

1.編輯監控。

電流值和閾值采用趨勢圖,數字量輸出的確認采用指示燈。為了在標簽上顯示電流值,在文本框上顯示閾值,對部件進行布局。下方為創建畫面。

19.jpg

本次,指示燈的設置僅使用最上層。此外,趨勢圖的Y軸刻度已固定為最大值20/最小值0。

20.jpg

2.關聯CODESYS中注冊的變量(value、threshold、 lump0)。

21.jpg

之后保存即可完成。如果電流值低于閾值,數字量輸出開啟后,指示燈亮紅燈。將12mA設置為閾值時的CONPROSYS HMI如下所示。

22.jpg

23.jpg

怎么樣?如此可輕松執行使用EtherCAT通信的控制程序。此處僅介紹了控制EtherCAT,其他還有各種功能如PAC控制器的文件保存功能和云傳輸功能,可實現聯動。要創建該類程序時,準備了參考指南(軟件)和示例程序作為詳細資料。

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

提交

查看更多評論
其他資訊

查看更多

新產品通信 – 僅兩張名片大小的嵌入式計算機 盒式計算機 BX-U310全新發售

康泰克:新產品通信 – CONPROSYS? nano系列 I/O模塊 2種數字量輸出 新上市

新品發布:17英寸無風扇PCAP觸摸屏電腦

EV制造時的ECU檢查、汽車維修保養用CAN通信單元

?康泰克董事長兼社長西山和良致辭