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

Ergebnis 1 bis 2 von 2

Thema: Problem mit WORD_TO_BLOCK_DB in TIA S7-1517F-3 PN/DP

  1. #1
    Registriert seit
    19.04.2012
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    kann mir jemand sagen, warum ein Baustein, der so wie er ist, in anderen Hardwarekonfigurationen problemlos läuft, nur in der S7-1500er habe ich damit Probleme beim Aufruf.
    Der Befehl "WORD_TO_BLOCK_DB" wird im Code des Baustein rot unterringelt. Fahre ich mit dem Mauszeiger über den unterringelten Text, so erscheint die Meldung "Der Operand WORD_TO_BLOCK_DB ist nicht definiert."

    Hier das Codebeispiel:

    Code:
    // Copy the Anypointer
    #T_ptStep := #ptStep;
    
    // Check ID
    IF #T_AtptStep.ID <> w#16#10 THEN
        #FC_SEQ_Decode := -1;
        RETURN;
    END_IF;
    
    // Check DataType
    IF #T_AtptStep.DataType <> w#16#2 THEN
        #FC_SEQ_Decode := -2;
        RETURN;
    END_IF;
    
    // Check MemoryType
    IF #T_AtptStep.MemoryType <> w#16#84 THEN
        #FC_SEQ_Decode := -3;
        RETURN;
    END_IF;
    
    #FC_SEQ_Decode := 0;
    
    // Calculate DBB No
    #T_DBB_No := WORD_TO_INT(SHL(IN := BYTE_TO_WORD(#T_AtptStep.Offset2), N := 13) OR SHR(IN := #T_AtptStep.Offset, N := 3));
    
    // Look for a Byte who is not Zero
    FOR #T_i := 1 TO WORD_TO_INT(#T_AtptStep.Count) DO
        #T_Value := WORD_TO_BLOCK_DB(#T_AtptStep.DB_No).DB(#T_DBB_No + #T_i - 1);
        IF #T_Value <> 0 THEN
            FOR #T_i2 := 0 TO 7 DO
                IF (#T_Value AND INT_TO_BYTE(REAL_TO_INT(2 ** #T_i2))) <> 0 THEN
                    #Step := ((#T_i - 1) * 8) + #T_i2 + 1;
                    RETURN;
                END_IF;
            END_FOR;
        END_IF;
    END_FOR;
    
    #Step := 0;
    Gehört der Befehl evtl. nicht zum Befehlssatz der Steuerung oder kann es dafür noch andere Gründe geben?
    Falls es am Befehlssatz liegt, würde mich interessieren, ob es iwo für die jeweilige CPU eine Liste der verfügbaren Befehle gibt.

    Schon mal danke für alle die sich meinem Thema annehmen!
    MFG
    Zitieren Zitieren Problem mit WORD_TO_BLOCK_DB in TIA S7-1517F-3 PN/DP  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wurde bei Deinem TIA das Hilfesystem nicht mit installiert?
    Laut diesem Hilfesystem gibt es die SCL-Anweisung WORD_TO_BLOCK_DB nur für S7-300, S7-400
    siehe z.B. in der Hilfe > Index > WORD_TO > Explizite Konvertierung von WORD

    Liste verfügbarer Befehle: SIMATIC S7-xxxx Vergleichsliste für Programmiersprachen
    Die ganzen SCL-Konvertierungen xxx_TO_yyy sind da aber nicht detailliert aufgeführt --> "Weitere Informationen finden Sie im Informationssystem von STEP 7"

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 24.01.2013, 13:28
  2. Antworten: 10
    Letzter Beitrag: 13.09.2012, 07:31
  3. Antworten: 24
    Letzter Beitrag: 05.06.2012, 15:55
  4. Word_to_block_db
    Von hoT im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.03.2010, 18:58
  5. Strukturierter Zugriff mit WORD_TO_BLOCK_DB
    Von nobug im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 07.03.2008, 11:52

Lesezeichen

Berechtigungen

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