mehrere routinen in EINER SRC

  • Schritt für Schritt zum Roboterprofi!
  • Sieht etwa so aus:
    &ACCESS RVP
    &PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
    &PARAM EDITMASK = *


    DEF rGrSchliessenABC()


    do_GR_Blasen=FALSE
    do_GR_1_Schliessen=TRUE
    do_GR_2345_Schliessen=TRUE
    do_GR_56_Schliessen=TRUE
    WAIT SEC 0.5
    ;________________________________________________________
    END



    DEF rGrOeffnenA__()


    do_GR_1_Schliessen=FALSE
    PULSE (do_GR_Blasen,TRUE,0.5)
    WAIT SEC 0.5
    ;________________________________________________________
    END



    DEF rGrOeffnen_B_()


    do_GR_2345_Schliessen=FALSE
    PULSE (do_GR_Blasen,TRUE,0.5)
    WAIT SEC 0.5
    ;________________________________________________________
    END



    DEF rGrOeffnen__C()


    do_GR_56_Schliessen=FALSE
    PULSE (do_GR_Blasen,TRUE,0.5)
    WAIT SEC 0.5
    ;________________________________________________________
    END


  • ...
    DEF rGrSchliessenABC()


    DEF rGrSchliessenABC ()


    ...C{space}(...

    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.

  • welche kosten verursacht der Versuch?

    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.

  • Hat wirklich noch niemand in einer sub-src mehrere routinen abgelegt? kann es sein, dass man beim Kuka 87 src-files abspeichern muss für 87 Routinchen? Wenn ich alle Routinen im main.src habe geht der Aufruf ja auch. Man blättert sich dann aber dumm und dämlich wenn man was sucht. Ich bin mich gewohnt verwante routinen in einem File abzulegen. Dies macht auch den Unterhalt der Routinen einfach wenn man was ändern muss.
    Nochmals. Die Idee ist, dass ich eine main.src habe mit Initialisierung und Hauptablauf. in einer weiteren src alle Greiferroutinen, in einer weiteren src die Bearbeitungsroutinen. Ich muss also aus jeder routine jede andere Routine aufrufen können egal in welcher src sie abgespeichert ist.


    Vielen Dank

  • Hallo mlstefan,


    In der Dokumenation Programmier Experte, 5.2 steht :


    <<Sollen Unterprogramm--/Funktionsaufrufe auch von anderen Programmen möglich sein, so
    müssen sie global sein, also in einem eigenen SRC--File abgespeichert werden. Alternativ
    kann einem lokalen Unterprogramm das Schlüsselwort “GLOBAL” vorangestellt werden.>>


    Also, die Funktion mit dem Namen des Source-Files ist immer global, die anderen müssen so deklariert werden.


    Tilman

  • Richtig!


    Also anstatt DEF einfach GLOBAL DEF!


    Gruß


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Das gleiche gilt auch für Funktionen als FUNC und auch für Variablen in einer *.dat. Diese können auch dort GLOBAL gesetzt werden.


    Gruß


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Wobei es diese Funktionalität noch nicht so ganz lange gibt, soweit ich weiß. Aber mittlerweile mache ich mir auch nach diesem Muster ganze Funktionsbibliotheken.
    Bei den alten KRC2 ff. muss man halt auf ein Schema ausweichen, wie es heute noch in der BAS.SRC beispielhaft zu finden ist. Das ist auch ganz praktikabel, wenn auch für Funktionen weniger geeignet.


    Grüße,
    Michael


  • Wobei es diese Funktionalität noch nicht so ganz lange gibt, soweit ich weiß.


    Hallo Michael,


    Scheint mir doch schon etwas älter zu sein. Bei der Dokumentation ProgHBExperte R4.1 08.01.00 de steht das jedenfalls bereits so.


    Schöne Grüße,
    Tilman

  • ProgHBExperte ist nichts anderes als das Dokument "Programmierung Experte". Dort hattest Du auch das Schema gefunden, welches den Unterschied zwischen lokalen und globalen Unterprogrammen erklärt.


    Tilman

  • Scheint mir doch schon etwas älter zu sein.

    Das sage ich mir jeden Morgen, wenn ich das Gesicht rasiere, was mich im Spiegel anguckt. 8) Hab' ja nur gemeint, weil die Version nicht explizit angegeben wurde; und wenn man dann so arbeitet, und schwupps, sind wieder 10 Jahre rum....


    Grüße,
    Michael

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