Überschleifen von END Anweisung

  • Hallo Zusammen,
    gibt es eine Möglichkeit das END eines Programms das mit CALLP aufgerufen wurde zu
    überschleifen? Der Genauhalt am Ende des Unterprogramms ist doch eher unschön.

  • ANZEIGE
  • Hallo,


    mir ist da keine Möglichkeit bekannt.


    Vielleicht kann man das Problem ja umgehen, in dem man das Programm anders strukturiert. Also Unterprogramme nur wechselt, wo der Arm sowieso steht. Oder auf CallP verzichten und z.B. GoSub oder XLoad verwenden.


    Demnächst gibt es wohl auch noch ein "Include", das "fügt" andere Programmdateien in einer Zeile ein, ohne das Programm zu wechseln. Sowas würde dir wohl helfen.


    Grüße


    Urmel

  • Hallo Urmel,
    danke für Deine Antwort und glückwunsch zu den runden 1100 Beiträgen :)
    Umgehen ist leider nicht möglich, da das Programm in Teilprozesse gegliedert wird, die abhängig von Eingangssignalen in undefinierter Reihenfolge abgearbeitet werden müssen. Daher muss jeder Teilprozess nach jedem anderen Stattfinden können.
    GoSub ist keine Alternative, die Teilprozesse sollen in Programme ausgelagert sein um ein wenig die Übersichtlichkeit zu erhalten.
    XLoad muss ich mir mal ansehen.
    Was heißt "Demnächst" bei Mitsubishi? Bei Kuka ist das meist 6-12 Monate.
    Include klingt nach dem Mittel der Wahl!
    Grüße
    Interrupt

  • Also wird mir das INCLUDE in diesem Leben nichts mehr nützen...
    Vielleicht ist es so weit wenn Du die 2200 Beiträge knackst -> Also halt Dich ran :)


    Dann kapere ich mal meinen eigenen Beitrag mit einem etwas abweichenden aber doch dazu passenden Thema:


    Wenn ich beim erreichen einer Position eine Aktion ausführen will gibt es ja WITHIF (oder wie der schöne Befehl grad geschrieben wird). Hier habe ich ja das gleiche Problem mit dem Überschleifen wenn ich CALLP nutze. Gibt es die Möglichkeit irgendwie ein SUB/Programm/etc mit Parameterübergabe aufzurufen ohne nen Genauhalt zu provozieren.


    Grüße


    Interrupt

  • Also ich glaube das CallP ist so ein Relikt aus den alten Zeiten. Das gab es schon beim alten RV-E4NM in Melfa Basic III, also seit etwa 20 Jahren. Also aus der Zeit bevor es Multitasking in Melfa Basic gab.


    Ich benutzte das gar nicht. Allerdings schreibe ich sowieso nur Codefetzen von Hand, die Hauptarbeit leistet bei uns ein selbstgeschriebener Codegenerator. Dessen Grundprinzip ist ein mit If ... Then ... Else aufgebauter Verteiler, der die Unterprogramme mit Gosub anspringt. (Select Case war in den ersten Versionen ziemlich buggy, deshalb verzichten darauf, damit der Code auch auf älteren Robotern läuft.)


    Mir ist nicht so ganz klar, wie ein Programm aussieht, wo die Verschachtelungstiefe von Gosub nicht reicht. Werden die Unterprogramme immer wieder "unvorhergesehen" unterbrochen und nie beendet ? Dann sollte man vielleicht die Programmlogik etwas überdenken.


    Grüße


    Urmel

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