kopieren einer INt Variable in einer Funktion

micha1983
2010-08-25
2010-08-27
  • micha1983 - 2010-08-25

    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

     
  • gravieren - 2010-08-25

    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
    
     
  • Erik Böhm - 2010-08-26

    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

     
  • micha1983 - 2010-08-26

    Hallo entschuldigung, das ich zu wenig Informationen geliefert habe.

    Problem ist folgendes:

    VAR_INPUT
           IN_Zahl1:     INT;
    END_VAR
    VAR
           tmp_Zahl:    INT;
    END_VAR
    tmp_Zahl := IN_Zahl1;
    

    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

     
  • Erik Böhm - 2010-08-26

    Moin

    Ich hab mal ein Test Projektchen angehängt.
    Vielleicht hilfts ja zum besseren Verständnis.

    Gruß
    Erik

    FunktionTest.zip [2.61 KiB]

     
  • micha1983 - 2010-08-27

    Danke!

     
  • Erik Böhm - 2010-08-27

    Und ? Hats geholfen ?

     

Log in to post a comment.