Jste zde

Jak na EtherCAT s PLC Omron NX1P2 a Sysmac Studiem

Jak zprovoznit EtherCAT komunikaci s PLC Omron NX1P2 v softwaru Sysmac Studio? Poměrně snadno. Konkrétně si ukážeme, jak ji nakonfigurovat pro přenos hodnot z vážícího modulu "Laumas TLM8 ETHERCAT", jako rychlé měřící  jednotky.

V návaznosti na seriálu testování PLC Omron NX1P2, kde jsem v 5. dílu  "TEST - Výkonné kompaktní PLC Omron NX1P2 - 5.díl - ModbusTCP server" ukázal, jak si vytvořit jednoduchý prográmek pro Modbus-TCP komunikaci ve režimu Slave, dnes navážeme s ukázkou, jak prakticky zprovoznit EtherCAT komunikaci. EtherCAT je rychlá komunikační datová sběrnice, primárně používaná pro řízení rychlých a přesných servopohonů v robotických aplikacích, ale stále častěji lze najít i pro přenos hodnot ze vzdálených I/O Remote jednotek (vzdálené jednotky vstupů a výstupů) nebo rychlých měřících zařízení, kde je nutné velmi častý periodický přenos velkého množství hodnot (s periodou v řádu milisekund). Přenos je tak výrazně rychlejší a spolehlivější než při použití průmyslového Ethernetu EtherNet/IP, včetně použití protokolu Modbus-TCP. V tomto směru je EtherCAT konkurentem Profinetu.

Konkrétně se dnes pokusím přiblížit, jak si zprovoznit EtherCAT komunikaci v režimu client (Master), tedy pro aplikaci, kdy PLC vysílá požadavky do podřízeného systému obvykle tvořeného rychlou měřící jednotkou nebo naopak servo-řídící jednotkou rychlý a přesných pohonů. V mém případě jsem měl k dispozici měřící vážící jednotku TLM8 ETHERCAT od italské společnosti Laumas pro tenzometrické senzory, tedy pro realizaci vážících systémů. Samozřejmě v praxi pak může jakákoliv jiná slave jednotka.

Příprava na EtherCAT komunikaci

Průmyslový sběrnicový protokol EtherCAT si využívá pro svůj přenos fyzickou vrstvu Ethernetu, ale narozdíl od Modbus-TCP protokolu již využívá zcela jiný způsob přenosu, včetně adresování jednotek. V praci to znamená, že  sice využívá podobnou kabeláž a stejné konektory RJ-45, ale komunikační parametry jsou zcela odlišné. Proto je také EtherCAT RJ-45 konektor na PLC Omron NX1P2 striktně oddělen od stejně vypadajícího RJ-45 konektoru Ethernet/IP rozhraní využívaného i pro Modbus-TCP sběrnici.

V přípravě pro zprovoznění EtherCAT komunikace s jakoukoliv jednotkou je nejdříve nutné si zajistit tzv. ESI konfigurační soubor, což je v praxi soubor s koncovkou XML poskytovaný dodavatelem slave připojované jednotky, který obsahuje všechny důležité parametry o připojovaném / komunikovaném zařízení. Díky tomu není zprovoznění komunikace složité, protože většina relevantních informaci potřebných k zajištění přenosu dat mezi Master i Slave jednotkou jsou získány ze tohoto souboru a odpadá tedy jakékoliv zdlouhavé "ruční" nastavování.

V mém případě u jednotky "Laumas TLM8 EtherCAT" to je konfigurační soubor "TLM8ETHERCAT V0.0.xml", který výrobce Laumas poskytuje volně ke stažení na svých webových stránkách pro bezplatné registraci.

Více méně podobné je to i u ostatních výrobců EtherCAT zařízení. Pouze v případě připojování EtherCAT slave zařízení ze sortimentu Omronu, není nutné nic shánět, protože tyto konfigurační soubory jsou již přednahrány v programovacím softwaru Sysmac Studio.

Naprogramování EtherCAT komunikace

 EtherCAT komunikace je přímo podporována z pohledu programování softwarem Sysmac Studio a tedy, na rozdíl od předchozího článku "TEST - Výkonné kompaktní PLC Omron NX1P2 - 5.díl - ModbusTCP server" popisující ne přímo Sysmac Studiem podporovaný Modbus-TCP protokol, zde není nutné shánět žádné funkční bloky a něco vkládat do programu. Zcela stačí EtherCAT komunikaci jen zprovoznit "klikací metodou" v menu a nabídkách Sysmac Studia. V samotném programu se již přímo jen volají / používají proměnné, které se automaticky "plní" hodnotami z EtherCAT komunikace a o samotný jejich přenos mezi pamětí PLC a Slave zařízením již není nutné se vůbec starat. Vše se provádí na pozadí běhu uživatelského programu zcela automaticky.

