Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 49537

Step 7 Statusabfrage von mehreren BOOL-Variablen eines DB mit Schleife / Loop

$
0
0
Hallo zusammen,

ich habe in meinem DB5 genau 1600 Variablen vom Datentyp BOOL.
Diese möchte ich mit Hilfe einer Schleife im FC4 auf TRUE abfragen.
Die Häufigkeit der jeweiligen Variablen die TRUE sind sollen anschließend in dem DB6 pro Variable addiert werden.

Um den Hintergund zu erklären:
Es gibt 1600 Störmeldungen im DB5, die 1 oder 0 sein können. Deren Statuswechsel von 0 auf 1 soll abgefragt und für jede Störung einzeln gezählt werden.
D. h. am Ende soll im DB6 gespeichert werden, wie oft die jeweilige Störung aufgetreten ist.
Ich verwende eine S7-300 und programmiere in AWL.

Wie kann man das umsetzen?
Ich dachte daran einen Loop zu verwenden, der die einzelnen Variablen des DBs indirekt adressiert und die Adresse nach jedem Loop hochzählt. Das Ganze 1600 mal durchlaufen lassen.
Wenn die Variable von 0 auf 1 wechselt soll deren Zähler um 1 erhöht werden. Gibt es keinen positiven Flankenwechsel wird der Zählerteil übersprungen.

So ungefähr:

U FehlerNrX
FP FlankenmerkerX
SPBN _001
L FehlerZählerX
L 1
+I
T FehlerZählerX

_001: NOP 0

Die Frage ist, wie ich das mit der indirekten Adressierung hin bekomme, damit ich die Adresse hoch zählen kann?
Für Beispielprogramme und Erklärungen wär ich dankbar.

Grüße
Chrom

Viewing all articles
Browse latest Browse all 49537


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>