Beiträge von m.fluegel-HK-con

    Denn wenn zwischen den CWRITE Befehlen der Startimpuls von der SPS kommt (und irgendwann passiert das),

    Das ist ausgeschlossen. Der Startvorgang des Robis wird Vollautomatisch über eine Schrittkette gestartet. Sprich bevor per SPS der Startvorgang gepulst wird ist der iMain_aufrufen auf jeden fall zurück gesetzt.



    Zitat

    Ja das ist auch sinnvoll, kann aber auch in der SPS schon entsprechend programmiert werden. Mein Hauptargument gegen diese CWRITE-Methode ist eher die Tatsache, dass die parallelen Prozesse deutlich schwerer zu durchschauen und zu debuggen sind (Sieht man schon an dem kleinen 'Problem' mit dem Impuls ;) ).

    Was meinst du damit das die "Parallelen Prozesse" schwerer zu durchschauen sind? Tue ich hier was übersehen?

    Servus zusammen,


    ich habe zu dem Thema im Forum ein paar Ideen gefunden aber leider noch keine Endlösung da ich noch ziemlich neu im Thema Kuka bin.:/


    Ich möchte unseren Roboter per Externer SPS starten und stoppen. Tut der Roboter nun während dem Betrieb einen Fehler ,z.B. Teileverlust, melden wird er gestoppt und nun soll das "Main" Programm neu Aufgerufen werden da er sich dort Initialisiert und dementsprechend das Programm fortführt.


    Wie löst man dies am besten?


    Ich habe gelesen es soll mit "cwrite" in der Roboter SPS funktionieren?

    Bsp:

    ;"User SPS Kuka"

    IF IN iMain_aufrufen==True Then

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

    ENDIF


    Anbei ein Einblick in mein Programm.


    Beispiel:


    ;Main Start

    ;--------------------------------------------

    ;Initialisierung

    ;--------------------------------------------

    Job1_Init_Grundstellung()

    ;--------------------------------------------

    ;Zyklusstart

    ;--------------------------------------------

    REPEAT


    CONTINUE


            IF nGreiferStatus==0 THEN


          Job4_BAZ_entladen()


            ENDIF


    CONTINUE


      IF nGreiferStatus==2 THEN


          Job5_Teil_ablegen()


    CONTINUE


    IF nGreiferStatus==4 THEN

    .....

    .....

    .....

    ......

    .....


      CONTINUE


    UNTIL  ( NOT iBelade_an )


    PTP XHOME

    TRIGGER WHEN DISTANCE=1 DELAY=0 DO regpos=0


      HALT