Positionsoffset durch Temporäre eingabe

  • Hallo Leute,
    ich habe leider noch nicht so viel mit der Programmierung von Robotern zu tun, bin aber dabei zu lernen :)


    Hardwaremäßig besitze ich eine KRC4 Steuerung V8.3.15 Grundversion KS V8.3.109


    Ich möchte gerne eine Abgespeicherte und geteachte Position um einen bestimmten Offset verschieben!


    Soll Bedeuten:


    Diese Position ist in Positionen1.dat gespeichert:
    POS_FORM[21,3]={X 528.413940,Y -2515.52319,Z 390.000,A -121.484215,B 89.6939316,C -75.6526871,S 'B0010',T 'B00100010'}



    Nun möchte ich durch eine Eingabe im SmartPad im Fenster Anzeige --> Varibale --> Einzeln die Varibale OffsetXPosForm = 10 den x Wert der Variable POS_FORM[21,3] dauerhaft überschreiben!



    In dieser Art:
    Diese Position wird in Positionen1.src bearbeitet:
    POS_FORM[21,3].X=POS_FORM[21,3].X+OffsetXPosForm


    ST2_X_OFFSET_FORM=0




    Im Endergebnis, sollte sich nun die Position in der Datei Positionen1.dat zum folgendem Wert verändert haben:
    POS_FORM[21,3]={X 538.413940,Y -2515.52319,Z 390.000,A -121.484215,B 89.6939316,C -75.6526871,S 'B0010',T 'B00100010'}








    Ich würde das gerne so haben, da ich eine Palette stapel die sehr viele Positionen beinhaltet. Mit den Offsets möchte ich die ganze Lage auf der Palette verschieben...
    Statisch habe ich dies auch schon realisiert (war ja nicht schwer), allerdings ist es schwer etwas nachzuteachen, da man sich beim teachen den Offset wieder weg denken müsste...



    Würde mich freuen, wenn man das machen könnte und ihr mir dabei helfen könntet.


    Grüße
    Hans

  • Schritt für Schritt zum Roboterprofi!
  • OK Jungs und Mäderls,
    ich habe es hinbekommen, ob es schön ist ist ne andere Frage :)
    Über Kritik würde ich mich freuen!



    Als Globale Variable habe ich
    REAL ST2_Y_OFFSET_FORM1=0
    angelegt!
    Würde allerdings liebe Lokal arbeiten, jedoch müsste ich dann die Varibale Initialisieren, da es sonst einen Fehler gibt!
    Diese Varibale würde dann wahrscheinlich bei jedem Aufruf initialisiert werden und somit meine eingegebenen Daten platt machen, oder?




    Im der src Datei wird wie gehabt die Position aufgerufen
    POS_FORM[21,3].X=POS_FORM[21,3].X+ST2_X_OFFSET_FORM1
    ST2_X_OFFSET_FORM1=0



    Danach ist auch die Position in der dat Datei angepasst und ST2_X_OFFSET_FORM1 wieder auf 0...




    ANDERE FRAGE:
    Gibt es eine möglichkeit diese Varibale "ST2_X_OFFSET_FORM1" im Automatik extern modus zu ändern per externe Eingabe?


    Danke
    Hans

  • Hi,


    wenn du alles auf einmal verschieben möchtest realisiert man dieses eigentlich als Baseverschiebung.
    Das bedeutet du erstellt eine Base und teacht die Positionen in dieser Base.
    Jetzt kannst du auf diese Base deinen Offset legen und verschiebst alles auf einmal.
    Du kannst auch Bereiche aufteilen und einzelne verschieben, dann benötigst du halt mehrere Bases.


    Wenn du nur einzelne Punkte verschieben möchtest kannst du das dann auch durch einfache Addition der Koordinaten mit Bezug zur Base erledigen. Du kannst dann trotzdem die Bases verschieben falls du dann immer noch alles verschieben möchtest.

    Nichts ist einfach - alles bedarf der Übung !

  • fährst du die Punkte per LIN oder PTP an?


    bei PTP würde ich vorsichtig sein und nur ein begrenzten Bereich zulassen.
    Durch die S und T- Angabe kann der Roboter auf einmal ein ganz anderen Weg nehmen und alles zerlegen

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