Probleme mit der Suche und dem vershiften

  • Hallo,


    Ich arbeiten an einem MA 1900 mit der DX100.



    Wir suchen unser Bauteil mit über die P-Variablen


    Das Suchprogramm hier als Bild.



    Ebenfalls ein Bild der Datei zum Schweißen des Bauteils



    [size=12]Das Problem was ich habe ist folgendes. Wenn ich durch unterlegen bei der Suche der Suche angebe das sich das Bauteil verschoben hat


    funktioniert das Einwand frei (Werte der Verschiebung werden in der dazugehörigen Variable hinterlegt).


    Starte ich jedoch das Schweißprogramm verschiebt es die Punkte (wie in meinem Fall 5mm nach +Z)nicht in die Z Richtung sondern in die


    X Richtung. Das Bauteil befindet sich auf einem Drehtisch der 90° gekippt ist. Ändere ich jedoch SMOVL in MOVL (Bild roter Feil) so verschiebt sich die


    Punkte richtig. Wir müssen normalerweise die SMOV Befehle behalten (Comarc)...(Aussage eines Kollegen).


    Ich weiß leider nicht mehr weiter. Wer kann mir helfen. Gibt es Fehler in der Suche oder im Programm Schweißen?


    Vielen Dank im Voraus

  • ANZEIGE
  • Hallo Chris,
    das von Dir gepostete Suchprogramm enthält ein Macro in dem die eigentliche Suchroutine abläuft. Sollte da ein Fehler drin sein müsstest du den Macrojob posten.
    In deinem Schweißprogramm gibt es weder ein COMARCON noch ein SCOMARCON, d.h. das kein COMARC genutzt wird und dein Kollege Blödsinn erzählt.
    Zu guter Letzt, mach mal aus deinem SFTON und SFTOF ein SSFTON und SSFTOF ( das 2. S steht für synchron), dann sollte es funktionieren.

    Rechtschreibfehler sind beabsichtigt und dürfen behalten werden

  • Habe noch einmal einige Frage.
    Sehe ich die Zusammenhänge richtig?
    (schreibe die Macro SUCHE_ 3DS mal untereinender)


    SUCHE_3DS ... ist der Macro Job
    X=1 .... es wird in der X Achse gesucht
    Y=0 .... es wird nicht gesucht
    Z=0 .... es wird nicht gesucht
    PVAR=1 ...benutzte P Variable
    RESET=1 ...zurück setzen 1=ja und 0=mein


    Der Programmierer von Yaskawa hat nach Einrichtung der Anlage ein Bauteil (Heizkessel) programmiert.
    Er hat das Bauteil an zwei Stellen gesucht. (auf jeder Seite, verwendet immer die gleichen P Variablen)


    Beim ersten Suchpunkt steht: (... sind die MOV Bewegungen)
    SREFP 3
    SREFP 4
    SUCHE_3DS X=1 Y=0 Z=0 PVAR=1 RESET=1 (Er sucht in der X Achse)
    ...
    SREFP 5
    SREFP 6
    SUCHE_3DS X=0 Y=1 Z=0 PVAR=1 RESET=0 (Er sucht in der Y Achse)
    ...
    SREFP 7
    SREFP 8
    SUCHE_3DS X=0 Y=0 Z=1 PVAR=1 RESET=0 (Er sucht in der Z Achse)


    Beim zweiten Suchpunkt steht:
    ...
    SREFP 7
    SREFP 8
    SUCHE_3DS X=0 Y=0 Z=1 PVAR=1 RESET=1 (Er sucht in der Z Achse)
    ...
    SREFP 3
    SREFP 4
    SUCHE_3DS X=1 Y=0 Z=0 PVAR=1 RESET=0 (Er sucht in der X Achse)
    ...
    SREFP 5
    SREFP 6
    SUCHE_3DS X=1 Y=0 Z=0 PVAR=1 RESET=1 (Er sucht in der X Achse)


    Eine große Frage stellt sich weshalb bei jedem Suchpunkt nach den ersten SREF Punkten immer das RESET auf 1 steht
    In diesem Fall einmal in der X-Achse und einmal in der Z-Achse :denk: Hängt mein Problem vielleicht damit zusammen?


    Wir möchten das Bauteil mit Comarc schweißen und möchten diese Funktion in unser Programm einfügen.
    Ich habe zwei Kollegen (bedienen anderen Roboter MA1900 mit NX100) die in mein Programm diese Funktion
    einfügen wollen. Nach ersten Versuchen trat das Problem auf das der Robi nicht in der Z Achse sondern in der X Achse
    verschoben hat. Jetzt möchten Sie das Programm ändern.


    Ich habe die Grundeinstellung R1+S1:S1 immer verwendet da der Programmierer das erste Bauteil ebenso programmiert hat.
    (vielleicht Unwissenheit meiner Seits) Sie möchten jedoch die Einstellung R1+S1 und das normale Comarc und nicht das Scomarc
    verwenden. Wenn wir die Programme alle umschreiben müssen (210 Jobs mit je ca. 400 Zeilen), Gute Nacht.
    Wie schon gesagt, haben wir einen MA1900 und einen Dreh-Kipptisch der beim Suchen und Schweißen jedoch keine
    Synchronbewegungen macht.


    Vielleicht bekomme ich es mit Eurer Hilfe hin...


    Schon mal Danke im Voraus

  • Hallo HRU26011... kannst du damit etwas anfangen


    /JOB
    //NAME SUCH_3DS
    //POS
    ///NPOS 0,0,0,0,0,0
    //INST
    ///DATE 2013/03/11 12:52
    ///ATTR SC,RW,MC
    ///GROUP1 RB1
    ///LVARS 10,10,10,10,10,31,0,31
    NOP
    MSG ""
    GETARG LB000 IARG#(1)
    GETARG LB001 IARG#(2)
    GETARG LB002 IARG#(3)
    SET B004 LB000
    SET B005 LB001
    SET B006 LB002
    GETARG LB003 IARG#(4)
    GETARG LB004 IARG#(5)
    SET B003 LB003
    JUMP *NICHT-0 IF LB004=0
    SUB P[LB003] P[LB003]
    *NICHT-0
    '================================
    JUMP *Y IF LB000=0
    GETS LPX013 $PX023
    CNVRT LPX013 LPX013 RF
    MOVL LP013 V=50.0
    GETS LPX014 $PX024
    CNVRT LPX014 LPX014 RF TL#(0)
    MOVL LP014 V=15.0 SRCH RIN#(1)=ON DIS=20.0
    GETS LB005 $B002
    SET B050 LB005
    JUMP *SUCH-AUS IF B050=0
    GETS LPX004 $PX000
    CNVRT LPX004 LPX004 RF
    SUB LP004 LP014
    SET LP014 LP004
    GETE LD001 LP014 (1)
    SETE P[LB003] (1) LD001
    MOVL LP013 V=83.3
    '================================
    *Y
    JUMP *Z IF LB001=0
    GETS LPX015 $PX025
    CNVRT LPX015 LPX015 RF
    MOVL LP015 V=50.0
    GETS LPX016 $PX026
    CNVRT LPX016 LPX016 RF TL#(0)
    MOVL LP016 V=15.0 SRCH RIN#(1)=ON DIS=20.0
    GETS LB005 $B002
    SET B050 LB005
    JUMP *SUCH-AUS IF B050=0
    GETS LPX004 $PX000
    CNVRT LPX004 LPX004 RF
    SUB LP004 LP016
    SET LP014 LP004
    GETE LD002 LP014 (2)
    SETE P[LB003] (2) LD002
    DOUT OT#(29) OFF
    MOVL LP015 V=83.3
    '================================
    *Z
    JUMP *END IF LB002=0
    GETS LPX017 $PX027
    CNVRT LPX017 LPX017 BF
    MOVL LP017 V=50.0
    GETS LPX018 $PX028
    CNVRT LPX018 LPX018 RF TL#(0)
    MOVL LP018 V=15.0 SRCH RIN#(1)=ON DIS=20.0
    GETS LB005 $B002
    SET B050 LB005
    JUMP *SUCH-AUS IF B050=0
    GETS LPX004 $PX000
    CNVRT LPX004 LPX004 RF
    SUB LP004 LP018
    SET LP014 LP004
    GETE LD003 LP014 (3)
    SETE P[LB003] (3) LD003
    MOVL LP017 V=83.3
    JUMP *END
    '================================
    *SUCH-AUS
    MSG "ZOEK FOUT CONTROLEER DRAAD"
    PAUSE
    JUMP *NICHT IF LB004=0
    SUB P[LB003] P[LB003]
    *NICHT
    *END
    END

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