KUKA KRC4 $POS_ACT – nesoulad polohy po smyčce: řešení problémů s předstihem provádění
KUKA KRC4 $POS_ACT vrací po prvním cyklu smyčky programu dvojnásobný A-offset nástroje. Příčina byla vysledována k chování ukazatele předběžného zpracování.
U řídicích jednotek KUKA KRC4 se systémem KSS 8.2 nebo 8.3 programátoři občas pozorují, že proměnná $POS_ACT po první iteraci smyčky pohybové rutiny uvádí přibližně dvojnásobek zamýšleného posunu nástroje v ose A. Robot se fyzicky nepohnul skokem; ukazatel Advance Run pokračoval do následujících instrukcí, zatímco $POS_ACT stále odrážel zadanou polohu závislou na nástroji a základně, která již neodpovídala měření, jež programátor očekával k zaznamenání nebo použití jako reference rámce.
Displej programovacího panelu KUKA KRC4 porovnávající zadanou hodnotu $POS_ACT s naměřenou hodnotou $POS_ACT_MES během smyčky pohybového programu.
$POS_ACT je zadaná aktuální poloha ve smyslu naprogramované polohy řídicí jednotky transformované prostřednictvím aktivního nástroje a základny. Proto je citlivá na okamžik, kdy interpret pokračuje ve zpracování. $POS_ACT_MES je naměřená poloha ze zpětnovazební větve robota a je bezpečnější proměnnou, pokud potřebujete fyzickou polohu v synchronizačním bodě. Záměna těchto dvou proměnných vytváří příznaky „dvojnásobného posunu“, které po prvním cyklu vypadají jako chyba kalibrace nástroje, zejména když je posun nástroje v ose A použit uvnitř smyčky, kterou Advance Run již částečně vyhodnotil.
Ukazatel Advance Run jako mechanismus
Advance Run společnosti KUKA provádí nadcházející příkazy ještě předtím, než robot dosáhne přesného konce aktuálního pohybu. Toto předběžné načítání je nezbytné pro plynulé spojování drah, ale znamená, že přiřazení a výpočty rámců, které načítají $POS_ACT, mohou být provedeny dříve, než odpovídá lidské představě o okamžiku, „kdy dorazíme“. V první iteraci může načasování náhodou vypadat správně. Ve druhé iteraci se posun aplikovaný vůči předčasně načtené hodnotě $POS_ACT může sčítat s transformací nástroje a na displejích nebo v trasách se projevit jako přibližně dvojnásobná složka posunu v ose A.
Ilustrace ukazatele Advance Run, který pokračuje do logiky smyčky, zatímco robot stále dokončuje předchozí úsek pohybu.
Techniky nápravy
- Vložte WAIT SEC 0 do synchronizačního bodu, kde je nutné zastavit Advance Run před načtením nebo zápisem dat souvisejících s polohou.
- Při opětovné inicializaci pohybových parametrů zavolejte BAS(#INITMOV,0), aby následující pohyby vycházely z čistého základního stavu a nepřebíraly napůl vyhodnocený kontext.
- V částech, které provádějí kritické zachycení polohy, výpočty posunů nástroje nebo aktualizace rámců přenášené mezi iteracemi smyčky, nastavte $ADVANCE=0; později obnovte nenulovou hodnotu pro vyšší výrobní propustnost.
- Pokud aplikace potřebuje naměřenou kartézskou polohu, nikoli hodnotu závislou na ukazateli a příkazech, upřednostněte $POS_ACT_MES.
; Příklad synchronizačního vzoru (koncepční)
$ADVANCE=0
WAIT SEC 0
; Nyní zachyťte naměřenou polohu
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; Obnovte Advance podle požadavků buňky na plynulé spojování drah
$ADVANCE=3
Diagnostický postup
- Zaznamenejte $POS_ACT a $POS_ACT_MES na stejném řádku programu v první a druhé iteraci problematické smyčky.
- Ověřte, že se čísla aktivního nástroje a základny mezi iteracemi nezměnila.
- Dočasně nastavte $ADVANCE=0 a test zopakujte; pokud dvojnásobný posun v ose A zmizí, je potvrzena interakce s Advance Run.
- Nahraďte načítání polohy používané pro výpočty posunů proměnnou $POS_ACT_MES nebo je zabezpečte příkazem WAIT SEC 0.
- Advance Run znovu aktivujte pouze mimo kritickou část a ověřte dobu cyklu i kvalitu dráhy.
| Proměnná / volání | Význam | Kdy použít |
|---|---|---|
| $POS_ACT | Zadaná poloha (závislá na nástroji a základně) | Obecný kontext pohybu; pozor na Advance Run |
| $POS_ACT_MES | Naměřená poloha | Záznamy, kontroly a výpočty posunů v synchronizačních bodech |
| WAIT SEC 0 | Přeruší Advance Run | Před kritickými načteními a zápisy |
| BAS(#INITMOV,0) | Opětovně inicializuje základ pohybu | Po synchronizaci nebo změně režimu |
| $ADVANCE=0 | Deaktivuje Advance Run | Kritické části vyžadující přesnou práci s polohou (KSS 8.2/8.3) |
Potvrzení naměřené a zadané polohy po synchronizaci
Opětovná kalibrace nástroje jen proto, že $POS_ACT „vypadá jako dvojnásobná“, může trvale poškodit správně nastavený TCP. Stejně tak přidávání kompenzačních posunů v PLC nebo v interpretu Submit bez pochopení funkce Advance Run vytváří nekompatibilní opravy závislé na konkrétní verzi. Při pořizování tras pro podporu dodavatele zdokumentujte, kterou verzi KSS buňka používá — 8.2, nebo 8.3 — a uveďte, zda jsou aktivní možnosti absolutní přesnosti nebo speciální základny.
Buňky pro integraci robotů a PLC, které si vyměňují polohy přes průmyslovou sběrnici, by měly definovat, zda je sdílený rámec zadaný, nebo naměřený, a tuto definici uvést ve specifikaci rozhraní. Včasné sjednocení této smlouvy zabraňuje falešným událostem vyřazení, když sekvencer v systémech PLC a PAC spustí akci na základě polohy, které Advance Run ještě skutečně nedosáhl.
O autorce
Elena Vogt | Inženýrka integrace robotiky – KUKA / diskrétní výrobní buňky
Elena Vogt se specializuje na uvádění systémů KUKA KRC4/KSS do provozu, diagnostiku rámců nástrojů a handshaky mezi PLC a roboty v kombinovaných diskrétních buňkách. Zaměřuje se na vedlejší účinky Advance Run, proměnné naměřené a zadané polohy a stabilní kompromisy mezi dobou cyklu a kvalitou dráhy.