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

Ergebnis 1 bis 10 von 10

Thema: Ringspeicher --> Auswertung --> Medianbildung

  1. #1
    Registriert seit
    15.05.2007
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    momentan sitze ich an meiner Diplomarbeit und habe ein Problem.
    Vielleicht könnt ihr mir weiterhelfen!?

    Ich soll 100 Messwerte in einen Ringspeicher nach dem FIFO Prinzip ablegen.
    Nachdem die 100 Messwerte im Ringspeicher abgelegt sind sollen die Werte abwärts sortiert werden, sprich von groß nach klein. Messwerte die eine Null enthalten stehen somit nach dem sortieren ganz unten. Diese Werte sollen dann nicht weiter beachtet werden.
    Dann erfolgt eine Medianbildung über die sortierten Werte im Ringspeicher die größer Null sind.
    Der Median soll immer über eine gerade Anzahl von Messwerten die > Null sind gebildet werden, d.h. ist die Anzahl der Messwert die > Null sind ungerade, dann soll der letzte Messwert der > Null ist nicht in die Medianbildung mit einfließen.

    Vielen vielen Dank schon mal...
    Zitieren Zitieren Ringspeicher --> Auswertung --> Medianbildung  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zuerst hier im Forum nach FIFO, Ringspeicher, Median suchen.
    Member Volker (suchen) hat auf seine Homepage auch FIFO-Bausteine, wenn ich mich richtig erinnere. Mal ansehen das ganze. Willst du das in SCL oder AWL machen? Dann bei weiteren Fragen wieder melden !

    Volker: http://www.sps-forum.de/member.php?f...poster&t=13201
    Volkers Homepage: http://lischis-home.dyndns.org/
    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
    Diplomand ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2007
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle,

    Den Baustein von Volker für den Ringspeicher habe ich schon verwendet.
    Leider weiß ich nicht wie ich das mit dem Sortieren und mit dem Auswerten bzgl. der Messwerte >Null und dann mit der Medianbildung in die Siemens Welt umsetzen muss. Am liebsten wäre mir natürlich FUP. SCL wäre aber auch ok.

    Vielen Dank

  4. #4
    Registriert seit
    29.08.2006
    Beiträge
    195
    Danke
    0
    Erhielt 35 Danke für 21 Beiträge

    Standard

    schau dir mal die freie sps bibliothek von oscat an, es gibt alles auch im source code.
    enthalten sind bausteine für fifo, median und vieles mehr

    www.oscat.de

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ok, also FUP würde ich da mal vergessen, aber ich bin eh AWL-lastig, andere Leute haben da sicher ihre eigene Meinung.
    Zuerst wieder suchen (Bubble, Sort, sortieren, etc.). Wenn du das in SCL machen kannst lohnt sich sicher auch eine Suche im Internet nach Pascal-Routinen zur Sortierung, da kann man dann einiges abkupfern.
    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

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Hier mal ein ganz netter Sortieralgo:

    Direktes Auswählen (Straight Selection)

    Es ist hier gleich als Prozedur formuliert, die sofort in ein Programm eingebunden werden kann ("feld" muß natürlich ein geeigneter Arraytyp sein). Es ist wesentlich schneller als Bubblesort und kann in Programmen durchaus als akzeptabel schnelle Sortierroutine verwendet werden.
    Code:
    PROCEDURE sort (VAR f : feld); VAR i,j,k,x : integer; BEGIN FOR i := 1 TO (n - 1) DO BEGIN k := i; x := f [i]; FOR j := (i + 1) TO n DO IF (f [j] < x) THEN BEGIN k := j; x := f [j]; END; f [k] := f [i]; f [i] := x; END; END;
    Quelle: http://www.schoenleber.org/pascal/pascal2-08.html

    Claus Schönleber
    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

  7. #7
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    @Ralle: wie ist es Pascalcode in SCL umzuwandeln? Ich hab mal Code
    aus VB in S7 SCL kopiert, und mit relativ wenig Änderungen hat der
    Syntax schon gepasst und das Ganze lief.
    Für VB gibt es auch viele Beispiele im Internet(activevb.de z.B.).

    Gruss: Vladi
    ______________________________________
    relax, take it easy
    Zitieren Zitieren SCL/Pascal/VB  

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von vladi Beitrag anzeigen
    Hi,
    @Ralle: wie ist es Pascalcode in SCL umzuwandeln? Ich hab mal Code
    aus VB in S7 SCL kopiert, und mit relativ wenig Änderungen hat der
    Syntax schon gepasst und das Ganze lief.
    Für VB gibt es auch viele Beispiele im Internet(activevb.de z.B.).

    Gruss: Vladi
    Siehst ja den Pascal-Code oben. Das nimmt sich nicht viel, hängt natürlich von der Aufgabenstellung ab, ob viele Funktionen im Code sind, die es bei SCL gar nicht gibt, aber ein guter Startpunkt ist das allemal.
    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

  9. #9
    Registriert seit
    29.08.2006
    Beiträge
    195
    Danke
    0
    Erhielt 35 Danke für 21 Beiträge

    Standard

    die oscat.lib unter www.oscat.de
    enthält auch funktionen zum sortieren von arrays die über pointer sehr effizient arbeiten.

    _ARRAY_sort sortiert ein array
    _array_median berechnet den median einen beliebigen arrays

    unter s7 weiss ich es nicht, aber unter codesys kann man per mausclick von st (scl) in awl umwandeln, und auch in andere formate.

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

    DaMeista (30.09.2009)

  11. #10
    Diplomand ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2007
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    @Hugo,
    vielen Dank für den Tip mit OSCAT.
    Ich habe mir mal die Bibliothek runtergeladen und werde es mal damit probieren.
    Werde euch dann das Ergebnis mitteilen.

    Vielen Dank

Ähnliche Themen

  1. Auswertung von Rezeptwerten
    Von Heizerfraktion im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 12.02.2009, 08:16
  2. Auswertung word
    Von tarzipan7 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.08.2008, 13:22
  3. Pointer --> Ringspeicher
    Von Diplomand im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.05.2007, 20:17
  4. Auswertung PSS-Referenzdaten
    Von sps-concept im Forum Werbung und Produktneuheiten
    Antworten: 3
    Letzter Beitrag: 24.11.2006, 15:34
  5. Mitsubishi FX2N Ringspeicher
    Von marlob im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 30.12.2004, 12:37

Lesezeichen

Berechtigungen

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