Pro nastavení EtherCAT komunikace se v softwaru Sysmac Studio provádí prostřednictvím k tomu určené speciální položky "EtherCAT". Pokud zatím se zatím EtherCATem v daném programu nepracovalo, je v ní již zobrazena jen "Master" jednotka, což je právě programované PLC. Při kliknutí na jeho ikonu lze nastavit/změnit jeho EtherCAT parametry:

  • "Device Name" - přejmenování z defaultního pojmenování "Master" na cokoliv jiného,
  • "Total Cabel Length" - nastavit celkovou maximální propojovací délku komunikačního kabelu  (lepší raději nastavit větší hodnotu, pokud si nejste jistí),
  • "Fail-Soft Operation Setting" - co se má provést, když nějaká Slave jednotka má komunikační problém,
  •  "Wait Time for Slave Startup" -  nastavení doby čekání na náběh Slave jednotek, tedy dobu, po kterou po zapnutí PLC počká než se pokusí komunikovat se Slave jednotkami,
  • "PDO communications timeout detection count" - kolikrát může Slave jednotka "propásnout" čas na odeslání datový paket (PDO), než se vyhlásí chyba komunikace,
  •  "DC Synchronous Correction" - povolit/vypnout funkci synchronizace časování komunikace (povolit, když dochází k problémům s komunikací se Slave jednotkou).

Standardně před zahájením konfigurace EtherCAT komunikace v softwaru Sysmac Studio je v nastavovací položce "EtherCAT" zobrazena jen Master jednotka, tedy programované PLC (v mém případe typ NX1P2). Vpravo je pak okno "TOOLBOX" zobrazující aktuální knihovnu / databázi EtherCAT slave zařízení, které lze na Master jednotku napojit a nakonfigurovat.

Softwarové připojení EtherCAT slave jednotek se pak provádí Ta se vytvoří vložením nového EtherCAT Slave zařízení, v mém případě tedy vážní jednotku Laumas TLM8. A zde, dle mého názoru dochází k hlavnímu možnému úskalí v podobě zmatení neznalého uživatele. Respektive, pokud připojujete jakékoliv zařízení ze sortimentu Omronu, tak stačí prostě jej jen vybrat ze nabídky v okně "Toolbox" a poklepat na něho. Následně se sám přidá to schéma EtherCAT komunikace jako Slave jednotka.

Zde problém není. Zmatení může nastat, když potřebujete přidat jako Slave jednotku jakékoliv zařízení, které není od Omronu. Jeho položka se pak v seznamu nenachází je jí tam potřeba nejdříve nutné přidat.

Zobrazení aktuální knihovny/databáze konfiguračních souborů EtherCAT jednotek uložených v Sysmac Studiu se provede přes volbu "Display ESI Library"

To se provede nejdříve kliknutím pravého tlačítka myši na ikonu "Master" jednotky a zvolením položky "Display ESI Library". Pozor nevolte položku "Import Slave Settings and Insert New Slave". Ta totiž slouží jen k načtení již dříve v Sysmac Studiu uloženého nastavení nějaké EtherCAT slave jednotky v podobě speciálního Omron typu souboru "ETS". Pro prvotní vložení EtherCAT Slave jednotky, která je definovaná tzv. ESI souborem (EtherCAT Slave Information) v XML formátu, je nutné provést právě v okně "ESI Library", které se otevře kliknutím na položku "Display ESI Library". Zde uvidíte všechny předvložené Omron zařízení a nové "ne Omron" zařízení se do seznamu přidá buď vložením příslušného ESI XML souboru do následujícího adresáře Sysmac Studia "C:\Program Files (x86)\OMRON\Sysmac Studio\IODeviceProfiles\EsiFiles\UserEsiFiles" (tento adresář se objeví po kliknutí na nenápadnou položku "this folder").  Následně po restartu softwaru Sysmac Studio se již dané přidané zařízení objeví na konci seznamu EtherCAT slave jednotek v okně TOOLBOX a lze ji poklikáním přidat do schéma EtherCAT komunikace. V mém případě jsem tedy do adresáře přesunul soubor "TLM8ETHERCAT V0.0.xml", následně se tedy v ESI seznamu na konci objevila i položka "tlm8ETHERCAT".

 

Zavedení ESI konfiguračního souboru XML nové EtherCAT slave jednotky do databáze "ESI Library" v Sysmac Studiu (pokud je slave jednotka jiného výrobce než Omron, jehož zařízení jsou již v databázi standardně uloženy) - v mém případě zařízení TLM8 ETHERCAT (XML soubor musí dodat výrobce příslušné jednotky).

Pak již je možné nastavit parametry Slave jednotky, včetně jejich adresy. Sysmac Studio přiřazuje automaticky adresy postupně podle pořadí vložení Slave jednotek, tedy postupně 1, 2, 3 .. atd. Může se stát, že se adresa sama nepřiřadí (na pozici čísla adresy bude viset nula), nebo chcete adresu ručně změnit. Pak můžete kliknout myši přímo na číslo adresy zadat jiné, nebo totéž z nabídky nastavení Slave jednotky na položce "Node Address".

