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

Results 1 to 10 of 10

Thread: FIFO Speicher ?????

  1. #1
    Anonymous Gast

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute

    In manchen Themen wird hier von einem Fifo - Speicher gesprochen

    Könnt ihr mir sagen was das ist ?
    Wie er funktioniert ?
    Und wozu man ihn benutzt ?

    Danke
    MFG Jack
    Reply With Quote Reply With Quote Answered: FIFO Speicher ?????  

  2. "naja plc-tippser - nix für ungut, aber ich finde das beispiel mit dem bücherstapel einfacher...


    fifo:
    du stapelst bücher aufeinander, und ziehst bei bedarf das unterste raus.
    du nimmst die bücher in der selben reihenfolge weg in der du sie auf den stapel gelegt hast. die (maximale) höhe des stapels entspricht der größe des speichers (puffers).


    lifo:
    gleich wie fifo, nur das du immer das oberste buch wegnimmst. eben das welches als letztes auf den stapel gelegt wurde."


  3. #2
    Join Date
    07.03.2004
    Posts
    4,462
    Danke
    948
    Erhielt 1,169 Danke für 837 Beiträge

    Default

    FIFO: first in first out.

    Ist selbsterklärend was als erstes gespeichert wird, wird als erstes gelesen oder entnommen.

    Gibt es nicht nur in der Software ist auch eine Art der Lagerverwaltung.
    If you open your Mind too much, your Brain will fall out.

  4. #3
    Join Date
    21.05.2004
    Posts
    462
    Danke
    33
    Erhielt 16 Danke für 8 Beiträge

    Default

    im PDF von
    HIERSCHAU

    Seite 9 Unten ist ein Bild zu FIFO - LIFO.

    Der Rest des Doks ist aber auch studierenswert.

    Kurt

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

    mr__mines (16.08.2007)

  6. #4
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    Du kannst Dir den Speicher wie eine Uhr vorstellen. Jede Minute ist eine Speicherstelle in die ich einen Wert lege und
    dann weiter zur nächsten Minute (Speicherstelle)springe. Nach 60 Minuten wird
    der zuerst gespeicherte Wert wieder überschrieben usw.
    Es gibt noch einen zweiten Minutenzeiger. Dieser liest dann auf anforderung die Speicherstellen aus.
    Dabei ist zu beachten, das der Lesezeiger nicht den Schreibzeiger und umgekehrt überholen kann.

    Die Fehlermeldungen im OP sind zum Beispiel so aufgebaut.

    Gruß pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  7. #5
    Join Date
    16.06.2003
    Location
    88356 Ostrach
    Posts
    5,056
    Danke
    1,358
    Erhielt 1,185 Danke für 562 Beiträge

    Default

    naja plc-tippser - nix für ungut, aber ich finde das beispiel mit dem bücherstapel einfacher...


    fifo:
    du stapelst bücher aufeinander, und ziehst bei bedarf das unterste raus.
    du nimmst die bücher in der selben reihenfolge weg in der du sie auf den stapel gelegt hast. die (maximale) höhe des stapels entspricht der größe des speichers (puffers).


    lifo:
    gleich wie fifo, nur das du immer das oberste buch wegnimmst. eben das welches als letztes auf den stapel gelegt wurde.

  8. #6
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    @Markus
    viele Wege führen nach Rom.

    Ein Fifo ist erstmal als Ringspeicher zu verstehen. Deshalb die Uhr. Es gibt einen Lese- und einen Schreibzeiger.

    Ein Lifo würde ich mit einem Bücherstapel beschreiben.
    Das letzte Buch was aufgelegt wurde wird als erstes wieder abgenommen.

    Wie man sich das bildlich nun vorstellt ist Gewohnheit.

    Gruß pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  9. #7
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Quote Originally Posted by plc_tippser
    Ein Fifo ist erstmal als Ringspeicher zu verstehen. Deshalb die Uhr. Es gibt einen Lese- und einen Schreibzeiger.
    Wie du sagst, führen viele Wege nach Rom: du kannst einen FIFO als Ringspeicher ausbilden. Du mußt es aber nicht. Du kannst auch das vorletzte in das letzte Datenelement kopieren und so zurück bis zum ersten ins zweite. Insbesondere für kurze FIFOs kann sowas sinnvoll sein, da alles mit festen Adressen arbeitet.

    Quote Originally Posted by plc_tippser
    Ein Lifo würde ich mit einem Bücherstapel beschreiben.
    Das letzte Buch was aufgelegt wurde wird als erstes wieder abgenommen.
    Schon richtig, aber er wollte ja ein Buch rausziehen. Da dabei alle Inhalte (Bücher) einen Platz weiterwandern, entspricht es eben dem Kopieren von Speicherstelle zu Speicherstelle.

  10. #8
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    Stimmt ja,
    mit der Uhr das sollte ja auch nur bildlich sein .
    Ob der jetzt mit dynamischen Schreib/Lesezeigern ausgestattet ist oder Speicherbereiche kopiert werden, ist ja letztlich egal. Ich habe halt einen vor X Jahren geschrieben und passe den nur in der Größe und im Datentyp an.
    Hat auch den Vorteil das der Lesezeiger rückwärtslesen kann.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  11. #9
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Das mit den Zeigern hat vor allem den Vorteil, daß die Anzahl der möglichen Leseoperationen nur durch den Inhalt und die Anzahl der Schreiboperationen nur durch den verbleibenden Speicher begrenzt sind.
    Beim Kopieren muss einer Schreib- genau eine Leseoperation folgen.
    Habe das manchmal benutzt, um Eingaben von Analogeingängen zu "glätten", mit 3 bis 5 Worte langen FIFOS.

  12. #10
    Join Date
    14.08.2004
    Posts
    934
    Danke
    48
    Erhielt 73 Danke für 66 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Jack
    Hallo Leute

    In manchen Themen wird hier von einem Fifo - Speicher gesprochen
    Hier ein Bsp (Hoffentlich ist das nicht zu O.T.):

    VAR
    fifo : ARRAY[0..TOP] OF UINT;
    first : UINT;
    last : UINT;
    END_VAR

    Ein Element hinzufügen:
    first := (first + 1) MOD TOP;
    fifo[first] := 2;

    Ein Element entnehmen:
    result := fifo[last];
    last := (last + 1) MOD TOP;

    Der MOD-Operator ist notwendig, damit kein Überlauf über die Arraygrenzen erfolgt.

    Anzahl der Elemente in der FIFO:

    IF last>first THEN
    anzahl := TOP+first-last;
    ELSE
    anzahl := first-last;
    END_IF;

    Ich nehme solche FIFOs gerne für die Kommunikation über RS232 oder RS485. Ein wildes Schreiben kann es nicht geben und einen Überlauf (first überholt last) kann man leicht detektieren.
    Reply With Quote Reply With Quote Re: FIFO Speicher ?????  

Similar Threads

  1. Step 5 S5 Fifo
    By der_iwan in forum Simatic
    Replies: 3
    Last Post: 19.07.2016, 07:13
  2. Replies: 0
    Last Post: 26.10.2015, 18:26
  3. Replies: 13
    Last Post: 01.12.2014, 11:10
  4. Fifo S7
    By stevexxx in forum Simatic
    Replies: 7
    Last Post: 18.03.2008, 14:45
  5. Fifo
    By sweber in forum Simatic
    Replies: 4
    Last Post: 14.06.2007, 15:06

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •