KUKA KRC4 $POS_ACT Position Mismatch After Loop: Advance Run Troubleshooting — figure 1

KUKA KRC4 $POS_ACT pozícióeltérés ciklus után: az előrefutás hibaelhárítása

A KUKA KRC4 $POS_ACT a program első ciklusának lefutása után a szerszámadat A-eltolásának kétszeresét adja vissza. A kiváltó okot az előrefutási mutató működ...

A KSS 8.2 vagy 8.3 rendszert futtató KUKA KRC4 vezérlőkön a programozók időnként azt tapasztalják, hogy a $POS_ACT egy mozgási rutin első ciklusiterációja után nagyjából a kívánt szerszám-A-eltolás kétszeresét jelzi. A robot fizikailag nem ugrott meg; az Advance Run Pointer továbbhaladt a következő utasításokra, miközben a $POS_ACT továbbra is egy parancsolt, szerszám- és bázisfüggő pozíciót tükrözött, amely már nem egyezett azzal a méréssel, amelyet a programozó naplózni vagy koordinátarendszer-referenciaként használni kívánt.

KUKA KRC4 $POS_ACT pozícióeltérés ciklus után: hibaelhárítás az Advance Run használatával — 1. ábra A KUKA KRC4 kezelőpanelének kijelzője a parancsolt $POS_ACT értéket hasonlítja össze a mért $POS_ACT_MES értékkel egy ciklikus mozgásprogramban.

A $POS_ACT a vezérlő programozott pozícióértelmezése szerint a parancsolt aktuális pozíció. Az aktív szerszámon és bázison keresztül transzformálódik, ezért érzékeny arra, hogy mikor lép tovább az interpreter. A $POS_ACT_MES a robot visszacsatolási útvonalából származó mért pozíció, ezért biztonságosabb változó, ha egy szinkronizálási ponton a fizikai pozícióra van szükség. A kettő összetévesztése „kettős eltolás” jellegű tüneteket okoz, amelyek az első ciklus után szerszámkalibrálási hibának tűnhetnek, különösen akkor, ha egy A-tengelyű szerszámeltolást olyan cikluson belül alkalmaznak, amelyet az Advance Run már részben kiértékelt.

Az Advance Run Pointer működési mechanizmusa

A KUKA Advance Run funkciója a következő utasításokat még azelőtt végrehajtja, hogy a robot elérné az aktuális mozgás pontos végét. Ez az előreolvasás elengedhetetlen a pályaátmenetekhez, ugyanakkor azt jelenti, hogy a $POS_ACT értékét beolvasó hozzárendelések és koordinátarendszer-számítások hamarabb futhatnak le, mint ahogy azt az emberi „amikor megérkezünk” elképzelés sugallná. Az első iterációban az időzítés véletlenül helyesnek tűnhet. A második iterációban egy idő előtt beolvasott $POS_ACT-hoz képest alkalmazott eltolás összeadódhat a szerszámtranszformációval, és a kijelzőkön vagy a nyomkövetésekben az A-eltolás komponensének körülbelül kétszereseként jelenhet meg.

KUKA KRC4 $POS_ACT pozícióeltérés ciklus után: hibaelhárítás az Advance Run használatával — 2. ábra Az Advance Run Pointer szemléltetése, amely továbbhalad a cikluslogikában, miközben a robot még befejezi az előző mozgásszakaszt.

