Aktuální vydání

celé číslo

03

2019

Veletrh Amper 2019 v Brně

celé číslo

Logické řízení a strojové vidění v jednotném prostředí TwinCAT Vision

Software TwinCAT Vision od společnosti Beckhoff umožňuje zkombinovat do jednoho systému TwinCAT strojové vidění s logickým řízením, řízením polohy a pohybu, vizualizací, řízením robotů a bezpečnostními funkcemi. Kamery se konfigurují ve stejném nástroji jako průmyslové sběrnice nebo pohybové osy. K programování algoritmů pro zpracování obrazu se používají programovací jazyky podle IEC 61131-3 a tyto algoritmy běží ve stejném real-time systému jako zpracování programu PLC. 

V průmyslové automatizaci má programátor PLC kontrolu nad pohony, řídicím programem, umí pracovat se vstupy a výstupy, bezpečnostními funkcemi a mnoha dalšími věcmi. Všechny tyto úlohy je možné řešit v rámci jedné řídicí platformy, jednoho konfiguračního nástroje, za pomoci programů psaných v běžných programovacích jazycích pro PLC. Nicméně je jedna oblast průmyslové automatizace, která je od všech dříve zmíněných typicky oddělena a často ji řeší externí zařízení s vlastními programovacími jazyky a konfiguračními nástroji. Jde o oblast počítačového vidění a zpracování obrazu. Software TwinCAT Vision od společnosti Beckhoff kombinuje oba tyto světy do jednoho systému (obr. 1). Kamery se konfigurují ve stejném nástroji jako průmyslové sběrnice nebo pohybové osy. K programování algoritmů pro zpracování obrazu se používají programovací jazyky PLC a tyto algoritmy běží ve stejném real-time systému jako zpracování programu PLC. 

Architektura

Řídicí systémy Beckhoff jsou založeny na platformě PC, a proto mají rozhraní pro gigabitový Ethernet. A právě na gigabitovém ethernetovém rozhraní je založen přenosový standard GigE Vision pro spolehlivou a rychlou komunikaci s kamerami a přenášení jejich obrazových dat. Pro tento účel používá TwinCAT Vision driver reálného času pro přenos dat z ethernetových rozhraní přímo do paměti řídicího systému. Díky podpoře standardu GigE je možné použít v kombinaci s TwinCAT Vision velké množství různých kamer různých výrobců.

Po zajištění spojení s kamerou následuje typicky její konfigurace. Tu ulehčuje formát GenAPI, který definuje jednotný popis konfiguračních dat u kamer s rozhraním GigE. Ve vývojovém prostředí TwinCAT je určen k práci s konfiguračními daty tzv. TwinCAT Vision Configuration Assistent, jenž umožňuje uživateli přehledně zobrazit všechny parametry nutné pro konfiguraci kamery a měnit je. Změny konfigurace, jako např. úpravu doby osvětlení nebo nastavení oblasti zájmu, lze provést rychle a jednoduše. Vliv změn konfigurace na vstupy z kamery je navíc možné sledovat v online zobrazení přímo ve vývojovém prostředí TwinCAT.

Mimo konfiguraci nabízí vývojové prostředí TwinCAT Vision i další průvodce pro kalibraci kamery s cílem odstranit geo­metrické zkreslení obrazu. Tento průvodce umožňuje určit parametry popisující vztah souřadného systému obrazu a reálného světa. Tak lze vztáhnout pozice v obrazu k pozicím v reálném světě a délky v jednotkách pixelů přepočítat do běžného metrického systému. Mimo perspektivní zkreslení jsou brána v úvahu i nelineár­ní zkreslení projevující se jako viditelné deformace v obraze.

Součástí kalibrace je i nasnímání jednoho nebo více kalibračních vzorů. Vzory mohou být snímány buď přímo ve vývojovém prostředí, nebo je možné importovat již existující obrázky. Po výběru kalibračního vzoru je proveden automatický výpočet kalibračních parametrů. Mimo běžné vzory, jako jsou např. šachovnice a symetrické či asymetrické kruhy, může jít o uživatelské 2D nebo 3D vzory. Kamera nemusí být kalibrována manuálně za součinnosti s uživatelem, ale také automaticky z PLC. 

Zpracování obrazu v PLC

