什么是EtherCAT?使用軟件PLC的測量控制
目錄
》什么是EtherCAT?
》EtherCAT產(chǎn)品的兼容性問題
》什么是PLC
》什么是CODESYS?
》使用CONPROSYS PAC系列的EtherCAT通信控制
*CODESYS編程教程
*與CONPROSYS HMI的聯(lián)動
什么是EtherCAT?
EtherCAT(Ethernet for Control Automation Technology)在2016年被豐田汽車公司全面采用后備受關(guān)注,它是由倍福自動化有限公司開發(fā)的具有實(shí)時功能的開放式現(xiàn)場網(wǎng)絡(luò)(Open Field Network)。目前,功能要求和認(rèn)證程序是由2003年成立的EtherCAT Technology Group(EtherCAT技術(shù)協(xié)會)進(jìn)行規(guī)定和管理。
什么是現(xiàn)場網(wǎng)絡(luò)
現(xiàn)場網(wǎng)絡(luò)是用來在工廠內(nèi)的控制設(shè)備和傳感器等測量設(shè)備之間進(jìn)行通信的網(wǎng)絡(luò)。該現(xiàn)場網(wǎng)絡(luò)中使用以太網(wǎng)的網(wǎng)絡(luò)稱為工業(yè)用以太網(wǎng)。工業(yè)用以太網(wǎng)包括Profinet、Ethernet/IP、CC-Link/IE Field、Modbus/TCP等,EtherCAT也是一種工業(yè)用以太網(wǎng)。
EtherCAT的通信示意圖
EtherCAT分為主站和從站,一個主站上連接了一個或多個從站控制器。可使用菊花鏈型和星型進(jìn)行連接。
通信方法是將所有從站的數(shù)據(jù)匯總成一個數(shù)據(jù)包發(fā)送出去。上述示例中,數(shù)據(jù)包的內(nèi)容如下。
設(shè)備數(shù)據(jù)的大小和功能等在EtherCAT Slave Information文件中進(jìn)行描述,EtherCAT主站事先使用這些信息來創(chuàng)建上述數(shù)據(jù)包。
數(shù)據(jù)依次從離主站最近的從站控制器進(jìn)行傳輸。藍(lán)色箭頭(1)至(6)為EtherCAT數(shù)據(jù)包的傳輸順序。在上述連接的情況下,該設(shè)備的數(shù)據(jù)依次從(1)到(3)進(jìn)行更新。對于輸入數(shù)據(jù),將數(shù)據(jù)更新為數(shù)據(jù)包,對于輸出數(shù)據(jù),將設(shè)備更新為數(shù)據(jù)的值。在到達(dá)終端從站③后,數(shù)據(jù)沿著(4)至(6)的箭頭方向折返,最后在主站接收后更新輸入數(shù)據(jù)。
EtherCAT的冗余化
EtherCAT如果在主站上有多個LAN端口,可通過環(huán)形連接實(shí)現(xiàn)雙重冗余。如果將2個LAN端口分配給EtherCAT,CPS-PC341EC-1-9201將無法進(jìn)行LAN通信,下方示例為通過配備了軟件PLC且配備2個以上LAN端口的PC進(jìn)行連接的情況。
此時,藍(lán)色和綠色兩個方向各自進(jìn)行通信。藍(lán)色箭頭(1)至(4)為LAN端口1的傳輸順序,綠色箭頭(1)至(4)為LAN端口2的傳輸順序。
雙重冗余時,即使線路發(fā)生斷線,通信也能繼續(xù)而不會中斷。而且,斷線位置也能清楚顯示。下方為從站②與從站③之間發(fā)生斷線時的示意圖。由于從站②無法進(jìn)行通信,綠色箭頭的LAN端口2的通信到達(dá)從站③之后返回到主站,如綠色箭頭(1)至(2)所示僅從站③進(jìn)行通信。由于從站③無法進(jìn)行通信,藍(lán)色箭頭的LAN端口1的通信傳輸?shù)綇恼劲谥蠓祷刂髡尽K{(lán)色箭頭(1)至(4)為LAN端口1的通信。
EtherCAT產(chǎn)品的兼容性問題
EtherCAT產(chǎn)品包括各種主站和從站產(chǎn)品。并非所有的功能都能在引入了EtherCAT主站軟件的PC、主站產(chǎn)品和EtherCAT從站產(chǎn)品上正常工作。EtherCAT技術(shù)協(xié)會將對EtherCAT主站及從站開發(fā)廠商進(jìn)行每年一次的連接測試,以盡可能地消除兼容性問題。
康泰克的CONPROSYS PAC系列推出了EtherCAT主站/從站產(chǎn)品,已確認(rèn)PAC系列的組合可正常工作,可放心使用。另外,希望在康泰克以外的主站上使用康泰克的從站產(chǎn)品,或者不清楚康泰克以外的從站和康泰克的主站產(chǎn)品能否正常工作,希望在購買前確認(rèn)動作時,選擇使用康泰克提供的測試機(jī)租借服務(wù)。
什么是PLC
如果想在EtherCAT主站進(jìn)行編程,例如通過EtherCAT通信獲取控制和傳感器狀態(tài)等,您可將其引入使用了PLC和軟件的系統(tǒng)中。PLC是可編程邏輯控制器(Programmable Logic Controller)的首字母縮寫,也稱為定序器。它是可按照邏輯控制傳感器和LED等控制設(shè)備的控制器。以微型計算機(jī)為主體,專門進(jìn)行邏輯處理的專用設(shè)備稱為硬件PLC,在工業(yè)用計算機(jī)等安裝了PLC功能,進(jìn)行多種處理的設(shè)備稱為軟件PLC??堤┛说腜AC系列采用軟件PLC CODESYS。
什么是CODESYS?
CODESYS?是指根據(jù)CODESYS.GmbH開發(fā)出的符合國際標(biāo)準(zhǔn)IEC 61131-3的軟件PLC。支持IEC 61131-3中定義的5種語言。已安裝了CODESYS的產(chǎn)品可用作EtherCAT主站。CODESYS軟件由LINX公司提供,有可通過此處免費(fèi)下載 (日文)。(CODESYS和LINX都需要用戶注冊)
關(guān)于PC編程和CODESYS的PLC編程的差異
在PC上進(jìn)行Python等編程時,感覺是從起點(diǎn)出發(fā)朝著規(guī)定的終點(diǎn)邁進(jìn),而在CODESYS編程中,則感覺是按照規(guī)定的循環(huán)時間繞著跑道一圈圈地進(jìn)行處理。
【PC上進(jìn)行編程的基本示意圖】
【CODESYS編程的基本示意圖】
在PC編程中,有一種線程稱作定時器線程,該線程在規(guī)定的時間內(nèi)運(yùn)行,雖可加以使用,但當(dāng)單位為毫秒到微秒時就會出現(xiàn)時間波動,很難保持線程在1毫秒內(nèi)運(yùn)行,經(jīng)常出現(xiàn)線程偏離10毫秒的情況。對于CODESYS,根據(jù)設(shè)備的不同,可設(shè)置毫秒單位或數(shù)百微秒。但是,進(jìn)行PLC編程時需要加以注意。例如,在PC上進(jìn)行編程時,可使用 “等待”(如睡眠),但CODESYS編程要求在規(guī)定的循環(huán)時間內(nèi)持續(xù)運(yùn)行,所以編程方式必須是 “在下一個循環(huán)處理 ”而非“等待”。
CODESYS?的編程語言
IEC 61131-3定義的PLC編程語言為梯形圖(LD)、指令表(IL)、功能模塊圖(FBD)、順序功能流程圖(SFC)及結(jié)構(gòu)化文本(ST)這5種語言。CODESYS可使用IEC 61131-3中定義的PLC編程語言進(jìn)行編寫。
使用CONPROSYS PAC系列的EtherCAT通信控制
選擇產(chǎn)品
作為擁有軟件PLC功能的設(shè)備,康泰克具有配備了CODESYS的CONPROSYS PAC系列。CONPROSYS PAC控制器作為人機(jī)界面配備了CONPROSYS HMI,可將CODESYS收集的EhterCAT從站設(shè)備數(shù)據(jù)可視化。
包括EtherCAT主站產(chǎn)品“CPS-PC341EC-1-9201”或“CPS-PCS341EC-DS1-1201”、作為EtherCAT從站產(chǎn)品可擴(kuò)展最多16臺模塊的EtherCAT從站耦合器“CPS-ECS341-1-011”、可連接最多8臺IO-Link傳感器的IO-Link網(wǎng)關(guān)“CPSL-08P1EN”。下方為產(chǎn)品分類圖。
【產(chǎn)品分類圖】
使用CODESYS編程的示例
本次在下列構(gòu)建中安裝了CODESYS開發(fā)環(huán)境后,通過HMI監(jiān)控進(jìn)行EtherCAT通信的模擬電流,當(dāng)電流值下降到閾值時打開數(shù)字量輸出。
CODESYS編程教程
要點(diǎn)!如果在最初設(shè)置好構(gòu)建信息和連接信息,編程變得簡單!
1.安裝PAC控制器、EtherCAT構(gòu)建信息
首先安裝PAC控制器CPS-PC341EC-1-9201的程序庫。CPS-PC341EC-1-9201的程序庫可通過此處下載。通過數(shù)據(jù)包管理器進(jìn)行安裝。
下面安裝EtherCAT構(gòu)建信息ESI文件(Ethercat Slave Information File)。CPS-ECS341-1-011的ESI文件可通過此處下載。通過設(shè)備資源庫進(jìn)行安裝。
2.項目創(chuàng)建/編程語言選擇
下面進(jìn)行項目創(chuàng)建。
選擇類似于C語言等可編程語言“結(jié)構(gòu)化文本(ST)”繼續(xù)創(chuàng)建。
3.EtherCAT的連接設(shè)置
在控制器上添加EtherCAT主站。添加EtherCAT主站后,設(shè)置CPS-ECS341-1-011的設(shè)備。本次連接了數(shù)字量輸出和模擬輸入設(shè)備,注冊這兩臺設(shè)備。設(shè)置后,注冊使用的模擬輸入端子(AnalogInput0)和數(shù)字量輸出端子(DigitalOutput0、DigitalEchoOutput0)。
至此準(zhǔn)備工作完成。
4.程序
將程序畫面寫入PLC_PRG。存在指令聲明部分和程序部分,使用已聲明的變量和3.進(jìn)行注冊的端子進(jìn)行編程。
變量聲明部分
VAR
// 在HMI上注冊的變量
threshold :LREAL:= 0.0;// 閾值(mA)
value : LREAL := 0.0;//當(dāng)前值(mA)
lump0 : BOOL := FALSE; // 數(shù)字量輸出的確認(rèn)值(Echoback Input的值)
// CPS-AI-1608ALI的設(shè)備
max_current : LREAL := 20.0; // 最大值(mA)
resolution : LREAL := 65536.0; // 分辨率 16bit -> 2的16次方
END_VAR
程序部
value := (AnalogInput0*max_current) / (resolution – 1.0); // 轉(zhuǎn)換為mA
if (value < threshold ) then
DigitalOutput0 := TRUE;
else
DigitalOutput0 := FALSE;
end_if
lump0 := DigitalEchoOutput0;
在PC上對EtherCAT庫進(jìn)行編程時,必須對ESI文件的讀取、EtherCAT通信交互以及稱為對象字典的參數(shù)的消息通信交互進(jìn)行編程。如果使用CODESYS,則會執(zhí)行CODESYS庫,EtherCAT的通信部分的編程將省略,從而可直接輕松地操作模擬輸入設(shè)備和數(shù)字量輸出設(shè)備。
5.為了在CONPROSYS HMI中使用,注冊value和threshold,lump0的變量。
因此,添加符號配置。
添加后,勾選要使用的變量,然后再次按下構(gòu)建按鈕以完成。
在這種狀態(tài)下關(guān)閉CPS-PC341EC-1-9201的電源后,本程序會消失,因此通過Web瀏覽器訪問本機(jī)并保存程序。
與CONPROSYS HMI的聯(lián)動
要點(diǎn)!創(chuàng)建監(jiān)控畫面,配置部件后聯(lián)動CODESYS注冊的變量即可!
1.編輯監(jiān)控。
電流值和閾值采用趨勢圖,數(shù)字量輸出的確認(rèn)采用指示燈。為了在標(biāo)簽上顯示電流值,在文本框上顯示閾值,對部件進(jìn)行布局。下方為創(chuàng)建畫面。
本次,指示燈的設(shè)置僅使用最上層。此外,趨勢圖的Y軸刻度已固定為最大值20/最小值0。
2.關(guān)聯(lián)CODESYS中注冊的變量(value、threshold、 lump0)。
之后保存即可完成。如果電流值低于閾值,數(shù)字量輸出開啟后,指示燈亮紅燈。將12mA設(shè)置為閾值時的CONPROSYS HMI如下所示。
怎么樣?如此可輕松執(zhí)行使用EtherCAT通信的控制程序。此處僅介紹了控制EtherCAT,其他還有各種功能如PAC控制器的文件保存功能和云傳輸功能,可實(shí)現(xiàn)聯(lián)動。要創(chuàng)建該類程序時,準(zhǔn)備了參考指南(軟件)和示例程序作為詳細(xì)資料。
提交
新產(chǎn)品通信 – 僅兩張名片大小的嵌入式計算機(jī) 盒式計算機(jī) BX-U310全新發(fā)售
康泰克:新產(chǎn)品通信 – CONPROSYS? nano系列 I/O模塊 2種數(shù)字量輸出 新上市
新品發(fā)布:17英寸無風(fēng)扇PCAP觸摸屏電腦
EV制造時的ECU檢查、汽車維修保養(yǎng)用CAN通信單元
?康泰克董事長兼社長西山和良致辭