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

Ergebnis 1 bis 6 von 6

Thema: <> Abfrage

  1. #1
    Registriert seit
    08.09.2008
    Beiträge
    57
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    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!!!
    Zitieren Zitieren <> Abfrage  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    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

  3. #3
    Registriert seit
    18.03.2008
    Beiträge
    267
    Danke
    3
    Erhielt 26 Danke für 26 Beiträge

    Standard

    Versuchs mal mit .DBB anstatt .DB

    Code:
    WORD_TO_BLOCK_DB(DB_NUMBER).DBB(...)

  4. #4
    Registriert seit
    12.11.2007
    Beiträge
    92
    Danke
    1
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Was sind denn SACOS_NR, SACOS_ID und SACOS_JUMPER_BLOCK für Datentypen?
    Snape
    Geändert von Snape (15.04.2010 um 08:32 Uhr)

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    @Chefmech:
    in SCL schreibt man tatsächlich nur .DB und nicht .DBB - oder .DW statt .DBW oder .DD statt .DBD.

    Gruß
    LL

  6. #6
    Registriert seit
    08.09.2008
    Beiträge
    57
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Daumen hoch


    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;

Ähnliche Themen

  1. IF Abfrage in SCL
    Von fbeine im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 31.08.2012, 19:14
  2. Abfrage Bit und if Abfrage
    Von Move im Forum HMI
    Antworten: 5
    Letzter Beitrag: 11.05.2011, 21:58
  3. if- Abfrage
    Von Hannes im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 08.07.2009, 16:45
  4. abfrage SQL-Datenbank
    Von mertens2 im Forum PC- und Netzwerktechnik
    Antworten: 12
    Letzter Beitrag: 14.11.2008, 13:39
  5. bcd abfrage
    Von Hobby programmierer im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 26.05.2005, 22:51

Lesezeichen

Berechtigungen

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