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

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 26

Thread: Messdaten aufzeichnen ??

  1. #11
    prinz1978 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    14.03.2007
    Posts
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Habt ihr für mich irgend welche links bzw.info anhaltspunkte wie man so ein Programm schreibt.??

  2. #12
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    Siehe dazu in der Forum-Faq : http://www.sps-forum.de/showthread.php?t=15348

  3. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    prinz1978 (13.01.2009)

  4. #13
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    vielleicht hilft dir ja auch PC3AG
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    prinz1978 (13.01.2009)

  6. #14
    prinz1978 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    14.03.2007
    Posts
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Default

    wie könnte ich einen Zeitstempel erzeugen ?? für die sortierung von Messdaten??

  7. #15
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    Indem du die SPS-Zeit (oder welche auch immer) hernimmst und diese in ein weiteres Datenfeld einträgst.
    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. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    prinz1978 (13.01.2009)

  9. #16
    Join Date
    29.03.2004
    Posts
    7,265
    Danke
    165
    Erhielt 2,181 Danke für 1,562 Beiträge

    Default

    Wenn du ein festes Aufzeichnungsintervall hast kannst du dir den Zeitstempel auch einsparen.
    Dann machst du dir pro Monat einen Datenbaustein. Mal angenommen du kannst im Integer speichern hast du 24*4 Werte á 2 Byte = 192 Bytes pro Tag = 5952 Bytes pro Monat.

    Das gestaltet die Suche im Datenbaustein nebenbei auch sehr einfach:

    Je nach eingegebenem Monat entsprechenden DB öffnen. Die Adresse lässt sich dann einfach aus (Tag -1 )* Anzahl Tageswerte + Anzahl Tagesviertelstunden bestimmen.

  10. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    prinz1978 (13.01.2009)

  11. #17
    Join Date
    29.03.2004
    Posts
    7,265
    Danke
    165
    Erhielt 2,181 Danke für 1,562 Beiträge

    Default

    Ich antworte mal hier wie ich das programmtechnisch meine.
    Pro Monat einen DB, z.B.
    DB101 = Januar
    DB102 = Februar
    .
    .
    .

    Im DB dann ein ARRAY[0..2975] OF INT.

    Auswertung könnte man dann so machen:
    Code:
    // zu öffnender Monats-DB
          L     #iMonat
          L     100
          +I    
          T     #iDB
          AUF   DB [#iDB]
    // Offset im DB bestimmen
          L     #iTag
          L     1
          -I    
          L     96                          // Anzahl Messwerte pro Tag
          *I    
          T     #iTagesoffset
    // Stundenoffset
          L     #iStunde
          L     4                           // 4 Intervalle / Stunde
          *I    
          T     #iStundenoffset
    // Intervalloffset
          L     #iMinute
          L     15
          /I    
          T     #iIntervalloffset
    // Gesamtoffset im DB bestimmen
          L     #iTagesoffset
          L     #iStundenoffset
          +I    
          L     #iIntervalloffset
          +I    
          T     #iOffset
          L     2                           // Länge eines Messwertes in Byte
          *I    
          T     #iOffset
    // Pointerformat für indirekte Adressierung
          L     #iOffset
          ITD   
          SLD   3
          T     #dwAddr
    // Wert holen und ausgeben
          L     DBW [#dwAddr]
          T     #iWert
    Nur so als grobes Gerüst und nur mal kurz getestet.

    Musst dir dann noch deine Jahresauswertung einbauen (wenn Platz ist würd ich die noch 12 Vorjahres-DBs anlegen).
    Außerdem sollte die Zeit nach UTC gehen, dann gibts keine Probleme mit Sommer-/Winterzeit.

  12. #18
    prinz1978 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    14.03.2007
    Posts
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Default

    Danke nochmal für eure Bemühungen.

    Ein kleines Programm Beispiel als Anhaltspunkt währe super,wie ich die Messwerte richtig ablege ,und wie ich sie wieder finde,was müsste ich machen wenn ein DB voll ist,oder bei Spannungswiederkehr die weiterspeicherung mache.-->( dort wo die Messung abgebrochen wurde ) unsw. ich hab echt kein Plan wie ich es angehen soll.

    danke im vorraus

    mfg

  13. #19
    Join Date
    29.03.2004
    Posts
    7,265
    Danke
    165
    Erhielt 2,181 Danke für 1,562 Beiträge

    Default

    Quote Originally Posted by prinz1978 View Post
    Ein kleines Programm Beispiel als Anhaltspunkt währe super,wie ich die Messwerte richtig ablege ,und wie ich sie wieder finde,was müsste ich machen wenn ein DB voll ist,oder bei Spannungswiederkehr die weiterspeicherung mache.-->( dort wo die Messung abgebrochen wurde ) unsw. ich hab echt kein Plan wie ich es angehen soll.
    Ich beziehe mich mal auf meine Version oben, da fallen nämlich die meisten der von dir genannten Probleme weg.

    Wenn du in meinem Programmbeispiel die letzten beiden Zeilen in einen Schreibbefehl in den Datenbaustein änderst, kannst du damit deinen Messwert passend wegspeichern. Als Eingangsparameter Tag/Monat/Stunde/Minute nimmst du dann die Systemzeit aus denen du die Werte als Integer extrahierst. Dann landet der Messwert automatisch zu jeden neuen 15-Minuten Intervall an der richtigen Position.

    Wenn du nur 12 DBs verwendest und das Jahr außen vor lässt, arbeitet der Baustein wie ein Ringpuffer mit Platz für Daten von einem Jahr (bei einem neuen Jahr werden die alten Daten überschrieben).

  14. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    prinz1978 (13.01.2009)

  15. #20
    prinz1978 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    14.03.2007
    Posts
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    danke erstmal,und beim abfragen wie siehts dann aus wie rufe ich die daten dann auf wenn ich z.bsp am op eingebe 01.10.2008 15:00 wie finde ich den passenden messwert ??

Similar Threads

  1. Messdaten aufzeichnen und .csv auf FTP hochladen
    By tiego in forum CODESYS und IEC61131
    Replies: 6
    Last Post: 11.09.2012, 11:20
  2. Messdaten Visualisieren
    By timod79 in forum CODESYS und IEC61131
    Replies: 5
    Last Post: 12.03.2009, 10:52
  3. Messdaten per SMS
    By patsy in forum Elektronik
    Replies: 1
    Last Post: 24.02.2009, 16:05
  4. ST Messdaten Sortiere
    By timod79 in forum CODESYS und IEC61131
    Replies: 2
    Last Post: 05.02.2009, 06:15
  5. Messdaten Speichern in DB
    By Pidi in forum Simatic
    Replies: 16
    Last Post: 19.08.2008, 19:37

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •