Step 7 Datenbausteine

holex

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
CPU 315-2 DP v1.2
Programmierssrpache AWL

ich hab da eine Frage zur Programmierung eines DBs.
Und zwar will ich mit hilfe eines Zählers erfassen wie oft ein Eingang z.B.: in 1er Stunde von 0 auf 1 wechselt und diesen Wert dann im DB1 wiedergeben. Habe zuvor noch nie mit einem Datenbaustein gearbeitet. Wie kann ich sowas realisieren?

Gruß holex
 
Hallo,
als erstes stellt sich die Frage wie groß der Speicher für deine Signalauswertung sein muss?
Wie offt willst du so eine Auswertung machen?

Zur Auswertung:
Du nimmst einen Timer mit einer Einschatverzögerung.
Abhängig von deiner Erfasungszeit setzt du den Timer!
Des weiteren nimmst du deinen Gewünschten Eingang und inkrmentierst mit jeder Positiven Flanke ein Merkerwort odgl. !
Wenn dann deine Einschaltverzögerung schaltet kopierst du den Stand des Merkerwortes in den DB1.DBWx.
Nach dem Kopieren setzt du das Merkerwort wieder auf 0.

Code:
U "Freigabe_Erfassung"
UN T0
L S5t#1H
SE T0


U E0.0
FP M0.0
SPBN M001
L MW 1
INC 1
T MW1

M001:U T0
L MW1
T DB1.DBW0
L 0
T MW1

Mfg
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Also zu deiner Frage wie oft die Auswertung stattfinden soll es soll max 20 mal ausgewertet werden. Ich habe das ganze jetzt ein mal getestet aber irgendwo scheint es noch einen Fehler zu geben. Im DB1 bleibt der wert immer auf 0

die Adresse im DB ist 0.0 und als Typ hab ich int angegeben mein Anfangswert ist 0 is daran etwas falsch?
 
Poste doch mal den Code den du eingegeben hast!
Dann kann man sehr schnell merh dazu sagen!

Mfg
 
Code:
...
L MW [B][COLOR=#ff0000]1[/COLOR][/B]   //besser MW [B][COLOR=#00ff00]2[/COLOR][/B] verwenden
...
Auch wenn's nicht falsch ist - ich würde es mir gar nicht erst angewöhnen, mit ungeraden Merkerwörtern zu arbeiten (und das auch keinem empfehlen ;)).
Da sind in der Zukunft Fehler geradezu vorprogrammiert.
 
Code:
...
M001: L MW ...
T DB1.DBW0
U T 0
[B][COLOR=#00ff00]SPBN M002[/COLOR][/B]
L 0
T MW ...
[B][COLOR=#00ff00]M002: NOP 0[/COLOR][/B]
Lade und Transfer-Befehle sind VKE-unabhängig und müssen deshalb übersprungen werden, wenn sie nicht ausgeführt werden sollen.
Bis jetzt wurde in jedem Zyklus wieder auf 0 gesetzt.

Und wie in meinem vorigen Post bereits gesagt - gar nicht erst angewöhnen, mit ungeraden Merkerwörtern zu arbeiten.
 
Zurück
Oben