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

Ergebnis 1 bis 3 von 3

Thema: ein Wertüberschreitungsfehler in SCL

  1. #1
    Registriert seit
    03.05.2006
    Beiträge
    58
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Kollegen,

    auf die Zeile Fehler_CODE := REAL_TO_DINT((a-11*10000)/ 10); tretet es ein Fehler auf: Wertüberschreitung in der Konstanten. ich weiß nicht wie kann ich die Zeile korrigieren, kann jemand hier mir hilfen?


    FUNCTION FC1200 : VOID
    VAR
    DB_INDEX : INT;
    a : DINT;
    FEHLER_CODE : DINT;
    FEHLER_ANZAHL : INT;
    m : INT;
    n : INT;
    c : INT;
    END_VAR

    BEGIN
    DB_INDEX := 0;
    a := 0;
    FEHLER_CODE := 0;
    FEHLER_ANZAHL := 0;
    m := 0;
    n := 0;
    c := 0;

    FOR DB_INDEX := 0 TO FEHLER_ANZAHL*4 BY 4 DO
    a := DWORD_TO_DINT(DB1100.DD[DB_INDEX]);
    Fehler_CODE := REAL_TO_DINT((a-11*10000)/ 10);
    m := REAL_TO_INT(FEHLER_CODE / 8 );
    n := REAL_TO_INT(FEHLER_CODE - m * 8 );
    IF DB900.DX[m,n] = 0 THEN
    FOR c := DB_INDEX TO FEHLER_ANZAHL*4 BY 4 DO
    DB1100.DD[c] := DB1100.DD[c+4];
    END_FOR;
    FEHLER_ANZAHL := FEHLER_ANZAHL-1;
    END_IF;
    IF DB_INDEX = FEHLER_ANZAHL*4 THEN
    DB_INDEX := 0;
    END_IF;
    END_FOR;

    END_FUNCTION


    MFG,
    Rose
    Zitieren Zitieren ein Wertüberschreitungsfehler in SCL  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Ich weiss nicht wie SCL reagiert, aber aus Erfahrung mit anderen Programmiersprachen:
    mal versuchen die Konstanen (10, 11 bzw. 10000) einfach durch 10.0, 11.0 bzw. 10000.0 als Gleitpunktzahl anzugeben. Ansonsten wird wahrscheinlich mit INT gerechnet, was zum Überlauf führt.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Rose ist offline Benutzer
    Themenstarter
    Registriert seit
    03.05.2006
    Beiträge
    58
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ja, es funktioniert! vielen herzliche Dank!

Lesezeichen

Berechtigungen

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