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

Ergebnis 1 bis 10 von 10

Thema: MW mit geringstem Wert ausgeben

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mahlzeit, werte Forengemeinde...

    Mein Problem besteht darin, daß ich anhand ausgerechneter Werte jeweils anstehende Wartungsmeldungen ausgeben lassen möchte, mir aber die Idee der Realisierung fehlt.

    Im Einzelnen ist es so, daß ich Werte von xStd - 0Std in MWs geschrieben bekomme. Diese Werte sind die Stunden bis zur jeweils nächsten Wartung. Es sind insg. 5 MWs.

    Nun möchte ich mir das jeweilige MW mit dem geringsten Wert (evtl durch einen Vergleich?) ausgeben lassen.

    Hat jemand eine Idee, wie man das Problem lösen kann?


    Beste Grüße,

    PättPit
    Zitieren Zitieren MW mit geringstem Wert ausgeben  

  2. #2
    Registriert seit
    05.07.2004
    Ort
    Hamburg
    Beiträge
    105
    Danke
    139
    Erhielt 14 Danke für 12 Beiträge

    Standard

    mal die Forensuche nach Bubblesort durchforsten.
    Da findest du bestimmt eine Lösung

    der_iwan
    Zitieren Zitieren Du solltest..  

  3. #3
    Registriert seit
    29.07.2008
    Ort
    Stuttgart
    Beiträge
    232
    Danke
    64
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Zitat Zitat von PättPit Beitrag anzeigen
    Nun möchte ich mir das jeweilige MW mit dem geringsten Wert (evtl durch einen Vergleich?) ausgeben lassen.

    Hat jemand eine Idee, wie man das Problem lösen kann?
    sag bitte nicht, dass du nicht weißt, wie Zahlenwerte nach Größe verglichen werden? was soll die Frage?

  4. #4
    PättPit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.05.2010
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @Günni:

    Verzeih mir bitte aber ich beschäftige mich nun noch keine 3 Monate mit der Materie. Etwas nicht zu wissen ist für mich keine Schande. Eine Schande ist es nur, wenn man sich nicht informiert
    Ich kenne bisher nur die normalen Vergleicherfunktionen.
    Sprich auf größer, kleiner, gleich ungleich mit boolschem Ausgang.
    Ich möchte halt eine Reihe von MW vergleichen und das kleinste ausgegeben bekommen. Das habe ich bisher noch nie gemacht.


    @Iwan:
    Danke, ich werde mich nachher mal mit mit Deinem Stichwort auseinanersetzen. Nun ruft erstmal die Sonne


    Dank und Gruß,

    PättPit

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Zitat Zitat von PättPit Beitrag anzeigen
    (evtl durch einen Vergleich?)
    Natürlich durch einen Vergleich!
    Mit 4 simplen Vergleichen nacheinander kann man den kleinsten Wert ermitteln.
    Man muß nur im Akku1 den jeweils kleinsten Wert zum nächsten Vergleich mitnehmen
    (AWL-Stichwort: POP oder auch TAK, falls Akku2 der kleinere ist).

    Du kannst Dein Problem aber auch mit der IEC-Function MIN "erschlagen".
    Frag' mich aber bitte nicht, in welcher Step7-Bibliothek Du die findest.
    Ich benutze diesen oversized-Baustein nie für sowas simples.

    Gruß
    Harald

  6. #6
    Registriert seit
    22.07.2007
    Beiträge
    86
    Danke
    16
    Erhielt 25 Danke für 19 Beiträge

    Standard

    Code:
    // Min-Funktion
    L #MW1 // Ersten Wert auf Ausgabe vorbesetzen, ist keiner der anderen 
    T #MIN // Werte kleiner, Verbleibt der Erste Wert als Ausgabe
    
    L #MIN // Eigendlich überflüssig! Dient nur dem besseren Verständnis
    L #MW2 // Zweiten Wert Laden und 
    <=I // mit bisher kleinstem Wert vergleichen
    SPB nc01 // Wenn der letzte Wert kleiner oder gleich dem aktuellen ist, springe zum nächsten Vergleich
    
    T #MIN // Sonst speichere aktuellen Wert als kleinsten Wert und fahre mit nächstem Vergleich fort
    nc01: L #MIN // Wiederholung mit drittem Wert
     L #MW3
    <=I
    SPB nc02
    
    T #MIN
    nc02: L #MIN // Wiederholung mit viertem Wert
    L #MW4
    <=I
    SPB nc03
    
    T #MIN
    nc03: L #MIN // Wiederholung mit fünftem Wert
     L #MW5
    <=I
    SPB nc04
    
    T #MIN
    nc04:
    Nur als kleines Beispiel zum generellen Verständinis.
    Hier kann man noch ne ganze Menge sparen und für mehr Übersicht sorgen!

  7. #7
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Schau die mal das Beispiel an, ist zwar DB und der größte Wert, es muss aber nur der Vergleicher geändert werden. Falls man den DB nicht braucht kann man das auch auf Merker umschreiben falls die hintereinander liegen.

  8. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Zitat Zitat von Semo Beitrag anzeigen
    Hier kann man noch ne ganze Menge sparen und für mehr Übersicht sorgen!
    Code:
    // kleinsten Wert von 5 INT-Werten ermitteln: nacheinander vergleichen, 
    // den jeweils kleineren Wert im Akku1 zum nächsten Vergleich mitnehmen
          L     #MW1
          L     #MW2
          <I                // #MW1(Akku2) < #MW2(Akku1) ? 
          SPBN  M003        // nein -> #MW2(Akku1) mitnehmen
          POP               // ja -> #MW1(Akku2) in Akku1 mitnehmen
    
    M003: L     #MW3
          <I                // bisheriger Min-Wert(Akku2) < #MW3(Akku1) ?
          SPBN  M004        // nein -> #MW3(Akku1) mitnehmen
          POP               // ja -> Min-Wert(Akku2) in Akku1 mitnehmen
    
    M004: L     #MW4
          <I    
          SPBN  M005
          POP   
    
    M005: L     #MW5
          <I    
          SPBN  MMIN
          POP   
    
    MMIN: T     #MIN        //Akku1 enthält kleinsten Wert -> ausgeben
    Gruß
    Harald
    Zitieren Zitieren Spar-Variante  

  9. #9
    Registriert seit
    22.01.2008
    Ort
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Beiträge
    1.774
    Danke
    50
    Erhielt 729 Danke für 434 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Code:
    // kleinsten Wert von 5 INT-Werten ermitteln: nacheinander vergleichen, 
    // den jeweils kleineren Wert im Akku1 zum nächsten Vergleich mitnehmen
          L     #MW1
          L     #MW2
          <I                // #MW1(Akku2) < #MW2(Akku1) ? 
          SPBN  M003        // nein -> #MW2(Akku1) mitnehmen
          POP               // ja -> #MW1(Akku2) in Akku1 mitnehmen
    
    M003: L     #MW3
          <I                // bisheriger Min-Wert(Akku2) < #MW3(Akku1) ?
          SPBN  M004        // nein -> #MW3(Akku1) mitnehmen
          POP               // ja -> Min-Wert(Akku2) in Akku1 mitnehmen
    
    M004: L     #MW4
          <I    
          SPBN  M005
          POP   
    
    M005: L     #MW5
          <I    
          SPBN  MMIN
          POP   
    
    MMIN: T     #MIN        //Akku1 enthält kleinsten Wert -> ausgeben
    Gruß
    Harald
    So und jetzt das ganze bitte noch mit loop schleife

    Hallo das war ein witz
    Gruss Audsuperuser

    Herzlich Willkommen im Chat:
    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  10. #10
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von AUDSUPERUSER Beitrag anzeigen
    So und jetzt das ganze bitte noch mit loop schleife

    Hallo das war ein witz

    und in FUP/KOP und in SCL
    Früher gab es Peitschen .... heute Terminkalender

Ähnliche Themen

  1. Antworten: 37
    Letzter Beitrag: 23.02.2015, 09:27
  2. REAL-Wert in Word-Wert konvertieren
    Von Mohrchen im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.07.2011, 13:02
  3. Wert über Kurvenanzeige in WinCC ausgeben
    Von Sally88 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.11.2010, 14:29
  4. Antworten: 6
    Letzter Beitrag: 19.04.2007, 00:24
  5. Wert an Analog-Baugruppe ausgeben
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 22.08.2003, 10:18

Lesezeichen

Berechtigungen

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