Změna adresy EtherCAT slave jednotky.

Další krok je již prakticky jen namapování (načtení) všech hodnot přenášených / synchronizovaných se Slave jednotkou do vytvářeného programu jako vstupy a výstupy. To se naopak provede velmi snadno jedním klikem na tlačítko "Edit PDO Map Settings" v okně nastavení příslušné Slave jednotky.  Následně se v novém okně zobrazí kompletní přehled vstupních a výstupních přenášených proměnných a po odsouhlasení "OK" se celý seznam objeví v položce "I/O Map" jako další programové vstupy a výstupy.

Přes tlačítko "Edit PDO Map Settings" se přenesou názvy proměnných EtherCAT slave zařízení do složky "I/O Map" pro jejich přímé použití v programu PLC.

Zde je nutné jim přiřadit jméno proměnné pro program a definovat, zda budou jako globální proměnné (přístupné v celém vytvářeném programu) či jen jako lokální proměnné (přístupné jen určitou částí programu). Celý postup popisování lze zjednodušit kliknutím v "I/O Map" seznamu pravou packou myši na jméno EtherCAT slave jednotky a zvolit "Create Device Variable" a pak se automaticky všechny označení vstupů a výstupů této jednotky, jak jsou definované v ESI souboru, překopírují do jmen proměnných "Variable" a nastaví se všechny proměnné jako globální. Případně pak lze jednotlivě u každé položky nastavení kdykoliv změnit podle potřeby.

Pak už je možné přejít přímo do vytvářeného programu a využívat proměnné EtherCAT Slave jednotky jako kterékoliv jiné proměnné.

Všechny registry / data přenášené do i z přiřazené EtherCAT slave jednotky (zařízení) se po správné konfiguraci EtherCAT sítě objeví v položce "I/O Map" mezi dalšími proměnnými vstupů a výstupů programovaného PLC.

 

Přiřazení proměnných načítaných / přenášených z nebo do EtherCAT zařízení ( v mém případě tedy jednotky Laumas TLM8 ETHERCAT) v programu jako globální proměnné, které lze používat v celém programu.

Hodnoty / proměnné přenášené po EtherCATu ze slave zařízení se pak v programu PLC využívají standardně jako jakékoliv jiné proměnné.

Testování EtherCAT komunikace

Pro mé testování jsem si vytvořil jen takovou jednoduchou aplikaci pracují specificky s hodnotami zasílané jednotkou TLM8 ETHERCAT.  Ta totiž 32-bitovou hodnotu hmotnosti zasílá po částech jako 4 po sobě jdoucí 8-bitové (byte) hodnoty, které je pak následně nutné spojit do jedné celkové 32-bitové hodnoty hexa formátu DWORD. K tomu využívám v programu funkci "PackDWORD". Následně pak ještě funkce "DWORD_TO_DINT" převádějící 32-bitovu hexa hodnotu na 32-bitovou desítkovou hodnotu Integer.

V testovacím programu jsem využíval funkce  "PackDWORD" pro spojení z čtyř 8-bitových zvlášť EtherCAT jednotky TLM8 přenášených hodnot do jedné celkové 32-bitové hodnoty hmotnosti formátu DWORD.

Funkcí "DWORD_TO_DINT"  lze pak převést 32-bitovu HEXA hodnotu na 32-bitovou desítkovou hodnotu Integer.

Z pohledu funkce EtherCATu však v tomto případě prakticky není patrný žádný rozdíl proti tomu, když by se pracovalo jen s hodnotami přímo generované v paměti PLC. Po zapnutí napájení PLC i jednotky se komunikace automaticky naváže zcela bez problémů. Prostě praktické použití a zprovoznění EtherCATu je velmi jednoduché a zcela nenáročné.

V případě, že PLC zjistí nějaké problémy s EtherCAT komunikací, lze poměrně snadno závadu identifikovat zobrazením přehledu chybových hlášení v Sysmac Studiu v "ON-LINE" režimu, kdy je PC (Sysmac Studio) napojené na PLC přes Ethernet.

 

Tabulka chybových hlášení při problémech EtherCAT komunikace (obr. vlevo) a čistá tabulka po odstranění všech problémů.

Závěr

EtherCAT je stále se více rozšiřující komunikační protokol, který se jeví v průmyslu jako hlavní konkurent sběrnice Profinet. Jeho zprovoznění i použití u PLC Omron využívající programovací software Sysmac Studio je pro běžné aplikace velmi podobné jako u Profinetu v softwaru TIA Portal. Prakticky jde vždy jen o "klikací" záležitost v nabídkách a narozdíl od Modbus-TCP komunikace popsané v článku "TEST - Výkonné kompaktní PLC Omron NX1P2 - 5.díl - ModbusTCP server" není nutné přímo v programu pro EtherCAT nic "programovat".

Odkazy:

Hodnocení článku: