Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Schleife zweckmäßig

johannc
2007-02-14
2007-02-15
  • johannc - 2007-02-14

    Hallo wieder einmal,

    ich hab da ein kleines Problem

    Ich will mit einer Schleife eine Wertabweichung feststellen, so in der Art:

    wenn Istwert > (Sollwert + Toleranz) dann Kühlen bzw.

    wenn Istwert < (Sollwert - Toleranz) dann Heizen

    "er" soll aber solange kühlen oder heizen, bis der Istwert wieder im Toleranzbereich des Sollwertes liegt. Und das sollte "er" auch mehrmals pro Minute machen.

    Das wollte ich anfangs mit einer WHILE-Schleife machen, aber ich weiß nicht, ob er da alle anderen Berechnungen aussetzt (?)

    was gibt es sonst noch für Mittel und Wege?

    Danke!

     
  • Oberchefe - 2007-02-15

    Kuehlen:= Istwert > (Sollwert + Toleranz);

    Heizen:= Istwert < (Sollwert - Toleranz);

     
  • johannc - 2007-02-15

    Soweit so gut, so hatte ich das u.a. auch, aber das Problem scheint doch woanders zu liegen..

    In meinem Fall hole ich sowohl den Istwert aus PLC_PRG (also PLC_PRG.OUT_Temp Typ: REAL), als auch den Sollwert (also PLC_PRG.Temp_VORGABE Typ: REAL).

    Und angenommen, ich fahre den Sollwert durch eine Rampe nach oben und lasse den Istwert bei irgendeinem Wert konstant, so schaltet der Ablauf zwischen Heizen und Kühlen immer an derselben Stelle um..

    Also egal welchen Istwert ich vorgebe, bei mir wird immer bei einem Wert um die 26 umgeschalten.

    Woher kommt das?

     
  • johannc - 2007-02-15

    Ach herrje...

    Problem gelöst.. Es war eine Variable sowohl in PLC_PRG, als auch global definiert.

    Das kann ja auch nicht funktionieren.

    und @ Oberchefe: Danke!!

    Bis demnächst

     

Log in to post a comment.