Beiträge von R47

    Aus dem Hauptprogramm kann ich keinen Fehler erkennen,
    es müssen im Hintergrund noch andere Programme laufen.. aktivierst du einige Programme mit RUN **** ? und wartest evtl. nicht auf Wait Task (****) bevor du die nächsten Macros startest?

    Hallo Scheuwimmer,
    es scheint als ob in deiner Steuerung mehr wie eine Gruppe existieren. Wenn du die werte aus einem PosReg auslesen willst musst du auch angeben von welcher Gruppe er das lesen soll.
    Einfach im Programm Auf dein PR gehen und über die Taste Gr_mask die Gruppe auswählen in der die Offset werte stehen.,
    dann sollte es klappen.

    Ja wunderbar, dann Brauchst du nur die Werte von der SPS ( wenn sie in mm übergeben werden ) in deine Baseverschiebung übermitteln... zuvor jedoch mit der alten Base in die Vorrichtung reinfahren.
    .......anfahren mit alter Base
    LIN [x] Base [alte korb Einstellung]....
    Bremse lösen
    LIN [x] Base [neue korn Einstellung]
    Bremse rein... rausfahren mit neuer Base

    [size=2]zuvor musst du jedoch eine Datei erstellen in der die Informationen über deinen Greifer hinterlegt sind.[/size]
    [size=2]Bei der Baseverschiebung beziehst du dich dann auf dem Wert welches für den Korb, in deinem fall, hinterlegt ist.. [/size]


    [size=2]Korrektur_Kal_neu.z[/size][size=2][size=2]=[/size][/size][size=2]WKS_DAT[TypNr].Greif_Hohe[/size]
    [size=2][size=2]Korrektur_Kal_neu.x[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size]
    [size=2][size=2]Korrektur_Kal_neu.y[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size]
    [size=2][size=2][size=2]Korrektur_Kal_neu.a[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size][/size]
    [size=2][size=2][size=2][size=2]Korrektur_Kal_neu.b[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size][/size][/size]
    [size=2][size=2][size=2][size=2][size=2]Korrektur_Kal_neu.c[/size][size=2][size=2]=[/size][/size][size=2]0[/size][/size][/size][/size][/size]


    [size=2]WKS_DAT[1][/size][size=2][size=2]=[/size][/size][size=2]{WKSNR[] [/size][size=2][size=2]"03-4150-0070"[/size][/size][size=2][size=2],[/size][/size][size=2]SN 415000701[/size][size=2][size=2],[/size][/size][size=2]WKS_ACTIVE TRUE[/size][size=2][size=2],[/size][/size][size=2]FL_WINKEL 135.000[/size][size=2][size=2],[/size][/size][size=2]Greif_Hohe 28.0000[/size][size=2][size=2],[/size][/size][size=2]FL_HOEHE 16.0000[/size][size=2][size=2],[/size][/size][size=2]BH_MITTE 35.5000[/size][size=2][size=2],[/size][/size][size=2]FL_UNTEN 25.8000}[/size]

    Hallo Alvedin,
    Ich habe so eine ähnliche Situation gelöst in dem ich das Programm "Greifer einstellen" mit 2 Base angefahren bin.
    1 Base mit der Z-Verschiebung der aktuellen Greifereinstellung. 1Base für die umzustellende Greiferhöhe.
    Also rein in die Vorrichtung mit der aktuellen Greiferhöhe...Bremse lösen... Z-Höhe der neuen Greiferhöhe anfahren (neue Base)..Bremse rein.. raus aus der Vorrichtung....

    Im Programm, [NEXT] - [EDCMD]-[Comment] auswählen. Das Anzeigen von Kommentaren wurde wahrscheinlich deaktiviert.

    Hallo El Cativo,
    du brauchst nirgends anders mehr etwas zu löschen wenn du deine $globalsys.datei gelöscht hast.
    Aber wie du schon gesagt hast solltest du die überall im Programm, wo sie vorher verwendet wurden, löschen.
    Sonst meldet er dir "Variable nicht deklariert".

    Hallo kollegen,
    ich hab jetzt bisschen rumgelesen und auf einige Vergleichbare Probleme gestoßen. Ich hab jetzt was geschrieben aber bin mir nicht ganz sicher ob es auch Funktionieren wird. Und zwar soll in diesem fall nur die Z- Position bei der Werkzeug Kalibrierung korregiert werden.
    Kann sich das vielleicht jemand anschauen und Feedback geben ob es so Funktionieren würde?


    In der Dat.datei:
    DECL Global FRAME Korrektur_Kalibrierun
    DECL Global SIGNAL Kalibrierung_in $IN[1] TO $IN[8]
    DECL GLOBAL Signal Kalibrierung_out $OUT[1] TO $OUT[8]


    ;korrekturwert von SPS einlesen
    Korrektur_Kalibrierung.z=Kalibrierung_in


    ;korrekturwert an SPS zurückspiegeln
    Kalibrierung_out=Korrektur_Kalibrierung.z


    BASE_DATA[10]=BASE_DATA[1]:Korrektur_Kalibrierung



    In der SRC.datei:
    ;Fahre in Vorposition zum kalibrieren
    ;FOLD PTP P1 Vel=100 % Vor_Pos_Kal Tool[0] Base[1];%{PE}%R 8.2.17,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P1, 3:, 5:100, 7:Vor_Pos_Kal
    $BWDSTART=FALSE
    PDAT_ACT=PVor_Pos_Kal
    FDAT_ACT=FP1
    BAS(#PTP_PARAMS,100)
    PTP XP1
    ;ENDFOLD


    ;Fahre Start Positionder Kalibrierung / Bremse wird gelöst
    ;FOLD LIN P2 Vel=2.0 m/s Kal_Start Tool[0] Base[1];%{PE}%R 8.2.17,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P2, 3:, 5:2.0, 7:Kal_Start
    $BWDSTART=FALSE
    LDAT_ACT=LKal_Start
    FDAT_ACT=FP2
    BAS(#CP_PARAMS,2.0)
    LIN XP2
    ;ENDFOLD




    ;Fahre Ziel Position der Kalibrierung / Bremse wird aktiviert
    ;FOLD LIN P3 Vel=2.0 m/s Kal_Ziel Tool[0] Base[10];%{PE}%R 8.2.17,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P3, 3:, 5:2.0, 7:Kal_Ziel
    $BWDSTART=FALSE
    LDAT_ACT=LKal_Ziel
    FDAT_ACT=FP3
    BAS(#CP_PARAMS,2.0)
    LIN XP3
    ;ENDFOLD



    wäre sehr Dankbar für Antworten bzw. Tipps

    oder könnte ich das so machen:
    ;FOLD PTP P2 Vel=100 % PunktVerschiebung Tool[0] Base[0]: Frame verschiebung;%{PE}%R 8.2.17,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P2, 3:, 5:100, 7:Punkt10
    $BWDSTART=FALSE
    PDAT_ACT=PPunkt10
    FDAT_ACT=FP2
    BAS(#PTP_PARAMS,100)
    PTP XP2
    ;ENDFOLD: Frame[31]

    Hallo,
    ich habe jetzt OrangeEdit geladen. Sieht schon besser aus als wie mit Workvisual.
    Jetzt zu meinem Problem, ich will eine bestimmte Zahl von Bauteilen (30St.) aus einer Pallete entnehmen. Von den Bauteilen gibt es 17 Typen die sich im Aufnamewinkel unterscheiden. Ich wollte jetzt einen Punkt Teachen und diesesn immer um einen Korrekturwert in X-, Y,-Z- und A-Achse verschieben.
    So wie ich es verstanden hab muss ich eine Variable in der DAT.Datei deklarieren und Global zugänglich machen.das würde ungefähr so aussen meiner meinung nach:
    DECL FRAME verschiebung

    DECL GLOBAL INT counter_x counter_y counter_z counter_a (Die Variablen werden nicht mit einem Komma getrennt?)
    Dann wollte ich die Korrekturwerte von der SPS bekommen. Ich will sie also in einen Zähler schreiben
    i10 ( EIN ) = binin1 für X

    i11 ( EIN ) = binin12 -für Y So wäre es zumindest bei VKRC4
    i12 ( EIN ) = binin3 -für Z

    i13 ( EIN ) = binin4 -für A

    counter_x=i10 ....(für die restlichen Achsen auch)

    verschiebung=$nullframe
    verschiebung.x=counter_x
    verschiebung.y=counter_y
    verschiebung.z=counter_z
    base_data[31]=base_data[1]:verschiebung
    ; base_data[1] müsste aber eine geteachte Base sein und Punkt1 müsste mit der base geteacht sein, korrekt?
    Und dann müsste laufen?

    Hallo Kollegen,
    ich stehe vor einem kleinen Problem. Undzwar muss ich eine Programm erstellen für einen KRC4 Roboter.
    Leider hab ich bisher nur VKRC4 Roboter Programmiert.
    Ich hab mir gedacht ich Programmier das in WorkVisual da ich keine Office Lite für KRC4 habe, doch ich versteh nur Bahnhof wie ich das Programmieren soll, bzw. Fehler einbau ist sehr wahrscheinlich.
    Jetzt meine Frage, gibt es ein kostenloses Programm womit ich bequemer ein programm erstellen kann??wo z.B. die Inline-Formulare auswählbar sind?
    Wäre sehr froh über hilfreiche Tipps.
    mfg R47

    Hallo Kollegen,
    ich bin seit etwa 1nem Jahr Robi Programmierer und hab bisher ausschließlich KUKA und Fanuc Programmiert (VW). Nun möchte ich mir ein wenig ABB aneignen. Ich hab mir auch schon RobotStudio installiert und einige Handbücher durchgelesen- trotzdem verstehe ich das mit den Modulen nicht so ganz..unter einer Routine verstehe ich so etwas wie Unterprogramme, in der man wählen kann ob es sich um bewegungs- oder Funktionprogramme (art Makros?) handeln soll....sind also Module so etwas wie eine Folge bei KUKA?..wäre sehr dankbar über Infos und wenn es ein kleines beispiel Programm gäbe in das ich mich durcharbeiten könnte wäre ich sehr dankbar :supi: :beerchug:


    vielen Dank schon mal im vorraus R47