Sonstiges Erklärung AVERAGE ( Mittelwert ) Baustein

C

chipchap

Guest
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
 

Anhänge

  • AVERAGE Baustein0001.jpg
    AVERAGE Baustein0001.jpg
    152,9 KB · Aufrufe: 83
.
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.

.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
.
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.

.
 
.

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 = [URL="http://www.baum.com.au/~jiri/mat/mat-main/logic/iec/AnnexF/average_st.txt"]see here[/URL])


.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.

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:
[URL="http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCMQFjAA&url=http%3A%2F%2Fwww.sps-forum.de%2Fsimatic%2F73595-erklaerung-average-mittelwert-baustein.html&ei=RIZRVLXcEpLX7AbC4YHwDw&usg=AFQjCNGCxpTzS9tSiwtLFKk_Z154VTaHWQ&bvm=bv.78597519,d.ZGU"][COLOR=#1a0dab][B]Sonstiges Erklärung AVERAGE ( Mittelwert ) Baustein - SPS-Forum[/B][/COLOR][/URL]

[URL="http://www.sps-forum.de/simatic/.../73595-erklaerung-average-mittelwert-baustein.ht"]www.sps-forum.de/.../73595-erklaerung-average-mittelwert-baustein.ht[/URL]...
 4 Beiträge - ‎2 Autoren
 Was bedeutet [I][B]FIFO[/B][/I].[I][B]XOUT[/B][/I]? Gegeben ist nur RUN und [I][B]XIN[/B][/I]. Der Rest muss gesucht werden und der N-Wert beträgt 3. Vielen Dank schonmal. Angehängte ...


2.Fundort
Code:
[URL="http://books.google.de/books?id=J8SMoL8KDFAC&pg=PA191&lpg=PA191&dq=XIN+XOUT+FIF%C3%92.XOUT&source=bl&ots=igmHT-PpWs&sig=eTdOo4EuZTicysvlf9kBRipUCZ0&hl=de&sa=X&ei=RIZRVLXcEpLX7AbC4YHwDw&ved=0CCkQ6AEwAQ"][COLOR=#1a0dab][B]SPS-Programmierung nach IEC 61131-3[/B][/COLOR][/URL]

books.google.de/books?isbn=3772358012
[URL="https://www.google.de/search?biw=1070&bih=742&tbm=bks&q=inauthor:%22Heinrich+Lepers%22&sa=X&ei=RIZRVLXcEpLX7AbC4YHwDw&ved=0CCoQ9AgwAQ"]Heinrich Lepers[/URL] - 2005
 11.1 Funktionsbausteine in der IEC 611 31 -3 191.[U] RUN [I][B]XIN FIFO[/B][/I].[I][B]XOUT[/B][/I] SUM [I][B]XOUT[/B][/I] [/U]0 1 0 2 0 3 1 4 1 5 1 6 1 7 1 8 1 9 PID BOOL — RUN REAL — PV [I][B]XOUT[/B][/I] ...
 
.
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. :confused:

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
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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 ? :confused:



.
 
Zurück
Oben