Robtarget im Programm kopieren

  • Hallo zusammen,


    gibt es ein Befehl, um ein vorhandenes Robtarget zu kopieren? Auch neuen Robotarget erstellen wäre eine "alte naive" :)
    Ich möchte, falls ein Robotarget nicht existiert, automatisch einen generieren.


    Das hat sicher schonmal jemand gemacht (bevor ich noch stundenlang suche...)
    Danke schonmal

  • ANZEIGE
  • Wenn ich das richtig verstanden habe...


    nimmst du mit CrobT die aktuelle Position auf (beispielsweise in eine PERS pTemp)....dann kannst du vergleichen ob es dieses target schon gibt (hierzu würden ja die trans und rot werde ggfs. reichen) ... falls diese prüfung negativ ausfällt kannst du es ggfs. als neues RobTarget erstellen.... da bin ich allerdings überfragt - allerdings könnte dir eventuell dieser thread hier weiterhelfen
    https://www.roboterforum.de/ro…laufzeit-erstellen/13705/

  • Hi yuminist


    ich will im Programm ein vorhandenes Robtarget in ein neues Robtarget kopieren,
    Der Roboter steht nicht auf der dementsprechenden Position demnach passt CrobT nicht.


    Einfach im Programm ein neuen Robtarget generieren (Daten werden hinterher gefüllt).


    z.B.


    PERS robtarget p10_irgendwas:=[[1,2,3],[0.275253,0.664049,-0.690476,0.0807283],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];


    kopieren in
    PERS robtarget p10_kopiert:=[[1,2,3],[0.275253,0.664049,-0.690476,0.0807283],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];


    oder würde auch gehen, wenn ich im Programm ein neues, leeres robtarget erstellen könnte.

  • Ich denke nicht, dass man dynamisch Robtargets anlegen kann. Du kannst aber ein Array von robtargets sozusagen als Buffer anlegen und dann da neue targets on-the-fly reinschreiben. Musst dann aber schauen, dass du nicht alte Werte überschreibst oder undefinierte targets liest.

  • Schade. Irgendwie dachte ich daß sowas schon mal gesehen habe. Ich werd alt... :huh:


    Das mit Array wollte ich eigentlich vermeiden aber werde vermutlich nicht drum herum kommen.


    :danke:

  • Hallo


    Mit dem Befehl SetDataSearch kannst du nach Daten suchen
    weiter Befehle GetNextSym , SetDataVal ..


    Neue Module erstellen :


    SearchBase_Mod:= " "+SearchSetBase_Vorbelegung{SearchBase_ModNr};
    IF ModExist(SearchBase_Mod) THEN
    !(Datei vorhanden )
    ELSE
    !(Datei nicht vorhanden )
    !neues Modul erstellen
    CreateBase_Mod:=SearchBase_Mod+".mod" ;
    UIMsgBox\Header:="Neues Module "+SearchBase_Mod ,
    "Soll das Module erzeugt werden?"
    \Buttons:=btnOk
    \Icon:=iconINFO
    \Result:=t_Answer;
    IF t_Answer=resOk THEN
    TPErase ;
    TPWrite "Erzeuge Module "+CreateBase_Mod ;
    ! Textdatei erzeugen:
    Open diskhome\File:=""+CreateBase_Mod,t_deDatei;
    Write t_deDatei,"MODULE "+SearchBase_Mod;
    Write t_deDatei,"! Points are read in order of declaration. ";
    Write t_deDatei,"! Please do not change the order of points ";
    Write t_deDatei,"";
    Write t_deDatei,"LOCAL PERS robtarget pWobj_U_PointX1:="\NoNewLine;
    Write t_deDatei,"[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];";
    Write t_deDatei,"LOCAL PERS robtarget pWobj_U_PointX2:="\NoNewLine;
    Write t_deDatei,"[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];";
    Write t_deDatei,"LOCAL PERS robtarget pWobj_U_PointY1:="\NoNewLine;
    Write t_deDatei,"[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];";
    Write t_deDatei,"";
    Write t_deDatei,"";
    Write t_deDatei,"ENDMODULE";
    CLOSE t_deDatei;
    IF ModExist(SearchBase_Mod) EraseModule SearchBase_Mod;
    Load diskhome\File:=CreateBase_Mod;
    TPWrite "Module "+CreateBase_Mod+" erfolgreich erstellt " ;
    WaitTime 3 ;
    TPErase;
    ELSE
    TPErase ;
    TPWrite "Programmneustart " ;
    WaitUntil FALSE ;
    ENDIF
    ENDIF


    Probiers mal ,
    Viel Spass Bernhard

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