Logický program

Popis

Aplikácie PolyScope X môžu obsahovať logický program , ktorý beží nepretržite na pozadí, nezávisle od hlavného programu robota. Toto je užitočné pre úlohy, ktoré musia bežať aj vtedy, keď je rameno vypnuté, hlavný program je pozastavený alebo zastavený, alebo keď operátor vstúpil do bezpečnostnej zóny.


Medzi typické použitia patrí udržiavanie komunikácie prostredníctvom poľovej zbernice (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC), reakcia na vstupy z externých senzorov, hlásenie stavu robota do výrobného PLC a ovládanie externých zariadení v prípade zastavenia hlavného programu.

Logický program nemôže používať funkcie, ktoré priamo pohybujú ramenom robota, menia užitočné zaťaženie alebo upravujú parametre TCP.

Príklady aplikácií s logickým programom

  1. Aktívna reakcia na vstup z externého senzora, keď je robot v režime zastavenia, ako je napríklad bezpečnostné zastavenie, ochranné zastavenie alebo Núdzové zastavenie, a hlavný program je pozastavený alebo zastavený, alebo pred zapnutím ramena robota.

  2. Komunikácia prostredníctvom poľovej zbernice (Modbus, Ethernet/IP, PROFINET, Socket, XmlRPC) je zachovaná aj v prípade, že je rameno robota vypnuté a program nebeží.

  3. Neprerušovaná prevádzka logických buniek aj v prípade, že je hlavný program prerušený obsluhou.

  4. Správa o stave robota, ktorá sa odosiela do softvéru na riadenie výroby (výrobný PLC).

  5. Riadené zastavenie externých zariadení, ako sú zváračka, dopravník alebo dávkovač lepidla, keď sa hlavný program zastaví alebo pozastaví.

  6. Pred spustením programu sa zaznamenajú údaje zadané obsluhou.

  7. Prispôsobené zotavenie v dôsledku poruchových stavov. Operátor sa môže rozhodnúť, čo urobiť po obnovení hlavného programu.

  8. Výmena externého PLC regulátora v malých robotických bunkách.

Licencia

Program Logic vyžaduje licenciu, ktorú je možné zakúpiť prostredníctvom zákazníckeho portálu.

 

Ovládanie logického programu

Na stránke Program vyberte v bočnom paneli položku Logický program . Rozbalený bočný panel zobrazuje ovládacie prvky na navigáciu v rôznych častiach logického programu. Umožňuje tiež spustiť, pozastaviť, zastaviť a vynulovať program.

 

Tlačidlo „Spustiť program“ sa zmení buď na „Spustiť program“, alebo na „Zastaviť program“, v závislosti od stavu logického programu. Slúži ako skratka pre akcie ovládania programu dostupné v kontextovom menu programu Logic.

Štyri indikátory logického programu zobrazujú aktuálny stav programu. Tiež uvádzajú, či je program nastavený tak, aby sa spúšťal automaticky pri načítaní aplikácie.

 

Štruktúra logického programu

Logický program má rovnaké štrukturálne časti ako hlavný program:

  • Hlavné telo programu — beží nepretržite, kým nie je zastavené ručne, pomocou príkazu zastavenia alebo v dôsledku chyby behu programu.
  • Pred spustením — spustí sa raz pri spustení logického programu.
  • Moduly — funkcie a vlákna, usporiadané rovnako ako v hlavnom programe. Funkcie vlákna sa štandardne vykonávajú len raz; ak chcete, aby sa vlákno spúšťalo nepretržite, aktivujte možnosť „loop“.

Program robota a logický program majú každý svoj vlastný súbor globálnych premenných, nezávislý fond vlákien a nezávislý životný cyklus vykonávania. Spustenie, zastavenie alebo porucha jedného programu nezastaví druhý program. Príkaz na zastavenie alebo pozastavenie má vplyv iba na program, v ktorom sa vykonáva.

 

 

V časti Pred spustením môžete program spustiť len raz.

V sekcii Moduly nájdete zoznam funkcií a vlákien, ktoré sú k dispozícii pre program.

 

Výmena údajov s programom robota

Hlavným spôsobom komunikácie medzi programom robota a logickým programom sú aplikačné premenné . Premenné je možné nastaviť aj načítať z robota a logického programu.

