Position dynamisch aufrufen

  • Hallo zusammen,

    kennt jemand eine Möglichkeit, Positionen zur Laufzeit aufzurufen? Sprich:

    Ich bekomme von der SPS eine Typnummer - sagen wir mal 2596. Jetzt soll der Roboter die Position "p_2596" anfahren.

    Es soll aber immer nur der Punkt angelegt und geteacht werden, ohne dass im eigentlichen Ablaufteil etwas geändert werden muss.


    Vorstellen kann man es sich als eine Art späte Bindung wie bei einem Prozeduraufruf.


    Selbstverständlich muss ich dann noch eine Fehlerbehandlung programmieren, aber das ist erst einmal Drittens...


    Ich habe es mal kurz versucht, als Quelltext darzustellen.


    MfG Matthias

    Code
    nType:=GInput(giType);
    pActPos:= "p_"+nType;
    MoveJ pActPos,...;
  • ANZEIGE
  • da gibt es ein paar Punkte zu bedenken

    Taktzeit?

    Wieviel Zeit im Voraus kennst du die zielposition?

    kommst du mit fine Punkten zurecht oder brauchst du Zonen?


    zu späten Bindung bei solchen Aufrufen...bin mir nicht sicher aber glaub da gibt's was.

    must mal die Hilfe durchpflügen


    vlt. kannst du ja auch ein Modul austauschen mit Positionen

  • Du hättest auch die Möglichkeit mit einem Datenfeld zu arbeiten.

    "pActPos{nType}"

    Die Frage ist dann natürlich die Größe des Datenfeldes und die deiner Typnummer.

    Zu S4c+-Zeiten war die Größe von PERS robtarget Datenfelder leider beschränkt.

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

    • Hilfreich

    Entweder mit einem Datenfeld oder mit Getdata und Setdata arbeiten.


    Mit Getdata und Setdata kannst über den Variablennamen auf diese zugreifen, allerdings ist dies halt ein indirekter Zugriff, was die Geschichte etwas unübersichtlich macht.


    Code
    !Position laden
    GetDataVal Positionsname,robtarget_temp;
    
    !Mit Position arbeiten
    
    !Position speichern
    SetDataVal Positionsname,robtarget_temp
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