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

Vergleich mit negativen Zahlen

cas
2008-04-03
2008-04-03
  • cas - 2008-04-03

    Hallo,

    habe heute was mekwürdiges gefunden:

    Habe zwei Variablen (VAR) deklariert:

    Alarm:BOOL;

    XYZ:REAL;

    Im Programm steht jetzt:

    XYZ:=0;

    Alarm:=(XYZ<(-40) OR XYZ>120)

    "Egbebis ist dann TRUE ". Also Alarm hat den Wert TRUE !

    Kurzrum soll geprüft werden, ob der Wert größer 120 oder kleiner -40 ist.

    Geht aber nicht...

    Muß ich da etwas anders deklarieren ?

    MfG

    CAS

     
  • mburggra - 2008-04-03

    So wie du es hier machst, erscheint es mir nicht ganz einleuchtend.

    Du weisst "Alarm" einen Wert ODER einen anderen zu !!

    Machs doch mit ner IF- Anweisung:

    IF XYZ<-40 OR XYZ>120

    THEN Alarm:=TRUE;

    ELSE Alarm:=FALSE;

    END_IF

    oder so in der art !!!

    viel Glück !

    Mfg Marco Burggraf

     
  • cas - 2008-04-03

    Hallo,

    grundsätzlich ist deine Lösung das "Gleiche".

    Aus (XYZ<-40) wird ja ein BOOLisches Ergebmis , dass dann direkt der VAR Alarm zugewiesen wird. Man spart sich das If ELSE ind End_IF.

    Das Problem ist jedoch, das für die SPS TRUE herrauskommt.

    Soweit ich weiss ist 0 größer -40 und somit ist (XYZ<-40) gleich FALSE wenn XYZ=0 ist.

    Danke erstmal an der Mithilfe.

     
  • mburggra - 2008-04-03

    ja stimmt, du hast recht...

    Eigentlich sollte deine Lösung genau so funktionieren

     
  • cas - 2008-04-03

    Nö....

    Wenn ich eingebe:

    Alarm:=(XYZ>120);

    dann funktionierts einwandfrei.

    aber...

    Alarm:=(XYZ<-40);

    geht nicht!

     
  • mburggra - 2008-04-03

    also ich habs grad auch ausprobiert. da ist alles so, wie es sein soll !

     
  • cas - 2008-04-03

    versteh ich nicht...

     
  • Oberchefe - 2008-04-03

    Zitat:
    ersteh ich nicht...

    Bei mir tut's auch.

    Welche Hardware verwendest Du?

     

Log in to post a comment.