Frage zum Datenbaustein?

MRT

Level-1
Beiträge
865
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe im Datenbaustein VBO 6 eingegeben, kann ich jetzt wenn der E0.0 kurz 1 wird, diese Zahl mit einem Zähler mitzählen. (6-12-18-24)? Oder gibts da noch andere Möglichkeiten?

mfg andi
 
Hallo!

Also ich würde das so lösen, dass ich einen FC nehmen würde und in diesem folgendes schribbeln:

U E0.0 // Der Eingang
FP M1.0 // positive Flanke - damit nur einmal addiert wird...
L DB1.DBW0 // laden des alten Wertes
L 6 // laden des Summanden
+D // addieren
T DB1.DBW0 // schreiben des neuen Wertes

und das wars dann auch schon....
Dann kann man den Wert aus DB1.DBW0 da einsetzen wo er von nöten ist - sei es auf einem Bedienteil oder in einer weiteren Berechnung....

Hoffe ich konnte helfen.. ;)

Viele Grüße, Tobias
 
Ich weiß nicht wie das bei neueren Versionen der S7-200 ist.

Bei meiner Version S7-Microwin V3.1
stellt alles was im Datenbaustein steht lediglich eine einmalige Initialisierung dar (bei neuladen des Programms oder langen Ausfall der Spannung das der Pufferkondensator leer wird)

Es hat nichts mit den Datenbausteinen der S7-300/400 zu tun.

Programmieren könnte man das so:
Code:
LD     I0.0
EU
+I     +6, VW6

Mfg
Manuel
 
lefrog schrieb:
U E0.0 // Der Eingang
FP M1.0 // positive Flanke - damit nur einmal addiert wird...
L DB1.DBW0 // laden des alten Wertes
L 6 // laden des Summanden
+D // addieren
T DB1.DBW0 // schreiben des neuen Wertes

Ich möchte jetzt wirklich nicht widersprechen, aber ohne Sprungbefehl würde DB1.DBW0 wohl zyklisch um 6 erhöht, unabhängig was E0.0 macht.

Mfg
Manuel
 
VW6 muss nicht im Datenbaustein stehen.

+I = Addiere Integer
Also addiere "6" zum VW6.

V... ist ein fester Datenbereich, ähnlich Merkern, und kann ebenfalls wie Merker als Bit, Wort, Doppelwort ... verwendet werden.

Deutlicher wird das ganze als KOP:

Mfg
Manuel
 

Anhänge

  • add_i_s7_200.jpg
    add_i_s7_200.jpg
    11 KB · Aufrufe: 111
Hallo!

Aha danke. Kann ich nach dem addieren über out zu einem Ausgang gehen, nur wann weiß der wann er schalten muss. Wie weit kann ich eigentlich damit zählen. Und kann ich die addierung auch rücksetzen.

mfg andi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Richtig - auch wenns nu nichts mehr zur Sache tut - den Sprungbefehl hab ich vergessen... also:

U E0.0
FP M1.0
SPBN ENDE
...

so in etwa...

Thx für die Info!

Viele Grüße, Tobias
 
Was du mit dem Ausgang meinst versteh ich jetzt ehrlich gesagt nicht.

Die grundsätzliche positive Grenze eines Integers: 32767

Wenns weiter gehen muss kann man den Befehl durch +D, also addiere DINT ersetzen, muss dann allerdings auch VD6 sein.

Rücksetzen kannst du so:
LD Rücksetzbedingung
MOVW 0, VW6 //VW6 mit 0 Beschreiben

Mfg
Manuel
 
Hallo!

Mit dem Ausgang meinte ich das wenn die Addierung irgendeinen Wert überschreitet dann soll ein Ausgang kommen. Wenn ich das in der Siemens Hilfe richtig verstanden, dann wird ein Ausgang nur 1 wenn ein fehler beim rechnen auftritt.

mfg andi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit "out" wird das Ergebnis der Rechenoperation nach VW6 transferiert, das hat nix mit einem Ausgang zu tun. Wenn Du einen Ausgang ergebnisabhängig von VW6 schalten möchtest, mußt Du noch einen Vergleicher nehmen.
 
Hallo!

Ich bin noch neu in dem ganzen, könntest du ein kleines Beispiel zum Vergleichen in AWL hier rein kopieren.

Danke

mfg andi
 
Additions-Baustein:
IN1 = Summand 1
IN2 = Summand 2
OUT= Ergebnis (IN1 + IN2)

Übersicht über die Vergleicher:
==I = Vergleich auf gleich
<>I = Vergleich auf ungleich
>=I = Vergleich auf größer gleich
<=I = Vergleich auf kleiner gleich
>I = Vergleich auf größer
<I = Vergleich auf kleiner

Beispiel: Wenn VW6 > 60 dann schaltet Ausgang A0.0

Mfg
Manuel
 

Anhänge

  • add_verg.jpg
    add_verg.jpg
    28,2 KB · Aufrufe: 68
Zurück
Oben