Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: Vergleichsausdrücke in SCL

  1. #1
    Registriert seit
    17.05.2006
    Beiträge
    32
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe eine Frage zu Vergleichsausdrücken in S7 V5.3 SCL,
    und zwar durchlaufe ich ein array of byte und vergleiche jedes Element mit einer Konstanten vom typ byte ("zwei"). Den Vergleich den ich anstellen möchte ist größer gleich, hört sich einfach an, hab aber folgendes Problem:

    das möchte ich machen:
    (1.) ELSIF DB1001.Vorbed_aktion_2[i] >= zwei THEN //geht nicht("unzulässige Operandentypen")

    das wiederum geht:
    (2.) ELSIF DB1001.Vorbed_aktion_2[i] = zwei THEN

    so würde es zur Not auch funktionieren:
    (3.) ELSIF CHAR_TO_INT(BYTE_TO_CHAR(DB1001.Vorbed_aktion_2[i])) >= CHAR_TO_INT(BYTE_TO_CHAR(zwei)) THEN

    kann mir jemand erklären warum (1.) nicht funktioniert, oder was ich eventuell falsch mache ?
    Zitieren Zitieren Vergleichsausdrücke in SCL  

  2. #2
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Hallo

    schreibst du >=zwei oder ='2' ?

    Kann mir gut vorstellen, dass >=, <= bei Siemens-SCL bei char-Typ einfach nicht tut.
    Hab meinerseits auch den Weg über die INTs genommen, was immerhin funktioniert.

    Viel Erfolg

  3. #3
    Registriert seit
    17.05.2006
    Beiträge
    32
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ich hab´s genau so geschrieben, wie´s da steht ">= zwei" und zwei ist:
    "
    const
    zwei:=byte#2
    END_CONST
    "
    also byte
    Was mich halt stutzig macht ist, dass "= zwei" geht, aber ">= zwei" nicht?

  4. #4
    Registriert seit
    27.08.2003
    Ort
    Schweitenkirchen
    Beiträge
    472
    Danke
    101
    Erhielt 73 Danke für 59 Beiträge

    Standard

    Hallo,
    mach mal die SCL-Hilfe auf und suche nach "Vergleich", da wirst du eine Tabelle mit möglichen Vergleichsfunktionen finden.

    Also Byte/Word etc. geht nur mit "=" oder "<>".
    Bist mit deinem Wandeln gar nicht so Falsch gelegen.

    Gruss Zefix

  5. #5
    Registriert seit
    17.05.2006
    Beiträge
    32
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke erst mal für die Antworten,

    meine SCL Hilfe gibt dies Information irgendwie nicht her, aber ich denke Du hast recht. Obwohl ich noch nicht ganz denn Sinn ergründet habe warum das nicht geht, naja sei´s drum.

    Gruß Torsten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •