Neue Homeposition 1 - XHOME1 $In_Home1

  • Guten Tag,


    habe gerade wieder ein Problem bei dem ich nicht ganz weiter komme.

    Das Thema gab es hier ja schon mal aber ich komm nicht drauf was ich falsch mache.


    Ich habe eine zweite Homeposition im Inline Formular hinzugefügt. XHOME1


    ;FOLD PTP HOME1 Vel=100 % DEFAULT;%{PE}%R 8.3.48,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME1, 3:, 5:100, 7:DEFAULT

    $BWDSTART=FALSE

    PDAT_ACT=PDEFAULT

    FDAT_ACT=FHOME1

    BAS(#PTP_PARAMS,100)

    $H_POS1=XHOME1

    PTP XHOME1

    ;ENDFOLD


    In der config.dat hat er die Psoition auch übernommen.


    ; HOME POSITION

    ;----------------------------------

    E6AXIS XHOME={A1 -0.780619562,A2 -68.3786850,A3 135.529724,A4 -0.847079933,A5 -67.1532745,A6 0.328913748,E1 -521.784729,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    E6AXIS XHOME1={A1 179.529724,A2 -88.3786850,A3 155.789724,A4 -0.847489533,A5 -67.1978745,A6 0.89735489,E1 -521.784729,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    Das Problem ist das das Signal $In_Home1 nicht kommt.


    Ist es richtig das ich in der machine.dat die $H_POS1 und E6AXIS $H_POS1_TOL noch hinzufügen muss?



    E6AXIS $H_POS={A1 1.10224319,A2 -72.1899719,A3 133.955902,A4 1.67924285,A5 -62.0726624,A6 -0.642905414,E1 -77.8845367,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    E6AXIS $H_POS1={A1 1.10224319,A2 -72.1899719,A3 133.955902,A4 -0.847489533,A5 -67.1978745,A6 0.89735489,E1 -77.8845367,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    E6AXIS $AXIS_HOME[5]

    $AXIS_HOME[1]={A1 179.529724,A2 -88.3786850,A3 155.789724,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[2]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[3]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[4]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[5]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    E6AXIS $H_POS_TOL={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    E6AXIS $H_POS1_TOL={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}


    E6AXIS $H_AXIS_TOL[5] ;TOLERANZFENSTER FUER ERREICHEN DER HOME-STELLUNG $AXIS_HOME[.]

    $H_AXIS_TOL[1]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    $H_AXIS_TOL[2]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    $H_AXIS_TOL[3]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    $H_AXIS_TOL[4]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}


    Wo wird die $In_Home1 Variable Deklariert?


    Beim Hochladen der .src mit der PTP HOME1 kommt die Fehlermeldung das die Variable $H_POS1 nicht deklariert.


    ;FOLD PTP HOME1 Vel=100 % DEFAULT;%{PE}%R 8.3.48,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME1, 3:, 5:100, 7:DEFAULT

    $BWDSTART=FALSE

    PDAT_ACT=PDEFAULT

    FDAT_ACT=FHOME1

    BAS(#PTP_PARAMS,100)

    $H_POS1=XHOME1

    PTP XHOME1

    ;ENDFOLD


    Wo muss diese deklariert werden? In der machine.dat?


    Vielen Dank im vorraus.

  • Schritt für Schritt zum Roboterprofi!
  • Wenn das zugehörige Signal von z.B. XHOMEn* nicht kommt, dann kannst du beispielsweise in der Variablenübersicht bei Name $AXIS_HOME[n] und bei Neuer Wert XHOMEn eintragen und das Ganze über Wert setzen zuweisen. Dann sollte es funktionieren.


    *n ist die Nummer der gewünschten HOME-Position, in deinem Fall die 1 ($AXIS_HOME[1]=XHOME1).

  • Also ich kenn das mit der normalen home position….


    Wenn man diese teacht dann verliert er das Signal $IN[1000]!


    Komischerweise wird die achsstellung bei Touch up nicht übernommen…


    Also Roboter so hinstellen wie es dir passt…

    Dann in der variablen Übersicht $H_pos eintragen….

    Diese dann mit $Axis_act überschreiben…


    Position und signal sind dann da …


    Musste das auf 25 Roboter so machen…..

  • Beim Hochladen der .src mit der PTP HOME1 kommt die Fehlermeldung das die Variable $H_POS1 nicht deklariert.

    $H_POS1 ist quatsch. Gibts nicht und muss auch nicht angelegt werden.


    Ist es richtig das ich in der machine.dat die $H_POS1 und E6AXIS $H_POS1_TOL noch hinzufügen muss?

    Nein, alles ist vorhanden.


    Wie Du richtig erkannt hast, ist das ILF der Standard-Home-Position leicht modifiziert gegenüber einem normalen ILF mir der Zuweisung $H_POS=XHOME:


    Wie schon andere Poster erwähnten, ist das Array $AXIS_HOME[X] zu verwenden für weitere Homepositionen. Also müsste, wenn Du die ILF's wirklich manipulieren möchtest, es so aussehen für XHOME1.


    Aktualisierungsprobleme:

    Wenn ich ein solches ILF teache, muss ich wissen, dass damit aber nur der Punkt aktualisiert wird.

    Die ergänzte Zuweisung wird nicht ausgeführt !!

    Die wird erst im Programmablauf ausgeführt und so die entsprechende Variable aktualisiert.

    Oder ich mach kurz SAK-Fahrt drauf, wenn ich sie teache, was am einfachsten ist.



    Noch einfacher ists, wenn Du das ganze dauernd aktualisierst mit Einträgen im sps.sub im loop.

    $H_POS=XHOME

    $AXIS_HOME[1]=XHOME1
    $AXIS_HOME[2]=XHOME2
    $AXIS_HOME[3]=XHOME3
    $AXIS_HOME[4]=XHOME4
    $AXIS_HOME[5]=XHOME5

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Vielen Dank für die Hilfe.


    $H_POS=XHOME

    $AXIS_HOME[1]=XHOME1

    $AXIS_HOME[2]=XHOME2

    $AXIS_HOME[3]=XHOME3

    $AXIS_HOME[4]=XHOME4

    $AXIS_HOME[5]=XHOME5


    Habe es so im sps.sub übernommen. Jetzt funktioniert es Super :)

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