Step 7 Datenwörter aus DB Rotieren und vergleichen

instaE-H7

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

ich stehe vor folgender Problematik:

Ich habe einen DB mit Zahlenwerten (Uhrzeiten in DEZ). Diese einzelnen Werte möchte ich gerne nacheinander mit der Aktuallzeit vergleichen, das ganze als Loop. Also immer wiederkehrend. Bei Modsoft/Unity gibt es dafür die Funktion TBLK. Tabelle in Block. Gibt es ähnliches bei S7? Ich werde aus den einzelnen Komponenten wie Pointer, Fifo usw. nicht schlau bzw. kann diese irgendwie nicht für meine Anwendung verwursten.




Vielleicht hat ja jemand einen Tipp für mich!


Vielen dank!
 
Hallo instaE-H7.
Ich habe ein ähnliches Problem so gelöst:

Code:
VAR_TEMP
  t_Schleifen_Zaehler : WORD ;
  t_DPointer : DWORD ;
END_VAR


//NW 1
      L     0                           // Zähler mit 0 vorbelegen
      T     #t_Schleifen_Zaehler

LOOP: L     #t_Schleifen_Zaehler        // Schleifen Abbruch Bedingung
      L     10                          // maximale Anzahl durchlaeufe
      <I    
      SPBN  END

      L     L#160                       // Startwert 20 Byte: 160 = 8 Bit x 20
      T     #t_DPointer

// Speicheradresse errechnen
      L     #t_Schleifen_Zaehler
      L     2                           // größe WORD in Byte
      *I    
      ITD   
      L     L#8                         // In Bit umrechnen
      *D    
      L     #t_DPointer
      +D    
      T     #t_DPointer

// Wert
      AUF   DB1
      L     DBW [#t_DPointer]


// Berechnung, vergleichen usw.

      L     #t_Schleifen_Zaehler        // Zähler um 1 addieren
      +     1
      T     #t_Schleifen_Zaehler
      SPA   LOOP

     END:  NOP   0


Gruß,
Tuffi
 
Zuletzt bearbeitet:
Zurück
Oben