Aktuální vydání

celé číslo

03

2021

Digitální transformace, chytrá výroba, digitální dvojčata

Komunikační sítě, IIoT, kybernetická bezpečnost

celé číslo

TwinCAT Vision pre spracovanie obrazu

Spoločnosť Beckhoff už mnoho rokov ponúka softvérový nástroj TwinCAT pre spracovanie automatizačného kódu v reálnom čase. Počas tejto doby sa stal TwinCAT svetovým štandardom vo svete automatizácie. Skladá sa z množstva komponentov, pričom každý z nich rieši určitú problematiku v oblasti riadenia strojov. Beckhoff neustále rozširuje toto prostredie a jedným z posledných pridaných častí je TwinCAT Vision, ktorý je určený pre spracovanie obrazu.

 Pre spracovanie obrazu je nutné najprv dostať zachytené snímky z kamery do počítača. K tomu je určený ovládač pre zbernicu GigE Vision. Táto zbernica patrí medzi najpoužívanejšie komunikačné rozhrania pre priemyselné kamery. Ovládač GigE Vision umožní premístit snímku z kamery priamo do behového prostredia TwinCAT, kde je možné spracovať prijaté dáta.

Parametrizácia kamery je možná vo vývojovom prostredí TwinCAT, spolu s ostatnými časťami projektu. Taktiež je možné meniť nastavenia kamery priamo v kóde PLC.

Architektúra systému je na obr. 1. Na obr. 2 je znázornená parametrizácia kamery v prostredí TwinCAT. Obraz sa spracúva pomocou predpripravených algoritmov, ktoré sú zabalené do knižnice Tc3_Vision. Tieto algoritmy sa volajú vo forme funkcií v PLC. V knižnici sa nachádzajú aj funkčné bloky pre parametrizáciu a prácu s kamerou, rozhrania pre ukladanie snímok a výsledkov spracovania a mnohé ďalšie programové jednotky.

Jednotlivé programové prostriedky z knižnice TC3_Vision sa delí do týchto skupín:

  • TC3 Vision Base,
  • TC3 Vision Matching 2D,
  • TC3 Vision Code Reading,
  • TC3 Vision Metrology 2D.

Do skupiny TC3 Vision Base patria základné funkcie pre získanie snímky z kamery do PLC, filtrovanie obrazu, Furierovu analýzu, segmentáciu obrazu, detekciu kontúr a mnohé ďalšie základné funkcie pre spracovanie obrazu.

TC3 Vision Matching 2D umožňuje nájsť a porovnať objekty na základe naučených referencií, kontúr, hlavných bodov a ďalších vlastností.

TC3 Vision Code Reading zahrňuje funk­cie pre čítanie rozličných 1D a 2D kódov.

TC3 Vision Metrology 2D ponúka pro­striedky pre detekciu hrán, dier a kružnicových oblúkov, ako aj stanovenie ich dĺžok, vzdialeností, priemerov, uhlov a súradníc, všetko so sub-pixelovou presnosťou.

Pri ladení kódu pre spracovanie obrazu je možné pomocou nástroja ADS Image Watch sledovať priebeh a výsledok samotného spracovania. Tento nástroj je integrovaný do vývojového prostredia.

Príklad využitia programových prostriedkov TwinCAT pre zpracovanie obrazov je na obr. 3

Synchronizácia

Pri implementácii spracovania obrazu na výrobne stroje možno sa bežne stretnúť s koncepciou, kedy spracovanie prebieha buď priamo v kamere (v prípade tzv. smart kamier), alebo v počítači v užívateľskej oblasti operačného systému. Obe popisované riešenia nezaručujú deterministické reakcie v čase a je nutné riešiť posielanie spracovaných výsledkov do PLC vhodným komunikačným kanálom.

Keďže sa v prípade TwinCAT Vision spracovanie obrazu vykonáva v tom istom behovom prostredí ako vlastné riadenie stroja (PLC, riadenie pohonov a ďalšie), možno dosiahnuť veľmi presnú synchronizáciu jednotlivých častí výrobných zariadení, deterministické reakcie v čase a nie je treba riešiť problém posielania výsledkov zo spracovania obrazu. Navyše, ak sa použije priemyselná zbernica EtherCAT, možno využiť jej vstavaný mechanizmus distribuovaných hodín priamo s TwinCAT Vision. 

Paralelizácia výpočtov

Jednotlivé algoritmy pre spracovanie obrazu sú vložené do funkcií, ktoré je možné volať v kóde PLC. Skupina týchto funkcií podporuje paralelné spracovanie. V behovom prostredí to vyzerá tak, že ak sa v PLC má spracovávať funkcia, ktorá podporuje paralelné spracovanie, samotné vykonanie tejto funkcie sa uskutoční na jadrách procesoru, ktoré sú vložené do skupiny Vision Job-Pool (obr. 4). Do skupiny Vision Job-Pool sú vložené jadrá, na ktorých bude bežať Job-Task. Job-Task je špeciálny typ tasku (task sa stará o volanie jednotlivých programových jednotiek v behovom prostredí), ktorý sa na rozdiel od ostatných nevykonáva cyklicky, ale čaká na predanie úlohy od iného tasku. Keď Job--Task vykoná predanú úlohu, vráti spočítaný výsledok tasku, ktorý ho pôvodne zavolal. 

Záverom

Ak čtenárov spomínaná novinka zaujala, viac informácií môžu nájsť na www.beckhoff.cz, popr. sa môžu obrátiť na pracovníkov jej pobočky pre Česko a Slovensko v Brne (info.cz@beckhoff.com).

 

(BECKHOFF Automation, s. r. o.)

Obr. 1. Architektúra TwinCAT Vision

Obr. 2. Parametrizácia kamery v prostredí TwinCAT

Obr. 3. Použitie algoritmov pre spracovanie obrazu v prostredí TwinCAT

Obr. 4. Ukážka rozdelenia jadier procesoru v prostredí TwinCAT