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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Zur Verfügung gestellter Wert aufspalten und zusammenzählen

  1. #1
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Mahte ist schon bissel länger her bei mir
    Ich komme grad nicht darauf, wie man diese Formel nennt oder aufstellt.

    Folgendes: Ich bekomme von einem System einen Wert geliefert.
    Dieser Wert wird in 5er Schritten in dem Externen System hochgezählt.
    Dies geschieht im 60sec-Takt. Jedoch wird das nur gezählt, wenn das
    System auch in Automatik läuft.

    Nun sollen alle Werte ineinander addiert werden.
    Also sowas, als ob ich alle 60sec den alten Werte mit dem neuen Wert addiere.

    Das Problem ist, das ich nur alle 24 Stunden einmal den neuen Wert von dem
    anderen System bekomme.

    D.H.
    1. Tag 500
    2. Tag 655
    etc.

    Jetzt war am ersten Tag ja zuerst mal die 0 dann 5, dann 10 ->
    5+10+15+20+25+30 etc.
    Jedoch die 500 / 5 teilen und dann ne Schleife durchlaufen lassen und
    sozusagen mir das intern wieder zusammenbasteln will ich nicht

    Ich suche was mathematisches, mit dem ich das lösen kann.

    Jemand eine Idee?
    Geändert von Krumnix (03.04.2010 um 11:42 Uhr)
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN
    Zitieren Zitieren Zur Verfügung gestellter Wert aufspalten und zusammenzählen  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo Krumnix,
    ich muss dir gestehen, dass ich aus deiner etwas konfusen Beschreibung nicht so richtig schlau geworden bin.
    Was ich verstanden habe ist :
    Du erhälst von einem externen System jede Minute einen Zwischenwert. Diesen Zwischenwert willst du aufsummieren. Was jetzt noch ? Das ist ja wohl nicht das Problem ...
    Außerdem : bekommst du mit dem Zwischenwert einen Trigger, damit du weißt, dass es ein neuer Wert ist ?

    Gruß
    LL

  3. #3
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Krumnix,
    ich muss dir gestehen, dass ich aus deiner etwas konfusen Beschreibung nicht so richtig schlau geworden bin.
    dito

    Ich probiere es mal so:
    Du bekommst täglich einen aufsummierten Wert (Gesamtsumme) gesendet und willst wissen wie viele das am Vortag waren?
    Code:
         U #Neuer Wert bekommen
         FP #Flanke
         SPBN END
         L #Wert von Externer Steuerung
         L #Altwert gespeichert
         -I
         T #Vortageswert
         L 5 (fünfer Schritt)
         /I
         L 60 (Sekunden)
         /I
         T #Takte pro Tag
     
         L #Wert von Externer Steuerung
         T #Altwert gespeichert
    End:NOP 0
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  4. #4
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Nein.

    Das externe System addiert in sich selbst alle 60sec einen Wert um 5.
    Dies geschieht nur, wenn das System in Automatik ist.
    Einmal am Tag bekomme ich den gesamten Wert gesendet.
    Also eine Zahl alle 24h. Danach resette das System den Wert wieder.
    -> 1. Tag 500, 2. Tag 655, 3. 200 etc....

    Nun will der Kunde alle Werte, die das System sich gebildet hat, aufaddiert haben.
    Dies soll dann als Gesamtwert angezeigt werden.

    D.H. wenn man das Gerät zur Stunde Null in Auto versetzt und 1min ist vorbei
    steht in deren internen Variable (hab ich keinen Zugriff drauf) ne 5.
    Nach weitern 60sec und Auto ein steht ne 10 drin.
    Der Kunde will nun aber, das ich ihm 15 anzeige also 5+10.

    Wenn das System mir z.B. 40 sendet, dann muss ich
    5+10+15+20+25+30+35+40 berechnen und anzeigen.

    Jedoch will ich das nicht als Schleife machen, weil ich mir sicher bin, das es
    dafür auch ne mathematische Formel gibt.
    Geändert von Krumnix (03.04.2010 um 11:51 Uhr)
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  5. #5
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Ich glaube es war der alte Gauß, der hierfür eine Lösung hatte.

    n = Endwert / 5
    Summe = (n/2) * (n+1) * 5

    Achtung: Werte können Nachkommastellen haben.

    Beispiel:
    Wert = 30
    n = 30 / 5 = 6
    Summe = (6/2) * (6+1) * 5 = 3 * 7 * 5 = 105

    Wert = 35
    n = 35 / 5 = 7
    Summe = (7/2) * (7+1) * 5 = 3.5 * 8 * 5 = 140

    Entfall der Nachkommastellen durch Umformen:

    Summe = 5 * (Wert/5 + 1) * (Wert/5/2) = (Wert + 5) * Wert / 10

    In diesem Fall den möglichen Überlauf des Wertebereiches beachten
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  6. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    Krumnix (04.04.2010)

  7. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    OK ... verstanden ...
    Die Berechnung, mit der du das verwechselt nennt sich Fakultät. Diese Multipliziert allerdings die Vorgängerwerte und ist m.E. auch keine Funktion von Step 7. Das, was du da hast, ist allerdings genau das, wie du es darstellst - nämlich eine Schleifen-Funktion - auch dann wenn du es vielleicht Integral nennen möchtest. Deine Routine wäre dann also :
    Code:
    Summe := 0 ;
    for i:= 5 to Endwert by 5 do
       summe := summe + i ;
    end_for ;
    ... hier mal als SCL-Script dargestellt.
    Was spricht dagegen, das so (oder von mir aus auch in einem AWL-Pendant) auszurechnen ? Hast du Angst, dass dir deine Zykluszeit wegen der Berechnung um 5ms in dem Berechnungs-Zyklus ansteigt ?

    Gruß
    LL

  8. #7
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    @LL:
    Ich denke meine Formel ist einfacher (und hat nichts mit Fakultät zu tun).
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  9. #8
    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 Rainer Hönle Beitrag anzeigen
    Ich glaube es war der alte Gauß, der hierfür eine Lösung hatte.
    Der alte? Das war doch der "kleine Gauß"

  10. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Der alte? Das war doch der "kleine Gauß"
    Ich dachte, im Alter wird man wieder kleiner.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  11. #10
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    n = Endwert / 5
    Summe = (n/2) * (n+1) * 5

    Achtung: Werte können Nachkommastellen haben.

    Beispiel:
    Wert = 30
    n = 30 / 5 = 6
    Summe = (6/2) * (6+1) * 5 = 3 * 7 * 5 = 105

    Wert = 35
    n = 35 / 5 = 7
    Summe = (7/2) * (7+1) * 5 = 3.5 * 8 * 5 = 140
    Wenn man in der Formel die Division mit 2 erst zum Schluss durchführt, bekommt man keine Nachkommastellen:

    Code:
    n = Wert / 5
     
        n * (n + 1) 
    S = ----------- * 5
             2
     
    Wert = 30
     
    n = 30 / 5 = 6
     
        6 * (6 + 1)
    S = ----------- * 5 = 105
             2 
     
    Wert = 35
     
    n = 35 / 5 = 7
     
        7 * (7 + 1) 
    S = ----------- * 5 = 140
             2
    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Entfall der Nachkommastellen durch Umformen:

    Summe = 5 * (Wert/5 + 1) * (Wert/5/2) = (Wert + 5) * Wert / 10

    In diesem Fall den möglichen Überlauf des Wertebereiches beachten
    Trotzdem kann man natürlich in die Formel den Wert einzufügen und die Formel entsprechend umformen:

    Code:
    n = Wert / 5
     
        n * (n + 1) 
    S = ----------- * 5
             2
     
        Wert    Wert    
        ---- * (---- + 1)
         5       5        
    S = ----------------- * 5
                2
     
        Wert    Wert   5 
        ---- * (---- + -)
         5       5     5
    S = ----------------- * 5
                2
     
        Wert    Wert + 5 
        ---- * (--------)
         5         5   
    S = ----------------- * 5
                2
     
        Wert   
        ---- * (Wert + 5)
         25     
    S = ----------------- * 5
                2
     
        Wert * (Wert + 5)     
    S = ----------------- * 5
               50
     
        Wert * (Wert + 5)     
    S = -----------------
               10
    Gruß Kai

Ähnliche Themen

  1. REAL-Wert in Word-Wert konvertieren
    Von Mohrchen im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.07.2011, 13:02
  2. Antworten: 6
    Letzter Beitrag: 19.04.2007, 00:24
  3. Analogwert zusammenzählen (integrieren)
    Von ac450ohm im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.02.2007, 10:07
  4. Call_FC steht nicht zur Verfügung !
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 19.02.2006, 22:28
  5. Antworten: 4
    Letzter Beitrag: 29.12.2004, 13:54

Lesezeichen

Berechtigungen

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