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

Ergebnis 1 bis 6 von 6

Thema: DB in Excel mit S7 315

  1. #1
    Registriert seit
    21.02.2010
    Beiträge
    78
    Danke
    59
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    wir machen uns gedanken ob wir nicht unsere Daten Logger die Temperatur messen, nicht in der Steuerung Realisieren. S7 315 2DP

    - Speichern
    Es sind etwa 3000 tausent integerwerte plus Zeit und Datum im Ringspeicher.
    Die maximale größe eines DB's ist 16k wir benötigen etwa 12k, also müsste es gehen.
    Speichern geschiet ein mal in 20 min je 4 Integer, somit mache ich mir keine gedanken über die Zykluszeit.

    - Auslesen
    Diese Daten sollen aus der Steuerung ausgelesen werden und in Excel Tabelle eingetragen werden, durch eine onlineverbindung.

    Frage: 1-Könnte es mit einem OPC Server funktionieren, wir hatten mal einige Werte mit dem Browser aus der Steuerung ausgelesen.

    2-Ist es möglich mit dem OPC Server so viele Daten auszulesen.

    3- Wenn es mit dem OPC Server nicht Funktioniert, wie würdet Ihr es machen.


    Danke im Vorraus
    Zitieren Zitieren DB in Excel mit S7 315  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,

    1. warum nicht ?

    2. nicht alle in einem Rutsch - aber davon merkst du m.E. nichts.

    3. es ginge ja auch mit LibNoDave (z.B.) - da müßtest du halt noch etwas dazu programmieren - aber beim OPC-Server ja auch ...

    Gruß
    Larry

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.316
    Danke
    932
    Erhielt 3.331 Danke für 2.689 Beiträge

    Standard

    Zitat Zitat von Rici Beitrag anzeigen
    Es sind etwa 3000 tausent integerwerte plus Zeit und Datum im Ringspeicher.
    Die maximale größe eines DB's ist 16k wir benötigen etwa 12k, also müsste es gehen.
    Wie kommst Du auf 12kByte? Ich komme auf etwa 6kByte oder 30kByte oder 6MByte oder 30MByte ...

    Hier ist ein fertiges Beispiel wie Excel mithilfe von Libnodave Daten aus einer S7-CPU liest:
    Programmbeispiel für grafische Datenanzeige mit EXCEL + LIBNODAVE

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Rici (13.02.2014)

  5. #4
    Registriert seit
    01.10.2012
    Beiträge
    203
    Danke
    12
    Erhielt 56 Danke für 36 Beiträge

    Standard

    Ich habe sowas in der Art in C# und mit Libnodave gemacht, das Prog crawlt sich durch 1000 Datensätze über einige DBs verteilt, gibt je nach Suchoption Ergebnisse in ein Datagridview und schreibt den kompletten Bestand in ein .csv
    Die eigentlich Kunst ist da, sich möglichst einfach die DB Nummern und die Offsets für die Bitadressen pro Datensatz ausrechnen zu lassen.
    Nüchtern betrachtet war es besoffen besser.

  6. Folgender Benutzer sagt Danke zu Bapho für den nützlichen Beitrag:

    Rici (13.02.2014)

  7. #5
    Rici ist offline Benutzer
    Themenstarter
    Registriert seit
    21.02.2010
    Beiträge
    78
    Danke
    59
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für die schnelle Antworten,
    PN/DP

    mein Gedankengang zur größe: 750 Messungen je 4 Int,p pro 4 Integerwerte kommt Datum und Uhrzeit
    Pro Int wird 2kByte verbraucht, ich habe 3000 Int also 6000kByte
    Zeit und Datim sind je Dint also 8 kByte pro Messung 6000kByte

    Korregiert mich bitte wenn es falsch ist

  8. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.316
    Danke
    932
    Erhielt 3.331 Danke für 2.689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich ordne mal Deinen Gedankengang wie folgt:

    Ein INT belegt 2 Byte
    Ein DATE_AND_TIME belegt 8 Byte

    Alle ca. 20 Minuten willst Du einen Datensatz von 4 INT + Datum und Uhrzeit speichern --> das macht 4 * 2 + 8 = 16 Byte je Datensatz

    Du willst einen Ringpuffer für 750 solcher Datensätze haben --> 750 * 16 Byte = 12000 Byte ~ 12kByte

    Der Ringpuffer könnte wie folgt aussehen
    Code:
       Buffer : ARRAY  [1 .. 750 ] OF STRUCT
        timestamp : DATE_AND_TIME ;
        Wert1 : INT ;
        Wert2 : INT ;
        Wert3 : INT ;
        Wert4 : INT ;
       END_STRUCT ;
    Tip: Wenn Du die Datensätze in einen festen genauen Zeitraster speicherst, dann ist es nicht unbedingt nötig, den Timestamp in jedem Datensatz zu speichern. Es würde reichen, wenn man den Zeitstempel eines bestimmten Datensatzes weiß/speichert und könnte die Zeitstempel der anderen Datensätze errechnen. Dann hätte ein Datensatz nur die halbe Größe bzw. könnte der Ringpuffer bei gleicher Größe doppelt so viele Datensätze speichern.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Neue 315-2PN/DP (315-2EH14-0AB0) mit 512k MMC zu verkaufen
    Von Lars Weiß im Forum Suche - Biete
    Antworten: 1
    Letzter Beitrag: 24.10.2013, 13:09
  2. Antworten: 26
    Letzter Beitrag: 27.03.2012, 17:19
  3. Antworten: 9
    Letzter Beitrag: 18.02.2011, 06:47
  4. S7-315 und Excel über Ethernet
    Von Anonymous im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 13.12.2005, 14:31
  5. Antworten: 1
    Letzter Beitrag: 07.11.2005, 08:07

Lesezeichen

Berechtigungen

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