Javítási technikák

  • Illesszen be WAIT SEC 0 utasítást azon a szinkronizálási ponton, ahol a pozícióadatok olvasása vagy írása előtt meg kell állítani az Advance Run működését.
  • Használja a BAS(#INITMOV,0) hívást a mozgásparaméterek újrainicializálásakor, hogy a következő mozgások tiszta bázisállapotból induljanak, és ne örököljenek egy részben kiértékelt környezetet.
  • Állítsa a $ADVANCE értékét 0-ra azokban a szakaszokban, amelyek kritikus pozíciórögzítést, szerszámeltolás-számítást vagy ciklusokon átívelő koordinátarendszer-frissítést végeznek; a gyártási teljesítmény érdekében később állítsa vissza nem nulla értékre.
  • Ha az alkalmazásnak a parancsolt, mutatófüggő érték helyett a mért derékszögű pozícióra van szüksége, részesítse előnyben a $POS_ACT_MES használatát.
; Példa szinkronizálási mintára (elvi)
$ADVANCE=0
WAIT SEC 0
; A mért pozíció most rögzíthető
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; A cella igényei szerint állítsa vissza az Advance Run funkciót
$ADVANCE=3

Diagnosztikai sorrend

  1. Rögzítse a $POS_ACT és a $POS_ACT_MES értékét ugyanazon a programsoron a hibás ciklus 1. és 2. iterációjában.
  2. Ellenőrizze, hogy az aktív szerszám- és bázisszám nem változott-e az iterációk között.
  3. Ideiglenesen állítsa a $ADVANCE értékét 0-ra, majd ismételje meg a tesztet; ha a kettős A-eltolás eltűnik, az Advance Run hatása igazolható.
  4. Az eltolásszámításhoz használt pozícióbeolvasásokat cserélje le $POS_ACT_MES használatára, vagy védje őket WAIT SEC 0 utasítással.
  5. Az Advance Run funkciót csak a kritikus szakaszon kívül vezesse vissza, majd ellenőrizze a ciklusidő és a pályaminőség közötti kompromisszumot.
Változó / hívás Jelentés Mikor használja
$POS_ACT Parancsolt pozíció (szerszám- és bázisfüggő) Általános mozgási környezet; az Advance Run használatakor körültekintéssel
$POS_ACT_MES Mért pozíció Naplózáshoz, ellenőrzésekhez és szinkronizálási pontokon végzett eltolásszámításhoz
WAIT SEC 0 Megszakítja az Advance Run működését Kritikus olvasások és írások előtt
BAS(#INITMOV,0) Újrainicializálja a mozgásbázist Szinkronizálás vagy üzemmódváltás után
$ADVANCE=0 Letiltja az Advance Run funkciót Szorosan pozíciókritikus szakaszokban (KSS 8.2/8.3)

A mért és a parancsolt pozíció ellenőrzése szinkronizálás után

Ha a $POS_ACT „kétszeresnek” tűnik, a szerszám újrakalibrálása véglegesen károsíthat egy jól beállított TCP-t. Hasonlóképpen, ha a kompenzáló eltolásokat a PLC-ben vagy egy Submit interpreterben adják hozzá az Advance Run működésének megértése nélkül, az verzióhoz kötött, nehezen karbantartható megoldásokhoz vezethet. A gyártói támogatás számára készített nyomkövetéseknél dokumentálja, hogy a cella melyik KSS-verziót futtatja — 8.2-t vagy 8.3-at —, és jegyezze fel, hogy aktívak-e abszolút pontossági opciók vagy speciális bázisok.

Azoknak a robot- és PLC-integrációs celláknak, amelyek terepi buszon keresztül pozíciókat cserélnek, meg kell határozniuk, hogy a megosztott koordinátarendszer parancsolt vagy mért pozíción alapul-e, és ezt a meghatározást rögzíteniük kell az interfészspecifikációban. Ennek a szerződésnek a korai egyeztetése megelőzi a téves selejtezési eseményeket, amikor egy PLC- és PAC-rendszerek szekvenszere olyan pozícióra reagál, amelyet az Advance Run még nem ért el ténylegesen.

A szerzőről

Elena Vogt | Robotintegrációs mérnök – KUKA / Diszkrét cellák

Elena Vogt KUKA KRC4/KSS üzembe helyezésére, szerszám-koordinátarendszerek diagnosztikájára, valamint vegyes diszkrét cellák PLC–robot kézfogási folyamataira specializálódott. Munkája az Advance Run mellékhatásaira, a mért és a parancsolt pozícióváltozók közötti különbségekre, valamint a ciklusidő és a stabil működés közötti kompromisszumokra összpontosít.

KUKA KRC4 $POS_ACT pozícióeltérés ciklus után: az előrefutás hibaelhárítása

A KUKA KRC4 $POS_ACT a program első ciklusának lefutása után a szerszámadat A-eltolásának kétszeresét adja vissza. A kiváltó okot az előrefutási mutató működésére vezették vissza.

A KSS 8.2 vagy 8.3 rendszert futtató KUKA KRC4 vezérlőkön a programozók időnként azt tapasztalják, hogy a $POS_ACT egy mozgási rutin első ciklusiterációja után nagyjából a kívánt szerszám-A-eltolás kétszeresét jelzi. A robot fizikailag nem ugrott meg; az Advance Run Pointer továbbhaladt a következő utasításokra, miközben a $POS_ACT továbbra is egy parancsolt, szerszám- és bázisfüggő pozíciót tükrözött, amely már nem egyezett azzal a méréssel, amelyet a programozó naplózni vagy koordinátarendszer-referenciaként használni kívánt.

KUKA KRC4 $POS_ACT pozícióeltérés ciklus után: hibaelhárítás az Advance Run használatával — 1. ábra A KUKA KRC4 kezelőpanelének kijelzője a parancsolt $POS_ACT értéket hasonlítja össze a mért $POS_ACT_MES értékkel egy ciklikus mozgásprogramban.

A $POS_ACT a vezérlő programozott pozícióértelmezése szerint a parancsolt aktuális pozíció. Az aktív szerszámon és bázison keresztül transzformálódik, ezért érzékeny arra, hogy mikor lép tovább az interpreter. A $POS_ACT_MES a robot visszacsatolási útvonalából származó mért pozíció, ezért biztonságosabb változó, ha egy szinkronizálási ponton a fizikai pozícióra van szükség. A kettő összetévesztése „kettős eltolás” jellegű tüneteket okoz, amelyek az első ciklus után szerszámkalibrálási hibának tűnhetnek, különösen akkor, ha egy A-tengelyű szerszámeltolást olyan cikluson belül alkalmaznak, amelyet az Advance Run már részben kiértékelt.

Az Advance Run Pointer működési mechanizmusa

A KUKA Advance Run funkciója a következő utasításokat még azelőtt végrehajtja, hogy a robot elérné az aktuális mozgás pontos végét. Ez az előreolvasás elengedhetetlen a pályaátmenetekhez, ugyanakkor azt jelenti, hogy a $POS_ACT értékét beolvasó hozzárendelések és koordinátarendszer-számítások hamarabb futhatnak le, mint ahogy azt az emberi „amikor megérkezünk” elképzelés sugallná. Az első iterációban az időzítés véletlenül helyesnek tűnhet. A második iterációban egy idő előtt beolvasott $POS_ACT-hoz képest alkalmazott eltolás összeadódhat a szerszámtranszformációval, és a kijelzőkön vagy a nyomkövetésekben az A-eltolás komponensének körülbelül kétszereseként jelenhet meg.

KUKA KRC4 $POS_ACT pozícióeltérés ciklus után: hibaelhárítás az Advance Run használatával — 2. ábra Az Advance Run Pointer szemléltetése, amely továbbhalad a cikluslogikában, miközben a robot még befejezi az előző mozgásszakaszt.

Javítási technikák

  • Illesszen be WAIT SEC 0 utasítást azon a szinkronizálási ponton, ahol a pozícióadatok olvasása vagy írása előtt meg kell állítani az Advance Run működését.
  • Használja a BAS(#INITMOV,0) hívást a mozgásparaméterek újrainicializálásakor, hogy a következő mozgások tiszta bázisállapotból induljanak, és ne örököljenek egy részben kiértékelt környezetet.
  • Állítsa a $ADVANCE értékét 0-ra azokban a szakaszokban, amelyek kritikus pozíciórögzítést, szerszámeltolás-számítást vagy ciklusokon átívelő koordinátarendszer-frissítést végeznek; a gyártási teljesítmény érdekében később állítsa vissza nem nulla értékre.
  • Ha az alkalmazásnak a parancsolt, mutatófüggő érték helyett a mért derékszögű pozícióra van szüksége, részesítse előnyben a $POS_ACT_MES használatát.
; Példa szinkronizálási mintára (elvi)
$ADVANCE=0
WAIT SEC 0
; A mért pozíció most rögzíthető
DECL FRAME MySnap
MySnap = $POS_ACT_MES
BAS(#INITMOV,0)
; A cella igényei szerint állítsa vissza az Advance Run funkciót
$ADVANCE=3

Diagnosztikai sorrend

  1. Rögzítse a $POS_ACT és a $POS_ACT_MES értékét ugyanazon a programsoron a hibás ciklus 1. és 2. iterációjában.
  2. Ellenőrizze, hogy az aktív szerszám- és bázisszám nem változott-e az iterációk között.
  3. Ideiglenesen állítsa a $ADVANCE értékét 0-ra, majd ismételje meg a tesztet; ha a kettős A-eltolás eltűnik, az Advance Run hatása igazolható.
  4. Az eltolásszámításhoz használt pozícióbeolvasásokat cserélje le $POS_ACT_MES használatára, vagy védje őket WAIT SEC 0 utasítással.
  5. Az Advance Run funkciót csak a kritikus szakaszon kívül vezesse vissza, majd ellenőrizze a ciklusidő és a pályaminőség közötti kompromisszumot.
Változó / hívás Jelentés Mikor használja
$POS_ACT Parancsolt pozíció (szerszám- és bázisfüggő) Általános mozgási környezet; az Advance Run használatakor körültekintéssel
$POS_ACT_MES Mért pozíció Naplózáshoz, ellenőrzésekhez és szinkronizálási pontokon végzett eltolásszámításhoz
WAIT SEC 0 Megszakítja az Advance Run működését Kritikus olvasások és írások előtt
BAS(#INITMOV,0) Újrainicializálja a mozgásbázist Szinkronizálás vagy üzemmódváltás után
$ADVANCE=0 Letiltja az Advance Run funkciót Szorosan pozíciókritikus szakaszokban (KSS 8.2/8.3)

A mért és a parancsolt pozíció ellenőrzése szinkronizálás után

Ha a $POS_ACT „kétszeresnek” tűnik, a szerszám újrakalibrálása véglegesen károsíthat egy jól beállított TCP-t. Hasonlóképpen, ha a kompenzáló eltolásokat a PLC-ben vagy egy Submit interpreterben adják hozzá az Advance Run működésének megértése nélkül, az verzióhoz kötött, nehezen karbantartható megoldásokhoz vezethet. A gyártói támogatás számára készített nyomkövetéseknél dokumentálja, hogy a cella melyik KSS-verziót futtatja — 8.2-t vagy 8.3-at —, és jegyezze fel, hogy aktívak-e abszolút pontossági opciók vagy speciális bázisok.

Azoknak a robot- és PLC-integrációs celláknak, amelyek terepi buszon keresztül pozíciókat cserélnek, meg kell határozniuk, hogy a megosztott koordinátarendszer parancsolt vagy mért pozíción alapul-e, és ezt a meghatározást rögzíteniük kell az interfészspecifikációban. Ennek a szerződésnek a korai egyeztetése megelőzi a téves selejtezési eseményeket, amikor egy PLC- és PAC-rendszerek szekvenszere olyan pozícióra reagál, amelyet az Advance Run még nem ért el ténylegesen.

A szerzőről

Elena Vogt | Robotintegrációs mérnök – KUKA / Diszkrét cellák

Elena Vogt KUKA KRC4/KSS üzembe helyezésére, szerszám-koordinátarendszerek diagnosztikájára, valamint vegyes diszkrét cellák PLC–robot kézfogási folyamataira specializálódott. Munkája az Advance Run mellékhatásaira, a mért és a parancsolt pozícióváltozók közötti különbségekre, valamint a ciklusidő és a stabil működés közötti kompromisszumokra összpontosít.

Hozzászólás írása

Felhívjuk a figyelmedet, hogy a hozzászólásokat jóvá kell hagyni a közzétételük előtt.