#07 Programovacie jazyky

Programovanie rôznymi metódami

Okrem už spomínaného rozdelenia spôsobov programovania na online a offline programovanie, je možné ich rozdeliť ešte aj na na manuálne automatické programovanie.

Manuálne programovanie

Je založené na princípe manuálneho zadávania všetkých potrebných inštrukcií a krokov. Tento spôsob programovania ešte môžeme rozdeliť na textové a grafické programovanie.

  • Textové - Založené na princípe programovania pomocou programovacích jazykov. Ďalej sa delí podľa podľa typu jednotlivých príkazov a štruktúry programu. Program je založený na sekvencii príkazov. Táto sekvencia môže obsahovať rôzne cykly. Z hľadiska vlastností a štruktúry programu je možné ich ďalej rozdeliť.
  • Grafické - Využíva rôzne grafické prvky, ako napríklad vývojové diagramy, rôzne grafy a schémy. Za posledné roky došlo k vývoju grafických metód, hlavne z dôvodu, že tvorba programu je jednoduchšia a zaberie menej času.

Automatické programovanie

Je založené na princípoch výučby a demonštačných metódach. Výsledkom automatického programovania je automatické generovanie jednotlivých krokov programu založené na demonštrácii alebo "ukážke" danej úlohy. Bežným prípadom je využitie Teach Pendantu. Referenčná dráha robota je uložená do pamäte a presne kopírovaná pri každom spustení programu.

Programovacie jazyky

Pri programovaní sú využívané rôzne programovacie jazyky, či už všeobecné, alebo určené pre jeden typ robota/výrobcu. Tieto jazyky majú často špeciálne funkcie, ktoré popisujú riešenia problematiky robotov alebo manipulátorov. Môžme ich rozdeliť do niekoľkých kategórií:

  • Špecializované jazyky - Novovytvorené jazyky, špecializované na popísanie funkcií robotov alebo manipulátorov. Príkladom môže byť napríklad VAL (Variable Assembly Language). Tento jazyk bol vytvorený na ovládanie priemyselných robotov spoločnosti Unimation.
  • Knižnice rozširujúce existujúce programovacie jazyky - Tieto jazyky boli vytvorené rozšírením klasických počítačových programovacích jazykov o knižnice popisujúce cykly špecifické pre roboty.
  • Knižnice určené pre nové všeobecné jazyky - Boli vyvinuté vytvorením nového všeobecného programovacieho jazyka a následným vytvorením knižníc pre robotické cykly. Príkladom takýchto jazykov sú napríklad RAPID (ABB), KAREL (Fanuc).
  • "Task-level" jazyky - Umožňujú zjednodušené programovanie jednotlivých úloh. Všetky potrebné pokyny pre vykonanie požadovanej úlohy je možné zadať priamo, namiesto špecifikovania každého jedného kroku robota. Programátor tak môže zadávať inštrukcie na vyššej úrovni ako v predošlých prípadoch. Napríklad, pokiaľ je spustená inštrukcia pre uchopenie objektu, systém musí naplánovať dráhu vďaka ktorej je možné sa vyhnúť kolíziám, automaticky zvoliť ideálnu polohu pre uchopenie objektu a uchopiť požadovaný objekt.

Zvyčajne jednotliví výrobcovia využívajú rôzne programovacie jazyky:

KUKA KRL
Comau PDL
ABB RAPID
Kawasaki AS
Fanuc KAREL
Universal Robots URScript

Odlišné jazyky majú samozrejme aj odlišnú syntax:

Kĺbový pohyb Lineárny pohyb Rýchlosť Zakrivenie
ABB MoveJ MoveL speeddata zonedata
KUKA PTP LIN VEL APO-DIST
Fanuc J L speed CNT
Yaskawa MOVEJ MOVEL VJ/V PL

Každý programovací jazyk má svoju syntax pre všetky inštrukcie, ktoré je potrebné zadávať pri programovaní úlohy. Jednotlivé inštrukcie sú zadávané do riadkov programu, podobne ako pri klasickom počítačovom programovaní. Výsledkom celého procesu je vykonanie pracovného cyklu robota - úlohy pre ktorú bol určený. V súčasnosti sú možnosti využitia robotov veľmi rozsiahle, či už ide o manipuláciu, montáž, obrábanie, zváranie, konštruovanie, kolaboráciu s človekom a pod.  

Autor: Jakub Michalčík | Daily Automation

  Zdroje: