Moin
Auch ohne genaues Verständnis des Problems (mangels ausreichender Informationen) ist das Problem vermutlich, dass sich Funktionen grundsätzlich nicht so Verhalten wie PRG's oder FB's. Eine Funktion 'existiert' nur zur Laufzeit, also nur während des Aufrufs.
Wenn du eine Variable aus einer Funktion benutzen willst, musst du das direkt mit dem Aufruf machen.
Siehe auch CoDeSys Online Hilfe...
Gruss
Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo liebes Forum,
eventeull sehe ich den Wald vor lauter Bäumen nicht mehr. Aber ich habe ein komisches phanomen.
Wenn ich eine Funktion mit einer INPUT Variable
in_zahl: INT;
einer variable zahl auch vom Typ INT in einer Funktion zuweisen will funktioniert dies nicht.
Die gleiche Zuweisung in einem Programm oder Funktionsbaustein funktioniert wunderbar.
Gibt es dafür eine Erklärung?
Danke Gruß Michael
HI
Soll die Varialbe zugewiesen werden ? (Ist ist INPUT-Variable)
Soll des eine neue Variable sein in einer Funktion ?
Zeig doch mal die Funktion hier mit dem Button "Code"
Hier ist der Code
Moin
Auch ohne genaues Verständnis des Problems (mangels ausreichender Informationen) ist das Problem vermutlich, dass sich Funktionen grundsätzlich nicht so Verhalten wie PRG's oder FB's. Eine Funktion 'existiert' nur zur Laufzeit, also nur während des Aufrufs.
Wenn du eine Variable aus einer Funktion benutzen willst, musst du das direkt mit dem Aufruf machen.
Siehe auch CoDeSys Online Hilfe...
Gruss
Erik
Hallo entschuldigung, das ich zu wenig Informationen geliefert habe.
Problem ist folgendes:
Wenn ich diesen Code als Funktion ausführe und beobachte bzw. abfrage, bleibt tmp_Zahl=0.
Wenn ich den gleichen Code in einem Programm oder FB ausführe wird tmp_Zahl=IN_Zahl1.
Die Hintergründe dafür habe ich leider nicht verstanden.
Kann diese mir jemand erklären?
Danke
Gruß Michael
Moin
Ich hab mal ein Test Projektchen angehängt.
Vielleicht hilfts ja zum besseren Verständnis.
Gruß
Erik
FunktionTest.zip [2.61 KiB]
Danke!
Und ? Hats geholfen ?