Starten/Stoppen des Submitinterpreters

  • Hallo zusammen,
    ich habe ein Problem beim Starten eines Submitinterpreters über den Kommandokanal aus einem *.src Programm heraus. Der Sub soll nur einmal durchlaufen und dann wieder beendet werden. Problem ist nun das der Sub wie es scheint gar nicht gestartet wird und ich keinen Schimmer habe woran es liegen könnte (wenn ich die Funktion ohne im RoboterInterpreter ausführe funktioniert es so wie ich es mir vorstelle). Die CWRITE Methode kehrt mit
    STATUS.RET1 = #CMD_ABORT
    zurück
    Vielleicht hat ja einer nen Tipp :uglyhammer_2:
    Hier das aufrufende *srcPrg


    Code
    DEF startSubmit()
    	CWRITE ($CMD, STAT, MODE, "RUN/R1/Action(#eSetOutput1) > 3")  	; Start des Submitinterpreters 
    	WAIT FOR $PROG_INFO[3].P_STATE == #P_END        ; auf Beedingung des SubmitInterpreter warten  
    	CWRITE ($CMD, STAT, MODE, "CANCEL 3")		; Submitinterreter abwählen
    END


    und hier der Code im Submit



    Gruß und Dank
    Microbi

    Der Besitz der Weltherrschaft wird überbewertet.

  • Schritt für Schritt zum Roboterprofi!
  • 1. Was soll das "> 3" bezwecken? Sieht schon mal nach einem Fehler aus.
    2. Bezweifle, dass Parameterübergabe im $CMD-Kommando funktioniert.
    Sowas löst man anders. In der Schleife des Submit wartet man auf eine vom Hauptprogramm gesetzte globale Variable und führt dann die gewünschte Funktion aus.

  • Hallo,
    zu 1: Die ">3" bedeutet das der submit im Extended Submit-Interpreter 1 gestartet wird.
    zu 2:

    Zitat

    Sowas löst man anders.


    Muss man oder kann man? Der Standardweg ist wie du beschreibst ja möglich aber wer mag schon den Standardweg.


    Hintergrund ist das ich nicht ständig alle Submitinterpreter im Hintergrund laufen lassen will sondern ich will gezielt einen bestimmten starten und wenn dieser seine Aufgabe erledigt hat auch wieder beenden. Außerdem habe ich das Problem das maximal 7 Extended Submits gleichzeitig laufen können und ich ggf. aber mehr brauche und demzufolge sowieso welche starten und stoppen muss.
    Den Parameter habe ich allerdings auch im Verdacht.


    Gruß
    der Microbi

    Der Besitz der Weltherrschaft wird überbewertet.

    Einmal editiert, zuletzt von Microbi ()

  • Zitat


    Muss man oder kann man? Der Standardweg ist wie du beschreibst ja möglich aber wer mag schon den Standardweg.


    Ich bevorzuge den funktionierenden Weg ;) , egal ob Standard oder nicht.


    Zitat


    Hintergrund ist das ich nicht ständig alle Submitinterpreter im Hintergrund laufen lassen will sondern ich will gezielt einen bestimmten starten und wenn dieser seine Aufgabe erledigt hat auch wieder beenden. Außerdem habe ich das Problem das maximal 7 Extended Submits gleichzeitig laufen können und ich ggf. aber mehr brauche und demzufolge sowieso welche starten und stoppen muss.


    Mehr als 7 Submits? Da würde ich meine Programmstruktur nochmal grundlegend überdenken. Wie man an meiner blöden Frage nach dem "> 3" vielleicht erkennen konnte hatte ich mit den extended Submits noch nichts zu tun. Braucht man meiner Meinung auch nicht, habe bisher noch alles in einem dauernd laufenden Submit geschafft.
    Dürfte allerdings nicht gehen, wenn man interne Funktionen benötigt, die längere Zeit bis zur Erledigung benötigen. Da ist aber nicht das 'Waitforstate' gemeint, das lässt sich ohne Verzögerung des Submit lösen. Muss man halt ein wenig mehr nachdenken und programmieren.


    Zitat


    Den Parameter habe ich allerdings auch im Verdacht.


    Das lässt sich ja wohl recht einfach ausprobieren.

  • Da hast du Recht, wenn es funktioniert ist es am besten. :grinser043:


    Ich brauche die Extended Submits schon auch wenn es auf den ersten Blick für den ein oder anderen sinnlos scheint und das ganze durch nachdenken anders zu lösen ist auch nicht so ohne weiteres möglich da mich das Nachdenken erst dahin gebracht hat. Ich mache mit dem Roboter aber auch nicht die klassischen Pick and Place oder Schweiß und Klebeapplickationen sondern Sachen bei denen selbst KUKA ins staunen kommt und an der Hotline einem immer wieder gesagt wird das sollte eigenlich nicht gehen. Aber egal, genug der Selbstbeweihräucherung.



    Zitat


    Das lässt sich ja wohl recht einfach ausprobieren.


    Hier liegt das Problem ich habe selten Zugriff auf den Roboter weil der bereits beim Kunden steht. Aber sobald ich es getestet habe teile ich natürlich gern mit woran es gelegen hat.


    Gruß
    Microbi

    Der Besitz der Weltherrschaft wird überbewertet.

  • Hallo (mal wieder),
    also das oben beschriebene Problem lag wie vermutet an der Übergabe des Parameters. Dafür wurde einfach eine andere Lösung gefunden und schon läuft die Kiste.
    also merke:
    Submitinterpreter immer ohne Parameter aufrufen.
    Vielen Dank für Ihre Aufmerksamkeit. :genau:

    Der Besitz der Weltherrschaft wird überbewertet.

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