Modul in einem Modul aufrufen? geht das?

  • Hallo Leute,


    irgendwie habe ich mit der Suchfunktion nicht das gefunden was ich suche.


    Mein Problem/Vorhaben:


    Auf der Krc1 (KR30)sind verschiedene Programme(Module) mit Inlineformularen erstellt worden.


    Nun soll in einem neuen Programm, 3 dieser Module hintereinander in einer endlosschleife ausgeführt werden.
    Wie geht das?


    Wäre cool wenn mir jemand weiterhelfen könnte.



    mfg


    Rüdiger

  • Schritt für Schritt zum Roboterprofi!
  • Hallo


    vielleicht al sverdeutlichung:


    kann ich inderhalb eines Modul schreiben:


    ini


    ptp home....


    loop
    test()
    test1()
    endloop


    ptp home


    end



    geht das? oder ist das einfach zu "blauäugig"?


    Grüße


    Rüdiger

  • Das nennt sich dann externe Unterprogramme, du must nur im Kopf des Hauptprogramms sagen das es externe Programme sind.


    def hauptprogramm ()
    ext test ()
    ext test1()


    alternative kann man glaube ich das auch in der $config.dat sagen welche Prgramme als externe Unterprogramme arbeiten.


    MfG
    Christian

  • klar geht das. nur aus deinem loop kommste so halt nimmer raus.

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • seh ich da oben kein exit... :shock:

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Hey,


    da steht kein Exit und es braucht auch keins da zu sein.... es wird manuell angehalten.
    Das macht keine Probleme.


    Es hat alles so funktioniert wie ich wollte...


    nur muss man bei der Deklaration mehrerer Programme folgendermaßen vorgehen:



    ext test() ; test1(); usw.
    ini
    ptp home
    loop
    test()
    test1()
    endloop
    ptp home


    ein zweites ext test2() ist nicht möglich, zumindest bei KRC1.
    Also die Programme mit Semikolon aufzählen.


    Aber mit etwas probieren hat es geklappt.
    Also wie immer Lob an die Leute, die dieses Forum so nützlich machen...


    VIELEN DANK


    Grüße
    Rüdiger

  • ein zweites ext test2() ist nicht möglich, zumindest bei KRC1.
    Also die Programme mit Semikolon aufzählen.


    Ähem...


    alles was nach dem Semikolon steht ist nur ein Kommentar
    Da stimmt was nicht

    Weniger als 100% wird nicht akzeptiert :)

  • hey,


    du hats recht eigentlich kommt nach ; Kommentar. Vielleicht auch nur wenn das ; am Anfang der Zeile steht... ich weiß es nicht...


    Aber ich hab viel rumprobiert und mit:


    ext test()
    ext test1()


    ini


    test()
    test1()



    ...ging es nicht. da kam immer die Meldung :


    Unzulässiger Satz und Modul test1 () nicht vorhanden...



    ich hab dann das test1() wieder entfernt und es ging wieder. um dann zu testen das es nicht am test1() selbst gelegen hat, habe ich das test() durch test1() ersetzt, und das ging auch wieder. Nur beide module gleichzeitig ging net. Dann habe ich versucht es mit Aufzählung zu machen, sodass ext ... nur einmal steht, und nach etwas probieren kam nur beim Semikolon keine Fehlermeldung. und auch die Sprünge in die jeweiligen Module haben funktioniert.
    Wo da die Gründe liegen.... echt keine Ahnung, dafür kennich mich viel zu wenig aus. Für meine Zwecke hat es geholfen und so geklappt wie ich es beschrieben habe.
    Vielleicht hat ja jemand Zeit sowas kurz selbst zu probieren... und kann von seinen Erfahrungen berichten...


    Grüße


    Rüdiger

  • Also, ich habe meist keine Deklaration mit EXT TEST() gebraucht. Das geht bei den neueren Softwareständen (irgendwie ab 4.irgendwas) auch ohne.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.


  • ein zweites ext test2() ist nicht möglich, zumindest bei KRC1.
    Grüße
    Rüdiger


    Das stimmt mal definitiv nicht. Ich kann in der Config.dat beliebig viele EXT-Programme deklarieren.
    Auch bei der KRC1.

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Hi,
    geht aber auch im Programmkopf, siehe cell.src mit 3 example aufrufen!!!

  • Hi Leute


    Kann ich leider nicht viel zu sagen, aber ich hatte als Anwender ein neues Modul angelegt und in diesem ging es eben nur so wie ich beschireben habe. In der config.dat habe ich gar nix gemacht.


    und ohne das ext , quasi einfach direkt test() aufrufen kam die Meldung modul nicht vorhanden. Das fand ich aber logisch. Ich war nur verwundert wie das mit mehreren Aufrufen von Modulen war... aber ich möchte hier keinen verwirren oder irgendein blödsinn erzählen...Ich kann nur beschreiben wie es bei mir war. ich könnte nochmal nachschauen welche software version auf dem Kr 30 drauf is, wenn das noch hilft bzw. interessiert.


    Grüße und danke


    Rüdiger

  • Hi Rüdiger,


    wenn du die Unterprogramme innerhalb deines src-files geschrieben hast, ist das EXT auch überflüssig.
    Den Aurfuf EXT benötigst du nur, wenn deine Unterprogramme als eigene Module angelegt worden sind.

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Hey Roboman,


    genau so ist es. Es sind mehrere eigene Module und in dem neuen Modul sollten 3 dieser module aufgerufen werden und in einer endlosschleife abgearbeitet werden. Immer die 3 Module hintereinander durch und dann wieder von vorne.
    Dazu brauchte ich dann das ext. Warum ich dann mehrere programme mit semikolon abgetrennt aufrufen mußte weiß ich nicht. Es ging eben nur nicht wenn ich ext test() und in der der nächsten Zeile ext test1() geschrieben habe..


    soweit so gut..


    schöne WE


    grüße Rüdiger

  • Hi noch mal,


    du kannst auch aus der 'DEF Test( )' Zeile der externen Module eine 'GLOBAL DEF Test( ) machen, dann sind die überall bekannt!!!

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