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

Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 55

Thema: Bit bei Max einer Zahl setzen

  1. #1
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    gibt es eine Möglichkeite den Spitzen wert einer Zahl zu speichern bevor sie wieder fällt ??
    bzw das ganze anders herum den min Wert speichern bis er wieder steig.
    Sinn des ganzen ist einen wert von einem Analogsensor auszulesen.
    da sich der Wertändert beim durchfahren der Teile.
    Das ewige Leide mit den Mechanikern.
    MfG
    Micha
    Zitieren Zitieren Bit bei Max einer Zahl setzen  

  2. #2
    Registriert seit
    02.10.2010
    Beiträge
    453
    Danke
    62
    Erhielt 87 Danke für 69 Beiträge

    Standard

    Einen Neu-/Altwert durchführen.

    Kurz für Vergleich maximum:
    L #Neuwert
    L #Altwert
    <= R
    SPB =Next
    L #Neuwert
    T #Altwert
    Next: ....

    Kurz für Vergleich minimum:
    L #Neuwert
    L #Altwert
    >= R
    SPB =Next
    L #Neuwert
    T #Altwert
    Next: ....
    Geändert von Corosop15 (10.12.2010 um 15:19 Uhr) Grund: Vergleich für minimum hinzugefügt

  3. #3
    Registriert seit
    27.08.2003
    Ort
    Schweitenkirchen
    Beiträge
    472
    Danke
    101
    Erhielt 73 Danke für 59 Beiträge

    Standard

    Leg dir eine Variable an in die du den Maxwert schiebst.
    wenn der eingelesene Wert höher als der alte Maxwert ist schiebst wieder in Maxwert.
    Für Min genauso nur halt andersrum

    Edit:Upss war einer schneller
    Wenn ich einen meiner Finger in eines deiner Nasenlöcher stecke, haben wir beide nen Finger in der Nase

  4. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Maximum
    Code:
    L #PV //aktueller Wert
    L #Maxwert //aktueller Spitzenwert
    >R
    SPBN =W1
    L #PV
    T #Maxwert
    W1: U #Reset //Rückstellung
    SPBN =W2
    L 0.0
    T #Maxwert
    W2: NOP 0
    Minimum
    Code:
    L #PV //aktueller Wert
    L #Minwert //aktueller Minimumwert
    <R
    SPBN =W1
    L #PV
    T #Minwert
    W1: U #Reset //Rückstellung
    SPBN =W2
    L 9999999.9
    T #Minwert
    W2: NOP 0

  5. #5
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zusätzlich zu den zwei Variablen, ich nenne sie XXMin und XXMax, solltest Du für die Zweifler noch den Timestamp spendieren, (OB1) das macht die Geschichte dann zeitlich nachvollziehbar. Also immer wenn sich Maxi oder Mini ändern den Wert und auch gleich noch Datum und Uhrzeit speichern.

  6. #6
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke schon mal für die Infonur denke ich habe ich mich vieleicht falsch ausgerückt
    Habe einen Analoggeber an einer 300er CPU der liefert einen Wert von anfangs sage ich mal 28000 als int und fällt bis zu einen gewissen punkt (min) wenn er dann steigt brauche ich den letzten wert also das minimum
    MfG
    MK Auto
    Micha

  7. #7
    Registriert seit
    02.10.2010
    Beiträge
    453
    Danke
    62
    Erhielt 87 Danke für 69 Beiträge

    Standard

    Ne, ist schon in Ordnung. Dann nimmst Du eben nur den Teil Minimum-Auswertung und ersetzt bei Vergleichen "R" durch "I".

  8. #8
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also läfft die schleife durch bis er nicht mehr kleiner wird sehe ich das richtig THX Micha

  9. #9
    Registriert seit
    02.10.2010
    Beiträge
    453
    Danke
    62
    Erhielt 87 Danke für 69 Beiträge

    Standard

    Da wird keine Schleife im herkömmlichen Sinn von Loop/Next durchlaufen, sondern eine Auswertung pro Zyklus. Es wird in jedem Zyklus durch den Vergleich überprüft, ob der aktuelle Istwert größer/gleich dem zuletzt weggespeicherten Minimalwert ist. Wenn der aktuelle Istwert kleiner dem letztem gespeicherten Minimalwert ist, wird der aktuelle Istwert im Minimalwert weggespeichert.

    Edit:
    Nimm aber die Variante von borromeus, da er schon ein Löschen des Minimalwerts (manuell, wie eine Resttaste) in seinem Beispiel berücksichtigt hat.
    Geändert von Corosop15 (10.12.2010 um 15:47 Uhr)

  10. #10
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nein denke das meine ich nicht so brauche nur nen bit wenn der wert nicht mehr fällt habe sage ich malnen sinus wenn ich messe und brauche den unteren punkt

Ähnliche Themen

  1. Anzeige einer Real-Zahl
    Von Azuel im Forum HMI
    Antworten: 2
    Letzter Beitrag: 02.03.2010, 15:18
  2. DB aus einer Zahl aufrufen !
    Von scrabble im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 02.07.2008, 09:51
  3. Antworten: 6
    Letzter Beitrag: 13.02.2008, 09:23
  4. Divisionsrest einer Real-Zahl
    Von Mütze im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.11.2006, 09:48
  5. Vorbelegung einer Zahl mit Nullen
    Von INST im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.02.2005, 09:00

Lesezeichen

Berechtigungen

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