Störmeldung DINT in FIFO ablegen und auslesen

Viper68

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

zuerst einmal, ja ich habe schon die Suche usw. in Anspruch genommen, bin aber so recht nicht zu einer Lösung gekommen.

Ich habe eine Störword (DINT) welches ich bei Änderung in einen FIFO packen möchte. Alle 3 Sekunden soll über einen Impuls der älteste Wert ausgelesen werden.

Ich habe schon mit Pointer rumgespielt, bekomme es aber irgendwie nicht hin, dass der Baustein das macht was ich von im will.

Als Speichertiefe reichten 10 Einträge aus, weil mehr Störmeldungen in dieser Zeit (3Sek) auf keinen Fall auflaufen.

Ich hoffe dass ihr mir Helfen könnt.
Danke schon einmal für eure Hilfe.

Gruss
 
Library

Hallo hab zwar nix mit S7 am Hut aber weiß das es da ne open source Library sprich bausteine für S7 gibt. Nennt sich OSCAT dort gabs auch was mit FIFO, LIFO etc. also sollte vermutlich das sein was du suchst. Duku ist auch alles dabei. Viel spass und sag mal ob es das war was du suchst.

http://www.oscat.de/

Gruß Key
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Key,

habe auch schon mit Oscat rumgemacht. Wie gesagt ich denke das meine Anwendung für eine Spezi kein Problem darstellen dürfte. Komme eigendlich aus der Codesys Ecke und da gibt es die Bausteine fertig. Nur bei Siemens nicht. Auf jeden Fall nicht so wie ich Sie benötige.

Gruss Viper68
 
Auszug aus der OSCAT Doku Punkt 14.2 FIFO_32

"
FIFO_32 ist ein First-In First-Out Speicher mit 32 Speicherstellen für
DWORD Daten. Die beiden Ausgänge EMPTY und FULL zeigen an, wann
der Speicher voll oder leer ist. Der Eingang RST löscht den gesamten Inhalt
des Speichers. Der FIFO wird mit DIN beschrieben, indem ein TRUE
auf den Eingang WD, und ein TRUE-Puls auf den Eingang E gegeben werden.
Ein Lesebefehl wird ausgeführt indem TRUE auf RD und TRUE auf E
gelegt wird. Lesen und Schreiben kann gleichzeitig in einem Zyklus ausgeführt
werden. Der Baustein Liest oder Schreibt in jedem Zyklus solange
das entsprechende Kommando (RD, WD) auf TRUE steht."

Das hilft dir nicht weiter???

Gruß Key
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe eine Baustein aus dem Netz gesaugt, dieser Schreibt die Werte alle in einen DB, mit Pointer Adressierung. Das schreiben geht so lala. Beim Auslesen gibt er mir aber immen den neusten Wert aus. Ich habe von diesem Ponterkram keine Schimmer und hoffe da auf eure Hilfe.
Es wäre schön, wenn ihr mir eine Lösung machen könnt, die ich auch verstehe??
 
Problem gelöst

Ich habe das Problem gelöst.
Als erstes hatte ich noch die Oscat 303. Habe mir die neue Oscat 311 installiert und siehe da, es klappt wunderbar.

Vielen Dank für eure Hilfe.

Gruß Viper68
 
Zurück
Oben