PTP SPTP und Rotation um Achse bzw einzelne Achse fahren

  • Guten Tag,


    ich habe ein Projekt, bei welchem eine Kamera mir die Verdrehung eines Bauteils übermittelt.
    Die Varianten wären also:


    1. Rotation in einem Koordinatensystem
    2. Drehung einer einzelnen Achse - in diesem Falls natürlich Achse 6


    Das Projekt wird momentan nur offline vorbereitet...


    Die bisher bestehende Variante 1:



    Da ich nach einer Vorlage Arbeiten soll und diese mit SPTP läuft, ergibt sich nun die Frage:


    Wenn ich die Funktion wie oben nutze, ist alles ok, WorkVisual unterstreicht zwar die Zeile


    CAM_Offs.A = (CAM_Angel)


    orange, da die Daten aus einer E6POS kommen und in ein FRAME geschrieben werden, würde aber laufen.


    Wenn ich aber eine der Vorhandenen E6POS der SPTP nutzen möchte, unterstreicht WorkVisual es rot und gibt den Hinweis, das eine E6Pos nicht einem FRAME zugewiesen werden kann


    Da der Roboter aber durch eine Mischung von PTP und SPTP ins stocken gerät, würde ich dies gern vermeiden wollen.


    Und für Variante 2 habe ich leider noch keine Informationen finden können, auf welche Art und Weise ich vorgehen kann / muss - ich hatte gehofft, das es etwas ähnliches wie bei ABB gibt...


    E6Pos in eine Achsposition wandeln => Achsposition/-Winkel Achse 6 neu beschreiben => Position anfahren


    Vielen Dank im Voraus für eure Hilfe


    MfG Rico

  • Schritt für Schritt zum Roboterprofi!
  • Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer


  • Vielen Dank für den Vorschlag.
    Da ich aktuell noch keinen Roboter zum Projekt vor mir habe - was bewirkt diese Operation mit dem Doppelpunkt bei der Zuweisung?



    Und noch eine Fage:


    Zitat


    DECL E6POS XGP_Pos1
    DECL INT Winkel


    PTP XGP_Pos1:{A1 Winkel}


    PTP XGP_Pos1:{X 0.0,Y 0.0,Z -100.0,A Winkel,B 0.0,C 0.0}


    Wenn reine Zahlen bei diesen beiden Varianten möglich sind, müssten doch eigentlich auch Variablen mir dem gleichen Wert / Inhalt funktionieren oder?


    Den einzigen Hinweis welchen mir WorkVisual gibt, ist "Unerwartete Zeichenkette 'ld' wurde gefunden" - wobei ich nirgends eine richtige Erklärung zu diesem Fehler finde.

    Einmal editiert, zuletzt von 19Rico84 ()

  • Zitat

    Da ich aktuell noch keinen Roboter zum Projekt vor mir habe - was bewirkt diese Operation mit dem Doppelpunkt bei der Zuweisung


    Das ist eine Frameverschiebung. Mathematisch nichts anderes als die Multiplikation zweier homogener 4x4 Transformationsmatrizen. Weitere Details finden sich zu Hauf uím Forum. Einfach mal nach Doppelpunkt oder geometrischer Operator suchen


    Zitat

    Wenn reine Zahlen bei diesen beiden Varianten möglich sind, müssten doch eigentlich auch Variablen mir dem gleichen Wert / Inhalt funktionieren oder?


    Nein. Das kann halt KRL so nicht. In einem Aggregat dürfen keine Variablen stehen. Also immer Variable anlegen, dann Zuweisung machen und erst dann im Bewegungsbefehl nutzen.


    Fubini

  • Vielen Dank für die Infos.


    mich würde gerade noch eine Sache interessieren:


    es gibt für Signale die Möglichkeit


    sSignal = GET_SIG_INF(strSignal[])


    um die Information zu bekommen bzw zu überwachen - gibt es eine solche Anweisung auch für E6Pos?


    zB:


    Zitat


    DECL FRAME Offsetpunkt
    Offsetpunkt = {X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}



    Offsetpunkt = GET_E6POS_INF(strPunkt[])


    ...um die Informationen einer beliebigen E6Pos auf eine FRAME-Variable zu überschreiben?

  • WoV beschwert sich vielleicht, aber KRC hat kein Problem mit:



    Variante 1:

    Code
    FrameVar = E6PosVar



    Variante 2:

    Code
    FrameVar.X = E6PosVar.XFrameVar.Y = E6PosVar.YFrameVar.Z = E6PosVar.ZFrameVar.A = E6PosVar.AFrameVar.B = E6PosVar.BFrameVar.C = E6PosVar.C

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