Datenwort

Ritter

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich habe ein kleines Problem bei dem Ihr mir sicherlich Weiterhelfen könnt.
Hat ja beim letzten mal auch super Funktioniert.

Mein Programm speichert jede Sekunde zwei Analogwerte im Abstand von 100ms und bildet den Mittelwert (Messfehler). Das ganze wird noch als MW12 gespeichert.
Jetzt soll ich 40-60 Messwerte (Mittelwerte) speichern. Jeder Mittelwert als einzelnes Datenwort.
Danach wird noch alles in den OP77b eingelesen.

Stehe leider voll auf dem Schlauch! Habe noch keine Ahnung wie ich das mit den Datenwörtern machen soll. Einfach mit MOVE? Da brauch ich ja irrsinnig viele.

Vielen Dank schonmal für eure Hilfe.

Grüße
Ritter
 
Zuletzt bearbeitet:
...
Jetzt soll ich 40-60 Messwerte (Mittelwerte) speichern. Jeder Mittelwert als einzelnes Datenwort.
...

Da brauch ich ja irrsinnig viele.


Wie du sagst "speichern". Ist halt mal Speichern. Aber um nicht so viel Merkerbereich (ich weiss nicht welche CPU du hast) zu verbraten leg die Werte in einen DB.
Du kannst erst danach überschreiben, oder?
Laufende Werte wären nicht so speicherfressend.

gruss
m
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verwende eine 314C-2DP.

Die Daten sollen für einen 40s Programmdurchlauf gespeichert werden.
Bei einem neuen Durchlauf werden die alten Daten einfach überschrieben.

Danke für den Tipp mit dem DB.
Werd mich mal ein bisschen einlesen und damit spielen.

Ich könnte aber auch 40 mal MOVE machen, oder?
 
Such mal nach Fifo-Speicher.... vielleicht ist es das was du brauchst.....

nein, ich glaub nicht, da er die werte einfach neu aufnimmt und ablegt ... der DB ist ein guter tipp gewesen und hier gibt es noch einen von mir:

bau dir einen baustein, der dir die mittelwertbildung realisiert, so brauchst du das nicht für 40-60 messtellen immer wieder coden...

obwohl...ich denk grad über eine schleife nach... also die ersten werte speichern, nach 100ms die zweiten (realisierst du das im OB35?) und dann in einer schleife die beiden werte mittelwerten ... hierfür bräuchteste dann aber indirekte adressierung um dich im datenbereich der werte bewegen zu können ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moven musst du sowieso, weil wie kämen die Daten sonst irgendwohin?
Nur wohin du movst ist von Belang;).

40x MW sind nun mal 40 Wörter, wenns nix macht!?

Sonst legst du halt zB DB10 an
Mittelwert1 DB10.DBW0
Mittelwert2 DB10.DBW2
.
.
.
.
 
Das hier wird dir vielleicht schon einmal helfen:

http://www.sps-forum.de/showthread.php?t=8877

Du bildest dir einen Zählindex (Int 0-59). Deinen Messwerte kommen in einen Datenbaustein (DBW 0- 120 für 60 Int). Dein Index zeigt immer auf das zu befüllende Datenwort.

Bsp.:

Index = 5 --> dann muß in DBW10 gespeichert werden
Index = 10 --> dann muß in DBW20 gespeichert werden

Du zählst also den Index nach jedem Speichern um 1 hoch und errechnest aus diesem Index die Adresse für den nächsten Speicherplatz. Dazu dann den Link oben ansehen.

@4L

Soviel macht das in diesem Fall aber nicht aus, es muß ja nur 1 Schreiboperation pro Speicherwert gemacht werden, nicht x Mal schieben oder so.
 
wollte nur gesagt haben, das schreiben eben nicht gleich schreiben ist!

ralle und larry haben ja zwei schöne links rausgesucht ... :rolleyes:
 
Zurück
Oben