<> Abfrage

husox81

Level-1
Beiträge
57
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wisst Ihr vielleicht, wie man so eine Abfrage RICHTIG stellen kann?

Code:
IF PEB529 <> (WORD_TO_BLOCK_DB(DB_NUMBER).DB[SACOS_NR + ((SACOS_ID-1) * SACOS_JUMPER_BLOCK)]) THEN            
              ;
        END_IF;

Den ich kriege beim compelieren diese Fehlermeldung: "Bereichsüberschreitung der Konstanten"

Ich vermute mal das ich PEB mit WORD_TO_BLOCK_DB nicht vergleichen kann!

Vielen Dank im Vorraus!!!
 
Nö ... du vergleichst da Byte mit Byte - das ist OK.
Was sind denn in der Formel für den Byte-Index alles Konstanten ?
Lass dir den Byte-Index doch mal seperat ausrechnen und trag den Wert (Typ INT) beim Byte-Index ein ...

Also so :
Code:
i := SACOS_NR + ((SACOS_ID-1) * SACOS_JUMPER_BLOCK) ;
IF PEB529 <> WORD_TO_BLOCK_DB(DB_NUMBER).DB[i] then
 
 END_IF;
Gruß
LL
 
Was sind denn SACOS_NR, SACOS_ID und SACOS_JUMPER_BLOCK für Datentypen?
Snape
 
Zuletzt bearbeitet:
@Chefmech:
in SCL schreibt man tatsächlich nur .DB und nicht .DBB - oder .DW statt .DBW oder .DD statt .DBD.

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank an alle!

Das Problem wurde so gelöst:
Code:
// PEW-ID
            k1 := BYTE_TO_INT(MB512);
            
            // PEW-STATUS_SIGNAL_WORD wird an DB-STATUS_SIGNAL_WORD übergeben
            FOR i1 := 1 TO 119 BY 1 DO
                WORD_TO_BLOCK_DB(DB_NUMBER).DW[DB_SIGNAL_WORD1 + ((i1-1) * DB_JUMPER) + ((k1-1) * DB_JUMPER_BLOCK)] := MW[514 + ((i1-1) * PEW_SIGNAL_WORD_JUMPER)];
            END_FOR;

:TOOL::TOOL::TOOL:
 
Zurück
Oben