CWRITE($CMD,STAT,MODE,"STOP 1") -> BRAKE ersetzen

  • Hallo,


    kann ich eigentlich statt einem BRAKE, dass ja bei einem nicht durch einen Interrupt
    aufgerufen Programm verboten ist, ein CWRITE($CMD,STAT,MODE,"STOP 1") verwenden??


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Schritt für Schritt zum Roboterprofi!
  • Nachtrag: ich will die gleiche Funktion wie das "BRAKE" es macht!

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hallo,
    kannst du so machen STOP 1 ist identisch mit BRAKE F (Bahntreu), KUKA macht es auch,


    DECL STATE_T STAT
    DECL MODUS_T MODE
    MODE=#SYNC


    IF $FLAG[1]==TRUE THEN
    CWRITE($CMD,STAT,MODE,"RUN/R1/A6()")
    $FLAG[1]=FALSE
    ENDIF
    IF $FLAG[2]==TRUE THEN
    CWRITE($CMD,STAT,MODE,"STOP 1")
    $FLAG[2]=FALSE
    ENDIF
    IF $FLAG[3]==TRUE THEN
    CWRITE($CMD,STAT,MODE,"CANCEL 1")
    $FLAG[3]=FALSE
    ENDIF


    :genau:

  • Hallo,


    Vielen Dank! hab viele Programm die ich "doppelt" gemacht habe! :wallbash: :wallbash:
    eines mit Brake das andere ohne --> was nicht sehr clever war :waffen100: :waffen100:


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hi,
    das ist der Schreibmodus des Kommandokanals, in dem Fall syncron, kannst du noch die diese verschiedenen Arten initialisieren,


    SYNC
    ASYNC
    ABS
    COND
    SEQ


    der Modus muss unbedingt initialisiert werden und ist ein ENUM vom Typ MODUS_T (Aufzählungstyp), bis dann Christian ... . :!:

  • Hallo,


    kann ich auch ein Brake "ohne F" mit dieser Methode realisieren?


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hallo Rainer,
    yes, ist dann STOP 2, bis dann ... .

  • Danke Christian,


    schaut jetzt so aus:


    in meinen Programmen:


    STOP_ROBOT (#FAST)

    und das Globale Unterprogramm:


    GLOBAL DEF STOP_ROBOT (STOP_TYP: IN)
    ;Beginning-Variables
    DECL STATE_T STAT
    DECL MODUS_T MODE
    DECL ST_TYP STOP_TYP
    MODE=#SYNC
    ;End


    REPEAT
    IF (STOP_TYP == #FAST) THEN
    CWRITE($CMD,STAT,MODE,"STOP 1") ;Brake F
    ELSE
    CWRITE($CMD,STAT,MODE,"STOP 2") ;Brake
    ENDIF
    UNTIL $ROB_STOPPED

    END
    ;ENDFOLD ;***********************************


    Gruss Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hallo,


    kann ich auf diese Weise einen Stop 0 auslösen?


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hallo,


    wie schon gesagt, Stop 0 halte den Submit Interpreter an, Stop 1 und 2 den Roboter Interpreter.


    Da gibt es schone einen kleinen Unterschied zu einem Brake oder Brake F.
    Hier wird nur die aktuelle Bewegung angehalten - das Progarmm laeuft weiter.


    Gruss Stefan

  • Hallo,


    aber in Kombination mit $ROB_STOPPED sollte es doch funktionieren??


    REPEAT
    IF (STOP_TYP == #FAST) THEN
    CWRITE($CMD,STAT,MODE,"STOP 1") ;Brake F
    ELSE
    CWRITE($CMD,STAT,MODE,"STOP 2") ;Brake
    ENDIF
    UNTIL $ROB_STOPPED


    Rainer

    - Ehrlichkeit, die im Pfandhaus gelandet ist, wird nie mehr eingelöst. - (Thomas Middleton (1580-1627), engl. Dramatiker)

  • Hallo


    ein Brake stopt die Bewegung net das Programm
    mit dem Cwrite Stop 1 hälst du das ganze Programm an und brauchst dementsprechen auch wieder die
    Anstartgeschichte in A-Extern (Drive Off, Drive On, Confmess, Ext_Start usw.)


    Gruß Loipe

  • also wenn die Motoren anbleiben dann nur noch ein weiteres mal $Ext_Start kommt drauf an wie die SPS programmiert ist wenn unsere Roboter das programm anhalten sieht das die SPS erstmal als Fehler und du fängst vom neuen an.


    aber auch ein weiteres mal $ext_start ist nicht unbedingt schön wenn der Roboter z.B. bei ner suchfahrt geziehlt anhalten soll.
    das Brake hat schon seine daseins berechtigung
    wo willst du denn kein Brake mehr haben und wieso?


    Gruß Loipe

  • Hallo Rainer,


    eigentlich habe ich es grad andersrum gemeint.


    CWRITE - cWrite ist wie betaetigen der Stopptaste am KCP.
    Bei Brake ohne weitere Bedingung wuerde die Bewegung anhalten aber sofort fortgesetzt, oder mit der naechsten weitergemacht werden.
    Ich wollte damit eigentlich nur sagen, das es einen Unterschied gibt.


    Gruss stefan

  • Hallo noch mal,
    kommt natürlich auf die Betriebsart an, wenn Automatik stand alone reicht dir ein,


    CWRITE($CMD,STAT,MODE,"RUN/R1/ANWENDERPROGRAMM()")


    wenn extern Betrieb, vor allem einer mit übergeordneter Steuerung oder ein auf der KRC gefaketer extern Betieb, ist aber alles in allem kein besonderes Problem die ganze Sache wieder anzustarten!

  • Hallo noch mal,
    kommt natürlich auf die Betriebsart an, wenn Automatik stand alone reicht dir ein,


    CWRITE($CMD,STAT,MODE,"RUN/R1/ANWENDERPROGRAMM()")


    wenn extern Betrieb, vor allem einer mit übergeordneter Steuerung oder ein auf der KRC gefaketer extern Betieb, ist aber alles in allem kein besonderes Problem die ganze Sache wieder anzustarten!


    ... wo ist der post geblieben, was geht hier heute ... ??? !!! !

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