Inlineprogrammierung und Postprozessor: Was wird aus LIN P2 C_DIS in einem FOLD?

  • Hallo an alle Leser!


    Folgende Ausgangssituation:
    Ich habe eine SRC- und eine DAT-Datei in der lesbarer und vom Roboter verwertbarer KRL-Quellcode ist. Die Datei soll nun trotzdem durch einen Postprozessor laufen -> die Befehle sollen in die FOLD-Technik übersetzt werden.


    Ein einfaches Beispiel. Folgende Zeile wird gelesen:

    Code
    LIN P2 C_DIS

    Anmerkung: Anstatt C_DIS gibt es auch nach Benutzerhandbuch C_ORI, C_VEL.


    Dann wird jetzt aus

    Code
    LIN P2

    zu

    Code
    ;FOLD LIN P2 Vel=2 m/s CPDAT1 Tool[1]:Gripper Base[0];%{PE}%R 5.5.31,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P1, 3:, 5:2, 7:CPDAT1
    $BWDSTART = FALSE
    LDAT_ACT = LCPDAT1
    FDAT_ACT = FP2
    BAS(#FRAMES)
    LIN XP2
    ;ENDFOLD


    Was geschieht aber mit "C_DIS" und Co? Wie übersetze ich das?


    In der DAT steht:

    Code
    DECL E6POS XP2={X 1248.0,Y 6.92704475E-07,Z 1320.01099,A 47.3372688,B 89.9959183,C 47.3372688,S 6,T 50,E1 -0.000119416603,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    DECL FDAT FP2={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
    DECL LDAT LCPDAT2={VEL 2.0,ACC 100.0,APO_DIST 100.0,APO_FAC 50.0,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0}


    Im Prinzip müsste das ja nach den Versionen (hier R 5.5.31) unterschiedlich gehandhabt werden (Also der FOLD sieht ja je nach Version "anders" aus...). Wie könnte ich das selber auf dem KCP ausprobieren (falls das geht, falls der mir das automatisch iwie übersetzt; ExpertTech ist installiert auf KRC2)?


    Wenn ich "C_ORI", "C_DIS" und Co wandeln will, muss ich aber wissen wie das in der FOLDer Technologie übersetzt wird :huh:


    Reicht es hier aus, wenn ich in ind DAT schreibe: DECL LDAT LCPDAT2 mit: APO_DIST 100.0 ? Irgendwie bin ich ratlos. Weiß nicht wo und wie das übersetzt wird. Jedenfalls darf das doch nicht verloren gehen, wenn ich die FOLD-Beispielzeile von oben nehme?!


    Vielen Dank für eure Hilfe vorab!

  • Schritt für Schritt zum Roboterprofi!
  • Wenn du nicht "LIN XP2" sondern "LIN XP2 C_DIS" hast, dann wird aus


    das


    im folgenden Code sind die Parameter markiert, die C_DIS und konsorte betreffen (es gibt aber noch mehr, die nicht in den Standart ILF enthalten sind)

    Zitat

    DECL E6POS XP2={X 1248.0,Y 6.92704475E-07,Z 1320.01099,A 47.3372688,B 89.9959183,C 47.3372688,S 6,T 50,E1 -0.000119416603,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    DECL FDAT FP2={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
    DECL LDAT LCPDAT2={VEL 2.0,ACC 100.0,APO_DIST 100.0,APO_FAC 50.0,ORI_TYP #VAR,CIRC_TYP #BASE,JERK_FAC 50.0}



    Was für eine Versionsnummer im Fold-Header steht, ist meines Wissens nur von Bedeutung, wenn auf der Steuerung die ILF bearbeitet werden sollen. Je nach Systemversion sind aber nicht nur diese Versionsnummern anders sonder auch die Anzahl Parameter und die Funktionsaufrufe.
    Prinzipiell wird aber bei der Programmausführung die Zeilen mit ;FOLD oder ;ENDFOLD ignoriert.

  • Super!!! VIELEN DANK für deine Antwort! :danke: :danke:


    Wie ist das mit C_ORI und C_VEL bei LIN und CIRC und wie is des mit C_PTP bei einem PTP-Satz? Wo kann ich sowas denn nachschauen? Oder bin ich auf deine/eure Hilfe bzw. Erfahrung angewiesen?

  • Kommt CONT nur bei C_DIS rein oder auch bei anderen? :denk:


    Bei PTP kann ich laut Handbuch auch schreiben:

    Zitat

    PTP PUNKT3 C_PTP C_ORI

    Wie sieht das im Fold aus wenn mehrere Parameter angegeben werden? Und was mit C_VEL? Kann ich das auch da hinten dranschmeißen? Wie würde es dann aussehen mit dem Fold? :kopfkratz:


    So vielleicht (für C_VEL, C_ORI, C_DIS ?


    Was passiert mit der DAT wenn ich anstatt wie oben (C_DIS) jetzt C_PTP, C_ORI, C_VEL verwende (Für PTP, CIRC, LIN)?


    Vielen Dank für eure Hilfe!! :zwink:


    EDIT -> Aus dem ReferenceGuide der Steuerung: "In der PTP-Anweisung programmieren Sie nun das Schlüsselwort C_PTP und für die FEstlegung des Überschleifens eines der Schlüsselwörter C_DIS (Default), C_ORI oder C_VEL."
    Damit hat sich die Frage nach den Parametern bei PTP geändert: Wie sieht das aus wenn ich C_PTP und zb C_VEL hinschreibe (für SRC und DAT)?


    EDIT2: Bei LIN-PTP Überschleifen kann man C_PTP und C_DIS/C_VEL/C_ORI verwenden, oder? Bei LIN-LIN/LIN-CIRC kann man ja nur eines verwenden C/DIS/C_ORI/C_VEL!

    Einmal editiert, zuletzt von stoeven ()

  • Im ILF gibt es für LIN und CIRC nur das C_DIS und für PTP nur das C_PTP. Die anderen Überschleifarten kann man nur via Expertenprogrammierung ohne ILF verwenden.


    Genauere Informationen über die anderen Überschleifarten findest du vermutlich in der Systemintegratorendokumentation oder hier im Forum über die Suchfunktion.


    greez Drudge

  • Wofür steht ILF? *sich-duckt*


    Programmieren tu ich hier via VBA. Die Bewegungssätze soll ich in die "FOLD-Technologie" bringen. Von daher muss ich leider wissen wie sich das mit C_ORI und C_VEL verhält, weil ich für LIN auch viele C_ORI und C_VEL Parameter habe... :???:


    EDIT: AH! ILF = InlineFormular :zwink:

    Einmal editiert, zuletzt von stoeven ()

  • Warum soll das denn in die Fold-Technolofgie übersetzt werden?
    Wenn man denn Sinn weiß, kann man vielleicht via UserTech eigene ILFs programmieren, in denen es möglich ist mit C_VEL und C_ORI zu arbeiten.

    Greetings, Irrer Polterer!

    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.


    Life is a beta version. Full of bugs and no Manual.

  • Zitat

    Bei PTP kann ich laut Handbuch auch schreiben:


    Wie sieht das im Fold aus wenn mehrere Parameter angegeben werden? Und was mit C_VEL? Kann ich das auch da hinten dranschmeißen? Wie würde es dann aussehen mit dem Fold? :kopfkratz:


    So vielleicht (für C_VEL, C_ORI, C_DIS ?


    Ja so würde das aussehen.
    Wie schon gesagt. In den Inlineformularen gibt es nur C_DIS und C_PTP. (Was ja in den aller meisten Fällen völlig genügt.) Vermutlich werden die C_ORI C_VEL Einträge aber wieder gelöscht, sobald jemand am Bedienpanel das ILF öffnet und wieder schliesst.


    Zitat

    Was passiert mit der DAT wenn ich anstatt wie oben (C_DIS) jetzt C_PTP, C_ORI, C_VEL verwende (Für PTP, CIRC, LIN)?


    Es gibt keine Änderungen im DAT, da diese Überschleiftypen in den ILF nicht verwendet werden. Man muss das über expertenprogrammierung machen. Wenn du aber schon den Flick machst, im ILF das C_ORI und C_VEL einzufügen. Könntest du auch gleich zusätzliche Zeilen einfügen um diese zu parametrieren... (sehe einfach den Sinn nicht dahinter :denk:


    greez Drudge

  • Vielen DANK!!! Das ist doch eigentlich was ich wissen wollte... Also erstma: DANKE! :danke: :danke:


    Den Sinn dahinter verstehe ich auch nicht. Ich habe das auch schon in Frage gestellt und bekam keine Antwort :zwink:

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