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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Messdaten aufzeichnen ??

  1. #11
    prinz1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard


    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
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    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
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    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 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard

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

  7. #15
    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

    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
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    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
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    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 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard

    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
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von prinz1978 Beitrag anzeigen
    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 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard


    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 ??

Ähnliche Themen

  1. Visualisierung von Messdaten
    Von Mertin im Forum HMI
    Antworten: 4
    Letzter Beitrag: 29.06.2010, 07:39
  2. Messdaten Visualisieren
    Von timod79 im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 12.03.2009, 10:52
  3. Messdaten per SMS
    Von patsy im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 24.02.2009, 16:05
  4. ST Messdaten Sortiere
    Von timod79 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 05.02.2009, 06:15
  5. Messdaten Speichern in DB
    Von Pidi im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 19.08.2008, 19:37

Lesezeichen

Berechtigungen

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