Tento príklad počíta položky vstupujúce do vstupného vyrovnávacieho pamäťového priestoru robotickej bunky a zobrazuje ich počet v programe robota. Počítadlo sa naďalej zvyšuje aj vtedy, keď je rameno robota vypnuté.

 

Čítanie stavu robota

Stav robota je dostupný prostredníctvom vstavaných premenných RTDE . Tieto premenné je možné načítať pomocou skriptovej funkcie get_rtde_value() . Úplný zoznam dostupných polí RTDE nájdete v Príručke RTDE .

Nasledujúci príklad ukazuje, ako skontrolovať, či je funkcia Safeguard Stop aktívna:


safety_status = get_rtde_value("safety_status")
# kontrola stavu bezpečnostného zastavenia a automatického režimu bezpečnostného zastavenia
is_safeguard_stop_active = (safety_status == 5 or safety_status == 12)

 

Nasledujúci príklad overuje, či je program robota pozastavený:

is_program_paused = get_rtde_value("runtime_state") == 4

Túto funkcionalitu zahŕňa aj rozhranie URScript Control API.

 

Automatické spustenie logického programu

Môžete vybrať program, ktorý sa má spustiť automaticky pri načítaní aplikácie. Ak zvolíte možnosť Autostart , logický program sa spustí ihneď po načítaní aplikácie.

Logický program môžete tiež spustiť automaticky pri zapnutí riadiacej jednotky robota a načítaní poslednej aplikácie.

Funkcia Autostart funguje bez ohľadu na prevádzkový režim alebo stav ramena robota. Keď sa pri načítaní spustí funkcia Autostart, oznámenie v lište potvrdí, že sa spustil logický program.

 

 

Ikona na bočnom paneli pri ikone Logický program vždy označuje aktuálny stav programu – či už beží, alebo je zastavený.

Je vašou zodpovednosťou zabezpečiť, aby bol logický program bezpečný pri zapnutí robota a pri načítaní rôznych aplikácií.

Logické programy môžu aktivovať a deaktivovať externé zariadenia pomocou káblových alebo PLC pripojení (Modbus, PROFINET, Ethernet/IP, Socket, priame výstupy alebo iné rozhrania).

 

Moduly a vlákna

Funkcie logického programu je možné usporiadať do funkcií. Funguje to rovnako ako v programe robota.

Každú funkciu je možné označiť ako vlákno . V predvolenom nastavení sa vlákna vykonávajú len raz. Zaškrtnite políčko Loop pri funkcii vlákna, aby sa vlákno vykonávalo nepretržite.

 

Zdieľanie zdrojov

Hoci sa program robota a logický program vykonávajú nezávisle, každý so svojím vlastným súborom vlákien a premenných, všetky zdieľajú rovnaké hardvérové zdroje. To so sebou prináša niekoľko obmedzení, ktorých by si mal programátor byť vedomý:

  • Vlákna logického programu sa vykonávajú na tom istom procesore ako program robota. Doba vykonávania všetkých vlákien logického programu sa pripočíta k dobe vykonávania všetkých vlákien robotického programu. V extrémnych prípadoch to môže viesť k porušeniu pravidla „Runtime too much behind“.

  • Niektoré komunikačné zdroje, ako napríklad signály Modbus alebo registre všeobecného účelu, sú zdieľanými zdrojmi. Záznam do rovnakého registra v rovnakom čase môže mať neočakávané následky. Okrem toho sa súčasné správanie môže v budúcnosti zmeniť, keď dôjde k optimalizácii základnej implementácie.

  • Modbus — Používa sa jeden klient Modbus. Signály vytvorené v ktoromkoľvek z programov sú viditeľné v oboch.

  • Flexibilný adaptér Ethernet/IP — Každý program otvorí vlastnú čítaciu alebo zapisovaciu rukoväť pre tú istú inštanciu. Rukoväte nesmú zapisovať do rovnakých dátových polí.

 

Obmedzenia

  • V logickom programe je k dispozícii len podmnožina inštrukcií URScript.

  • Indikátory vykonávania programu a ladenie pomocou bodov prerušenia nie sú pre logický program podporované.

  • Režim tlmočníka nie je v logických programoch podporovaný. Režim interpretátora však možno spustiť v programe robota aj počas behu logického programu.