SpeedRefresh

  • Hallo,


    ich habe versucht, den Programmoverride OP-Mode abhängig zu setzen:



    ! ########### Overide setzen ######################
    ! Speedrefresh setzt nur wenn Wert < als am Flexpendant!!!!!!!
    PROC rSetOverRide(NUM nNewOverride, \switch Set | switch Restore )
    IF Present(Set) AND (NOT Present(Restore)) THEN
    ! aktuellen Override speichern
    nAcOverride:= CSpeedOverride();
    ! Override nur im AUTOMATIK-Betrieb setzen
    TEST OpMode()
    CASE OP_AUTO:
    SpeedRefresh nNewOverride;
    ! in TRAP Speedrefresh wird Speed zeitzyklisch auf gesetzt nAckSPEED gestetzt!
    nAckSPEED:=nNewOverride;
    CASE OP_MAN_PROG: ! Einrichtbetrieb max. 250mm/sec
    SpeedRefresh 100;
    ! in TRAP Speedrefresh wird Speed zeitzyklisch auf gesetzt nAckSPEED gestetzt!
    nAckSPEED:=100;
    CASE OP_MAN_TEST: ! Einrichtbetrieb 100%
    SpeedRefresh 25;
    ! in TRAP Speedrefresh wird Speed zeitzyklisch auf gesetzt nAckSPEED gestetzt!
    nAckSPEED:=25;
    ENDTest


    ENDIF


    IF Present(Restore) AND (NOT Present(Set)) THEN
    SpeedRefresh nAcOverride;
    ENDIF
    ENDPROC



    Die Prozedur wird bei Programmstart im Initialisierungsteil aufgerufen. Setze ich den Roboter am Flexpendat auf 100% und startet das Programm, bleibt der Override auf 100%, auch wenn per Programm auf 25% gesetzt wird.


    Nun habe ich eine Zeitinterrupt definiert, der alle 2 Sekunden folgende TRAP-Routine aufruft:


    TRAP speed_refresh


    SpeedRefresh nAckSPEED;
    TPWRITE " Refreshed oder was??" \Num:=nAckSPEED;


    ENDTRAP


    Der TRAP läuft zyklisch, den Override beeinflusst das in keinster Weise, weder Anzeige am Pendant noch die Geschwindigkeit am Robo! Die Anweisung SpeedRefresh scheint ohne Wirkung zu sein??????? (IRC5 RW 5.12)


    Mir ist klar, das ich die vom Flexpendant vorgegebene Geschwindigkleit dominiert!
    Wie macht man beim ABB mit dieser Einschränkung Suchfahrten mit stets konstanter Geschwindigkeit ??


    Habe eine Bewegungstask, eine NoMotion-Task(NORMAL) und eine zykl. Task (SEMISTATIC) im System!
    Den Speedrefresh mach ich in der Motion-Task!



    Danke für Eure Hilfe


    dust2

  • ANZEIGE
  • Diese Instruktion kann nur in der Haupttask T_ROB1 verwendet werden, ist dem so!??

  • wenn du über SpeedRefresh 25 die Geschwindigkeit von 100 auf 25 setzt bleibt die Geschwindigkeit am Felx weiterhin auf 100 aber die Bewegung sollte ab jetzt 25 sein, wenn der SpeedRefresh Wert > dem Flex Wert ist wird der niederigere Wert verwendet!

  • Ja hast Recht! Hab mal 1% eingetragen, nun sehe ich, das der Roboter tatsächlich langsamer läuft, die Anzeige bleibt auf 100%! Da mein Roboter noch nicht verdübelt ist, kann ich nur im Bereich 0-25% fahren, da war der Unterschied zwischen 10 und 20% kaum zu sehen und ich hatte erwartet, das die Anzeige auch die programmierte Geschwindigkeit anzeigt!


    Bleiben folgende Fragen:
    1. Wie macht man beim ABB Suchfahrten mit stets konstanter Geschwindigkeit unabhängig des eingestellten Override am FlexPendant?
    2. Wie ist das bei Conveyortracking, wenn das Band mit 30m/min läuft und der Bediener am Flexpendant 10% einstellt? Wenn es keine Möglichkeit gibt, die Geschwindigkeit wenigstens in der Synchronphase hochzusetzen, fährt der Roboter jedesmal in die Achs-Begrenzung?

  • Leute, Leute,
    ich hab gerade zum ersten Mal 'nen IRC5 in der Hand.
    Das was ihr da schreibt, funzt bei dem hier (SW-Version 5.06) gar nicht.


    Der Robbi bietet das in seinem Befehlsmenü doch schon selbst an.


    Das ganze nennt sich vel set


    Vor Produktaufnahme:
    !Speedwerte auf 100% setzen
    VelSet 100, 7000;
    SetGO goSpeedAnSPS, 100;


    Wenn Produkt gegriffen:
    !Speedwerte von SPS zusweisen
    VelSet giSpeedVonSPS, 7000;
    SetGO goSpeedAnSPS, giSpeedVonSPS;


    Wenn Produkt abgelegt:


    Vor Produktaufnahme:
    !Speedwerte auf 100% setzen
    VelSet 100, 7000;
    SetGO goSpeedAnSPS, 100;


    Steht das TP auf 100 und er bekommt 50 gesagt, dann fährt er mit 50 von 100.
    Steht das TP auf 50und er bekommt 50 gesagt, dann fährt er mit 50 von 50, also 25.
    Was will man mehr???


    Schreit ihr bei Fanuc auch gleich immer nach Karel wenn es ums Palletieren geht??? :waffen100:

  • Hallo,


    SpeedRefresh gibt es erst seit der Robotware 5.09, so dass alle vorherigen Versionen mit der Instruktionen Velset auskommen mussten.


    SpeedRefresh arbeitet unabhängig von dem am Flexpendant eingestelltem Override und ist Bewegungstaskbezogen.


    Über die Instruktion CSpeedOverride() kann der am Flexpendant eingestellte Systemoverride ausgelesen werden, aber durch SpeedRefresh nicht beinflusst werden.


    Der über SpeedRefresh eingestellte Override wird über die Funktion CSpeedOverride(\CTask) ausgelesen.


    Die beiden Overides beinflussen sich gegenseitig, da die einzelnen Prozentwerte multipliziert werden
    z.B. Systemoveride 50%, SpeedRefresh 75% ==> Resultiernder Override = 0.5 * 0.75 = 0,375 = 37,5%


    Gruß
    Micky

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden