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

Ergebnis 1 bis 10 von 10

Thema: Erklärung AVERAGE ( Mittelwert ) Baustein

  1. #1
    Registriert seit
    08.03.2014
    Beiträge
    499
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen.

    Nachdem ich nun weiß wie ich die Tabelle des Delay Bausteins zu lesen habe bräuchte ich nun auch noch eine Erklärung der Tabelle des AVERAGE Bausteins.
    Im Anhang ist wieder die Tabelle.
    Was bedeutet FIFO.XOUT?
    Gegeben ist nur RUN und XIN. Der Rest muss gesucht werden und der N-Wert beträgt 3.

    Vielen Dank schonmal
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Erklärung AVERAGE ( Mittelwert ) Baustein  

  2. #2
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .
    Läuft ähnlich wie dein DELAY-Baustein:

    RUN=0
    XIN wird an den FIFO.XOUT durchgereicht, während die SUM
    jeweils mit deinem Faktor N multipliziert wird.
    Am XOUT erscheint der Wert von FIFO.XOUT.

    RUN=1
    Der FIFO.XOUT wird jetzt erst um dem Wert von N verzögert
    aktualisiert, während SUM jetzt um den XIN[N-3] aufaddiert
    wird.
    Am XOUT erscheint jetzt der Wert von SUM dividiert durch N.

    .
    kind regards
    SoftMachine

  3. #3
    chipchap ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.03.2014
    Beiträge
    499
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das mit dem RUN=1 verstehe ich nicht ganz. Was bedeutet genau FIFO.XOUT ?
    Wie komme ich in den Zeilen 4-9 auf den FIFO.XOUT und dann auf ddie SUM.
    Ab der Zeile 6 sieht es so aus als müßte man die 3 einfach von dem XIN abziehen, dann 3*6 und dann wieder 3 abziehen. So erhte ich die Werte in Zeile 6-9.
    Das passt aber so nicht zu den Zeilen 4+5.

  4. #4
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .
    RUN=0
    Aus FIFO.XOUT wird der XIN ausgegeben, der als
    letzter vorgegeben war, und zwar solange, bis dein
    N erreicht ist.
    --> wie bei deinem DELAY-Baustein

    RUN=1
    Auf den letzten Wert von SUM wird der Wert aufaddiert,
    den der DRITTletzte XIN gehabt hat.

    Zeile 4:
    XIN = 3 aus Zeile 3 und N = 1 --> FIFO.XOUT = 3

    Zeile 5
    XIN = 3 aus Zeile 3 und N =2 --> FIFO.XOUT = 3

    Zeile 6
    XIN = 3 aus Zeile 3 und N =3 --> FIFO.XOUT = 3

    Zeile 7
    XIN = 4 aus Zeile 4 und N =4 --> FIFO.XOUT = 4


    Und SUM in Zeile 6 errechnet sich aus dem vorherigen SUM-Wert
    zuzüglich dem in dieser Zeile gültigen Wert aus FIFO.XOUT.

    Also vorherige SUM=12 + FIFO.XOUT=3 macht SUM=15


    Du musst erkennen, dass das N jeweils bei RUN = 0 oder 1
    anders benutzt wird.
    Bei RUN=0 wird XIN damit multipliziert, um SUM zu ermitteln.
    Bei RUN=1 wird der XIN[Zeilennummer um N vermindert] genommen
    und auf SUM aufaddiert.

    .
    kind regards
    SoftMachine

  5. Folgender Benutzer sagt Danke zu SoftMachine für den nützlichen Beitrag:

    chipchap (02.11.2014)

  6. #5
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .

    Hier ist ein möglicher Quellcode deines Bausteins:

    Code:
     FUNCTION_BLOCK AVERAGE
       VAR_INPUT
         RUN : BOOL ;      (* 1 = run, 0 = reset *)
         XIN : REAL ;     (* Input variable *)
         N   : INT ;      (* 0 <= N < 128 or manufacturer- *)
       END_VAR            (*      specified maximum value  *)
       VAR_OUTPUT XOUT : REAL ; END_VAR (* Averaged output *)
       VAR SUM  : REAL := 0.0; (* Running sum *)
           FIFO : DELAY ;      (* N-Element FIFO *)
       END_VAR
       SUM := SUM - FIFO.XOUT ;
       FIFO (RUN := RUN , XIN := XIN, N := N) ;
       SUM := SUM + FIFO.XOUT ;
       IF RUN THEN XOUT := SUM/N ;
       ELSE SUM := N*XIN ; XOUT := XIN ;
       END_IF ;
     END_FUNCTION_BLOCK
    (SOURCE = see here)

    .
    kind regards
    SoftMachine

  7. #6
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .

    Beim Gockel ergeben die Suchworte "XIN XOUT FIFÒ.XOUT" als erstes natürlich das Forum () und dann den Herrn Prof. Dr. Heinrich Lepers.

    Vielleicht hilft dir sein Buch auch noch weiter ?


    1.Fundort
    Code:
    Sonstiges Erklärung AVERAGE ( Mittelwert ) Baustein - SPS-Forum
    
    www.sps-forum.de/.../73595-erklaerung-average-mittelwert-baustein.ht...
     4 Beiträge - ‎2 Autoren
     Was bedeutet FIFO.XOUT? Gegeben ist nur RUN und XIN. Der Rest muss gesucht werden und der N-Wert beträgt 3. Vielen Dank schonmal. Angehängte ...

    2.Fundort
    Code:
    SPS-Programmierung nach IEC 61131-3
    
    books.google.de/books?isbn=3772358012
    Heinrich Lepers - 2005
     11.1 Funktionsbausteine in der IEC 611 31 -3 191. RUN XIN FIFO.XOUT SUM XOUT 0 1 0 2 0 3 1 4 1 5 1 6 1 7 1 8 1 9 PID BOOL — RUN REAL — PV XOUT ...
    kind regards
    SoftMachine

  8. #7
    chipchap ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.03.2014
    Beiträge
    499
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von SoftMachine Beitrag anzeigen
    .
    RUN=0
    Aus FIFO.XOUT wird der XIN ausgegeben, der als
    letzter vorgegeben war, und zwar solange, bis dein
    N erreicht ist.
    --> wie bei deinem DELAY-Baustein

    RUN=1
    Auf den letzten Wert von SUM wird der Wert aufaddiert,
    den der DRITTletzte XIN gehabt hat.

    Zeile 4:
    XIN = 3 aus Zeile 3 und N = 1 --> FIFO.XOUT = 3

    Zeile 5
    XIN = 3 aus Zeile 3 und N =2 --> FIFO.XOUT = 3

    Zeile 6
    XIN = 3 aus Zeile 3 und N =3 --> FIFO.XOUT = 3

    Zeile 7
    XIN = 4 aus Zeile 4 und N =4 --> FIFO.XOUT = 4


    Und SUM in Zeile 6 errechnet sich aus dem vorherigen SUM-Wert
    zuzüglich dem in dieser Zeile gültigen Wert aus FIFO.XOUT.

    Also vorherige SUM=12 + FIFO.XOUT=3 macht SUM=15


    Du musst erkennen, dass das N jeweils bei RUN = 0 oder 1
    anders benutzt wird.
    Bei RUN=0 wird XIN damit multipliziert, um SUM zu ermitteln.
    Bei RUN=1 wird der XIN[Zeilennummer um N vermindert] genommen
    und auf SUM aufaddiert.

    .
    Ich verstehe nur Bahnhof.

    Was ich verstehe ist:

    -RUN = 0 und XIN = 1 --> XIN wird so wie er ist an FIFO.XOUT weitergegeben.
    --> Die Summe ergibt sich aus N*XIN = 3*1=1
    --> Der XOUT ergibt sich aus "Summe / N" oder einfach der Wert aus FIFO.XOUT

    Das Ganze ist auch bei RUN := 0 und XIN= 2 und 3.
    -------------------------------------------------------------------------

    Das Nächste sehe ich so:

    - RUN = 1 und XIN = 4 --> der XIN ergibt sich aus dem XIN aus Zeile 3 addiert mit 1 = 4
    --> aber wie komme ich auf FIFO.XOUT = 3 ?

    ------------------------------------------------------------------------------------------------------

    Du schreibst in Absatz 2 das auf den SUM der 3. letzte Wert aufaddiert wird. Das ist in Zeile 4 --> 9 ( SUM aus Zeile 3 )+1= 10. Die 10 wird dann in SUM der Zeile 4 geschrieben. Bis zur Zeile 5. Da steht die 12.

    In Zeile 6 wird nun die SUM anders berechnet, und zwar mit dem SUM-Wert aus Zeile 5 addiert dem FIFI.XOUT-Wert aus Zeile 5. Das ergibt 15.
    Warum wird da nun anders gerechnet??

    Im letzten Absatz schreibst Du, das bei RUN=1 der XIN um N ( also 3 ) vermindert genommen und auf die SUM aufaddiert wird.
    Bis Zeile 6 passt das auch aber ab Zeile 7 hätte ich einen Wert von 19 ( 7-3=4 ; 15+4=19 ).
    Die restlichen Zeilen wären dann auch falsch.

    Und wie ich ab Zeile 4 au fden FIFO.XOUT komme verstehe ich auch nicht.

    Muß gleich zur Arbeit. Werde mich morgen nochmal dransetzen.

    MfG

  9. #8
    chipchap ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.03.2014
    Beiträge
    499
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    So, nach langen überlegen habe ich nun auch diesen Baustein verstanden. Endlich!

    Trotzdem würde ich gerne wissen ob für alle Bausteine ein Buch Buch gibt, in dem sowas genauso wie hier beschrieben ist?

    Das würde einem sehr gut weiterhelfen, da in den Lehrbüchern nichts genaueres steht.

    MfG

  10. #9
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Zitat Zitat von chipchap Beitrag anzeigen
    So, nach langen überlegen habe ich nun auch diesen Baustein verstanden. Endlich!

    Trotzdem würde ich gerne wissen ob für alle Bausteine ein Buch Buch gibt, in dem sowas genauso wie hier beschrieben ist?

    Das würde einem sehr gut weiterhelfen, da in den Lehrbüchern nichts genaueres steht.

    MfG

    1. Freut mich, Glückwunsch !
    2. Ein Buch Für ALLE Bausteine ? Welche ALLE ?



    .
    kind regards
    SoftMachine

  11. #10
    chipchap ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.03.2014
    Beiträge
    499
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zumindest für solche wie diese 2 hier "DELAY / AVERAGE"

Ähnliche Themen

  1. Sonstiges Erklärung DELAY Baustein
    Von chipchap im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 30.10.2014, 09:17
  2. Wieder Multiinstanz... Mittelwert Bildung
    Von c.wehn im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 25.10.2012, 10:43
  3. mittelwert berechnung
    Von candemirkorkmaz im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 27.07.2011, 13:11
  4. Ringpuffer mit Mittelwert
    Von taucherd im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 19.05.2011, 23:30
  5. Antworten: 5
    Letzter Beitrag: 10.05.2009, 13:00

Lesezeichen

Berechtigungen

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