Bewegung mit einer Variable erweitern

  • Hallo zusammen,


    ich hatte bisher nur die Programmierschulung 1 bei KUKA. Nun möchte ich eine For-Schleife programmieren, wo der Roboter im globalen Koordinatensystem, in der Y-Richtung hin und her fährt. Der Roboter fährt also zuerst in einer SPTP-Fahrt auf eine Position und von der aus in einer Schleife um 100 mm in Y-Richtung vor und zurück. Sieht bisher wie folgt aus:


    SPTP {X 400, Y 400, Z -100, A 0, B 0, C 0}

    FOR N = 1 to 5

    SLIN_REL   {Y 100} C_DIS

    SLIN_REL   {Y -100} C_DIS

    END FOR


    Jetzt möchte ich, dass bei jedem Durchlauf der Schleife der Wert von Y sich um 10 mm erhöht. Ich habe mir überlegt, dass das mit einer Variable umgesetzt wird. Im Kopf habe ich mir das so vorgestellt:


    DECL REAL i


    FOLD INI

    FOLD SPTP HOME


    SPTP {X 400, Y 400, Z -100, A 0, B 0, C 0}


    i = 0


    FOR N = 1 to 5

    SLIN_REL   {Y 100+i} C_DIS

    SLIN_REL   {Y -(100+2*i)} C_DIS

    i = i+10

    END FOR


    Leider funktioniert es so nicht. Ich kann keine Variablen innerhalb der geschweiften Klammern für die Koordinate eingeben.

    Hätte jemand eine Idee, wie ich das am besten umsetzen könnte?


    Danke im Voraus und Gruß

  • Schritt für Schritt zum Roboterprofi!
  • Wird immer wieder gefragt.

    An Stelle der geschweiften Klammer eine variable vom Typ frame nehmen. Dieser den y-Wert zuweisen.

    Yoffs=$nullframe

    Yoffs.y=100


    In der Schleife dann sinngemäss immer

    Yoffs.y=yoffs.y+10

    • Hilfreich

    ich hatte bisher nur die Programmierschulung 1 bei KUKA.

    du brauchst Programmerschulung 2


  • Nunja, das C_DIS macht bei so einer PingPong Bewegung nicht unbedingt Sinn, da wird ja schon vor dem Zielpunkt wieder umgekehrt, im Umkehrpunkt herrscht auch immer Geschwindigkeit = 0, da kann man machen was man will. ;)

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