Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Messwertspeicherung mit cleverem Speicherkonzept?

  1. #1
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!

    Aufgrund des beschränktem Arbeitsspeichers bin ich auf der Suche nach einem guten Speicherkonzept für Messwerte.

    Ich habe mir folgendes vorgestellt und möchte mal eure Meinung zur Realisierung hören:

    -Ich möchte verschiedenste Messwerte in einenem DB zur späteren Auswertung speichern. Es sollen neben den Messwerten auch das jeweilige Datum bzw. Uhrzeit gespeichert werden. Das Ganze soll ca. alle 10 Sekunden erfolgen.

    1. Frage: Alle Messwerte in einen DB? Sicherlich sinnvoll, da die Zeit nur einmal gespeichert werden muss, oder gibts Probleme bei der Darstellung von Kurven, in Protool?

    2. Frage: Speicherung im Array sinnvoll? Insgesamt ca. 5 Realwerte pro Messzeitpunkt!

    -Da die Auswertungszeitpunkte der Messreihen nicht regelmäßig sind, und der DB nicht zu groß werden sollte, will ich ihn beispielsweise nach einem Tag (oder einer Woche), in den Ladespeicher verfrachten.

    3. Frage: Ist das möglich? Wenn ja wie? Wie schaut es mit dem Zugriff von Protool auf einem DB im Ladespeicher der SPS aus?


    Oder bestimmt gibts auch bessere Ideen?!

    Vielen Dank für eure Hilfen...

    MFG
    Küffel
    Zitieren Zitieren Messwertspeicherung mit cleverem Speicherkonzept?  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Wenn der DB als unlinked gekennzeichnet wird, belegt er nur Platz im Ladespeicher, nicht aber im Arbeitsspeicher, das stimmt. Wenn du Platz sparen willst, solltest du möglichst auf Struct und UDT verzichten (Array weiß ich nicht genau) und wirklich einfach linear die Daten im DB ablegen. Aus unerfindlichen Gründen bläht die Strukturierung eines DB dessen Platzbedarf im Ladespeicher enorm auf. Du kannst das in deinem Fall einfach ausprobieren, indem du die unterschiedlichen Datenbausteine erzeugst und die Daten jeweil anders strukturierst. Unter Eigenschalften(Teil 2) wird dir der Speicherverbrauch angezeigt.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle,

    vielen Dank erst mal.

    Das mit dem unlinked habe ich auch mal gelesen. Aber wäre es nicht tödlich alle 10 sek. auf die MMC zu schreiben? Der Ladespeicher befindet sich doch dort, oder (313C)? Deshalb wollte ich den db täglich (wöchentlich) dort hin kopieren.

    Gruß Küffel

  4. #4
    Anonymous Gast

    Standard

    ... den die Schreibzyklen sind begrenzt.
    @Küffel

    Bei 5 Messwerten aller 10s sind das 30 pro Minute.
    Mit Zeitstempel und angehängten Real-Wert sind das
    8 + 4 Byte (glaube ich) = 360 Byte pro Minute !!!!

    Je nach CPU darf ein DB max. 16K (seltener 64K - nur "große" CPU)
    große sein. Das ist leider sehr schnell erreicht.
    In ca. 45 Minuten sind 16k voll, wenn ich richtig rechnen kann.

    Das wird zuviel, denke ich.

    Kauf die einen CP343-1IT und schreiben die Daten
    in den RAM (nicht EEPROM-Bereich = MMC Verhalten)
    Allerdings sind die Daten weg, wenn der Strom ausfällt.
    Das Datenschreiben:

    CPU - CP mittels FTP

    CP - PC mittels FTP (z.B. sehr einfach TOTAL Commander)


    Tschau

    Frank S.
    Zitieren Zitieren nicht häufig auf MMC schreiben...  

  5. #5
    IBFSW Gast

    Standard

    jetzt nicht mehr als GAST!
    Zitieren Zitieren GAST --> MITGLIED  

  6. #6
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Frank,

    stimmt, du hast Recht, das wird verdammt groß!

    Wenn man jedoch von 100000 Schreibzyklen einer MMC ausgeht (Richtwert, korregiert mich wenn ich falsch liege) komme ich bei Stündlichem schreiben auf die MMC auf ca 11 Jahre, wer weiß was bis dahin sonst alles kaputt ist Also das würde gehen!

    Wenn ich jetzt anstatt real nur int speichere (müsste auch reichen), und die zeit nur jede stunde, käme ich auf 3608 Byte pro stunde. Du merkst ich bin schon einige Kompromisse eingegangen
    Aber die IT-Baugruppe ist viel zu teuer...

    Was denkt Ihr, ist das realsierbar?

    Danke noch mal
    Gruß Küffel

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Es kommt noch darauf an, wie lange du die Meßwerte aufnehmen willst. Man kann auch einen PC mit MPI-Schnittstelle dranhängen und diesen die Daten aus dem DB abholen lassen. (LINUX und Libnodave, Prodave von Siemens und diverse andere Bibliotheken). Mit einem Panel von Siemens (MP270?) könnten man per Script Daten auf eine Flashkarte mit 1GByte Speicher ablegen. (Suche mal im Forum nach VBScript, als Anregung)
    Das hab ich aber auch noch nicht gemacht .
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #8
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle,

    die Größe der MMC (4MB) dürfte reichen! Angenommen ich habe 3.6kB pro stunde --> ca. 2,7 MB im Monat! Länger als ein monat brauche ich die Daten nicht!

    Das mit dem MP wäre auch eine gute Idee. leider hängt nur ein TP170a dran!

    Gruß Küffel

  9. #9
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    wenn du die schreibzyklen noch weiter reduzieren willst spricht doch auch nichts dagegen den speicher im ram über meherer db´s zu ziehen, und zb. alle 5 stunden einen block mit 5 db´s kopieren...

  10. #10
    Registriert seit
    21.09.2004
    Beiträge
    92
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Markus, leider sind 32kb ram zu 90 Prozent voll!

    Ich habe heute versucht einen DB im Ladespeicher mit sfc 82 zu erzeugen, leider funktioniert dies mit PLCSIM nicht, da er keine MMC simuliert! Ist das richtig? gibts eine möglichkeit das in PLCSIM einzustellen?

    Gruß Küffel

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •