Messwerte erfassen und ablegen

GerhardPtl

Level-1
Beiträge
77
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle,

ich suche eine Möglichkeit, Daten aus einem Peripheriewort über den OB35 auszulesen und im 10ms Takt in einen Datenbaustein abzulegen.
(CPU315)

In der "1200er Welt" gibt es den "FieldWrite" Baustein, gibt es so etwas auch für die S7 300er "Welt"?

Vielen Dank im Voraus!!
 
Hallo,

keine Ahnung was der "FieldWrite" Baustein macht aber das klingt nach

Wert in Tabelle eintragen: FC84

Beschreibung

Die Funktion Wert in Tabelle eintragen (ATT) ergänzt den Parameter DATA als nächsten Eintrag in einer Tabelle und erhöht die Anzahl der Einträge um einen Eintrag.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zunächst erstmal - Danke für den Tipp!
Meine Angaben waren wahrscheinlich etwa spärlich.

Ich möchte aus einem Peripheriewort einen Messwert aufzeichnen und den Wert im 10ms Takt wegschreiben. An diesem besagten Baustein "FieldWrite" kann mittels eines "Index" Zählers die Anzahl der WErte dimensioniert werden.
Der Zähler wirde separat getaktet und als Parameter am Baustein angeschlossen.

Grüße
 
Muss der Wert vorher noch skaliert werden?

Sonst kannst es ganz einfach mit Laden->transferieren machen.

Im OB 35 einen Zeiger basteln der dir immer um ein Wort
erhöht und auf dein nächstes zu beschreibende DW zeigt und dort schiebst du deinen Messwert rein.
 
wie wäre mit dem FC105 "SCALE"?

un m "10ms_Puls"
spb m000

CALL "SCALE"
IN :=PEW420
HI_LIM :="Istwerte".TIA_VL151_Limit_high
LO_LIM :="Istwerte".TIA_VL151_Limit_low
BIPOLAR:=FALSE
RET_VAL:="Softkeys/Meldungen".Stoerung_AE_TIA_VL151
OUT :="Istwerte".TIA_VL151_Ist

m000: nop 0

Diesen Aufruf im OB35....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ Gerhard
irgendwie stehe ich auf dem Schlauch - Zeiger bauen ist ja noch ok, aber wie kann ich das hochgezählte Wort weiter verwenden?

z.B.

l pew xxx
t dbx. dbwn (n+1) usw.??

Indirekte Adressierung? wie?
 
Du könntest das so im OB35 realisieren


Code:
L #zaehler
slw4   // Pointerformat + x2 für Wort
LAR 1
 
auf db xx
 
L #messwert 
T dbw[ar1,p#0.0]
 
L #zaehler
+ 1
T #zaehler
L #max_anzahl
<= I
spb end
L 0 // oder deinen Anfangswert
T #zaehler
 
end: NOP 0

nicht getestet, sollte aber so funktionieren
 
Zurück
Oben