Obrazová data získaná z kamery pomocí rozhraní GigE Vision se ukládají přímo do paměti PLC. Kamera tedy musí být přepnuta do stavu, kdy zaznamenává obraz, popř. musí dostávat signál spouště (trigger), který snímání obrazu řídí. K tomu je určen funkční blok PLC FB_VN_GevCameraControl. Přesný výstup signálu trigger zajišťuje výstupní terminál EtherCAT EL2262, který podporuje časové známky pro přesné řízení výstupního signálu, takže hardwarový signál trigger lze posílat s časovou přesností v řádu jednotek mikrosekund. Toto všechno probíhá v jednom real-time systému s přesnou časovou synchronizací, takže získání dat z kamery je možné navázat s vysokou přesností např. na pozice os – což je pro programátory PLC poměrně často řešená úloha. Mnohé kamery rovněž mají vlastní výstupní signály, které se odesílají v návaznosti na přesně definované události, např. začátek snímání obrazu. Vstupní digitální terminály společnosti Beckhoff dokážou tyto signály odchytit na straně řídicího systému, a proto mohou být využity k dodatečné synchronizaci.

Pro samotné zpracování dat je v TwinCAT Vision dostupná nová PLC knihovna zpracování obrazu s množstvím dostupných algoritmů (obr. 2). Při předzpracování lze např. škálovat velikost obrázku, převádět jej na požadovaný barevný model a potlačit, popř. zvýraznit určité vlastnosti aplikací filtrů. Poté je možné provést binarizaci pomocí operace prahování a výsledek této operace použít jako vstup algoritmu pro rozpoznání kontur v obraze. Z těchto nalezených kontur lze na základě jejich vlastností vyfiltrovat ty, které představují zajímavé oblasti či hrany obrazu, a jsou tedy vhodné pro rozpoznávání a měření objektů. Díky kalibraci kamery je možné převést body popisující vyfiltrované kontury zpět do souřadného systému reálného světa a získat pozice a rozměry objektů v reálných souřadnicích. TwinCAT Vision běží jako součást real-time prostředí TwinCAT, takže je možné pro monitorování průběhu výpočtů použít watchdogy. I při předčasném ukončení výpočtu má ale uživatel k dispozici alespoň částečné výsledky, a celé zpracování tedy nemusí začínat od nuly. Dále není problém rozdělit funkce na zpracování obrazu pomocí tzv. job tasků automaticky na různá jádra a výpočet paralelizovat, aby mohl software TwinCAT Vision optimálně využít všechny možnosti moderních vícejádrových procesorů.

Analýzu a vizualizaci výsledků zjednodušuje možnost pracovat s obrazovými daty nejenom v binární formě, ale i jako s obrázkem. Jednotlivé mezivýsledky všech operací lze ukládat a do obrázků lze téměř libovolně zapisovat. Je možné přidávat text, obarvovat části obrázku různými barvami např. pro rozlišení správně a špatně rozpoznaného dílu a mnoho dalšího. Uživatel je omezen v podstatě jenom okrajem upravovaného obrázku. Tyto upravené obrázky může vývojář prohlížet přímo ve vývojovém prostředí v tzv. ADS Image Watch a koncový uživatel je může vidět ve vizualizaci TwinCAT HMI. 

PLC a zpracování obrazu v jednom nástroji

TwinCAT Vision jednoduše spojuje klasickou automatizaci se zpracováním obrazu. Ze strany vývojáře se kamery konfigurují a geometricky kalibrují přímo ve vývojovém prostředí TwinCAT. Nejsou nutné žádné další vývojové nástroje. Zpracování obrazu se programuje v jazycích programování PLC, tedy IEC 61131, takže není nutná znalost žádného dalšího programovacího jazyka. Na výsledky zpracování obrazu je možné zareagovat přímo v PLC, a to hned na dalším řádku programu. Spouštění kamery signálem trigger ze systému reálného času zajišťuje synchronizaci získávání obrazových dat a aplikací logického řízení nebo řízení polohy a pohybu (motion). Algoritmy na zpracování obrazu jsou prováděny synchronně s řídicími úlohami přímo v real-time prostředí TwinCAT a umějí automaticky využít několik jader CPU, aniž by byla nutná dodatečná práce s paralelizací programu ze strany uživatele.

TwinCAT Vision míří na uživatele se zájmem o integraci algoritmů zpracování obrazu (vision) v běžném řízení, což zajišťuje jednoduchou obsluhu a programování. Prostředí TwinCAT Vision je také vhodné pro uživatele vyžadující vysokou úroveň synchronizace mezi zpracováním obrazu, PLC a řízením pohonů. Vykonávání algoritmů strojového vidění je monitorováno v čase, takže celý systém dokáže přímo a deterministicky reagovat na obrazové vstupy. V TwinCAT Vision lze jednoduše provádět běžné úlohy jako hledání a rozpoznávání dílů nebo jejich měření. V systému TwinCAT jsou již dlouho integrovány funkce logického řízení, řízení pohonů, robotiky a měření a nově mají uživatelé prostředí TwinCAT k dispozici i funkce pro zpracování obrazu. 

(BECKHOFF Česká republika, s. r. o.)

Obr. 1. TwinCAT Vision integruje zpracování obrazu do PLC

Obr. 2. PLC knihovna TwinCAT Vision