Ich möchte alle meine Greiferroutinen (DEF Gr1Oeffnen, DEF Gr2 Oeffnen, usw) in einer SRC abspeichern. Es wird aber immer nur die erste Routine im SRC gefunden!
mehrere routinen in EINER SRC
- bdagstefan
- Erledigt
-
-
Dann stell mal dein src hier rein,dann gehts schneller
-
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
;________________________________________________________
ENDDEF rGrOeffnenA__()
do_GR_1_Schliessen=FALSE
PULSE (do_GR_Blasen,TRUE,0.5)
WAIT SEC 0.5
;________________________________________________________
ENDDEF rGrOeffnen_B_()
do_GR_2345_Schliessen=FALSE
PULSE (do_GR_Blasen,TRUE,0.5)
WAIT SEC 0.5
;________________________________________________________
ENDDEF rGrOeffnen__C()
do_GR_56_Schliessen=FALSE
PULSE (do_GR_Blasen,TRUE,0.5)
WAIT SEC 0.5
;________________________________________________________
END -
-
Ob mit oder ohne Leerschlag zwischen Name und () spielt keine Rolle. Sonst würden alle unsere Roboter nicht laufen.
-
welche kosten verursacht der Versuch?
-
Habs geändert aber bringt nichts. Muss man vor jedes DEF GLOBAL schreiben damit die Routinen global bekannt sind?
Übrigens sieht das mit den Leerschlägen in der KUKA Doku so aus! -
versuch mal überall ein Leerzeichen einzufügen.
Auch zwischen Namen und ( ). Zwischen den Klammern auch ein Leerzeichen. -
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
-
wir haben es schon öfter gemacht und funktioniert.
vielleicht hast du ja noch irgendwelche zeichen versteckt, die du nicht gepostet hast!! -
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
-
Vielen Dank Tilman und Sven
Tönt mal kompetent. Ich werde das so ausprobieren. -
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
-
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 -
Hallo Tilmann
Wo finde ich diese Doku? Ist sie auf der DokuCD? -
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. 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 -
Geht mir ganz genauso... das mit dem Spiegel
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