Funktion ohne Return Value?

Zuviel Werbung?
-> Hier kostenlos registrieren
Will aus einer Funktion eine andere Funktion aufrufen, die mir eigentlich nur die Werte in einem DB umrechnet und in einen anderen DB speichert, sie liefert mir also keinen Wert an sich zurück, sondern beschreibt einen DB, mit dem ich weiterarbeite. Weil ich den Code oft brauche, habe ich den in eine FC gepackt.
Wenn ich aus der Funktion die andere Funktion aufrufe, so will sie halt das ich für den RET_VAL einen Merker eintrage.
So verständlich?
 
An die RET_VAL einfach eine
TEMP-Variable!

Muss zwar dann getippt werden, braucht aber keinen Speicher oder so.

Mfg
Manuel
 
RET_VAL

ach so, du hast keinen Parameter deklariert. Versteh ich aber trotzdem nicht. Sorry. Musst du die Variable beim aufrufenden Baustein eintragen? Wie hast du den aufzurufenden Baustein erzeugt?

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, genau, habe bislang einfach nur eine Temp-Dummy Variable da hingeschrieben, dachte halt nur, kannst ja mal fragen, ob es auch eine andere Möglichkeit gibt.

Danke für die überaus schnellen Antworten und schönes WE :)

EDIT @SPS-Concept

Habs auch unglücklich oben beschrieben, kommt davon wenn man immer zwwischen den PC´s pendlen muss, weil der an dem die SPS hängt kein INet hat...
Also FC1 ruft FC2 auf
FC1
...
...
call FC2 (
Dummy:=1,
RET_VAL := #Dummy1);

So, jetzt verständlich?
 
komisch

versteh ich nicht. Muss auch so gehen. Geh mal in Deklarationsteil des FC2 und schreib bei Datentyp vom RET_VAL VOID ein.

MfG
André Räppel
 
Määärziii Boku! :D

Mit Void will er nix zurückgeben. Toll auch, dass die AWL Hilfe Void nur im Kontext mit den Beispielen zu CHAR und sowas kennt.

Schönes WE nochmals (jetzt aber wirklich!)
 
Jede Funktion die einen Variablen Typ im Funktions Kopf unter Return->RET_VAL besitzt hat diesen dann als Rückgabewert. Der Rückgabewert ist eigentlich nur ein Ausgang. In Programmiersprachen wie ST/SCL ist so das man den bei einem Funktionsaufruf den RET_VAL direkt weiter Verwenden kann.

myVAR := myFC(par1:=10, par2:=true);

Wenn die Funktion myFC einen RET_VAL Besitzt wird dieser nach dem der Aufruf abgearbeitet wurde an die Variable myVAR übergeben.

In FUP/KOP/AWL ist der Vorteil gegenüber einem Normalen VAR_OUTPUT eher gering.
 
Zurück
Oben