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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: FIFO Puffer mit 32Bit

  1. #11
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 420 Danke für 337 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    dann musst du halt, entweder so wie in meinem vorschlag immer wieder die datenwörter nach dem auslesen nach untern verschieben oder du lässt deie zweipointer auf die datenwörter im kreis laufen. musst halt bei ereichen des max wertes den pointer für schreiben wieder auf den anfang setzen und bei min wert auf den letzten dtenwert. und den lesepointer genau so.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren ringlesen...  

  2. #12
    Registriert seit
    11.06.2004
    Beiträge
    100
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo

    könnte man nicht die FC's aus der Bibliothek von 16bit auf 32bit ändern?
    Zitieren Zitieren FIFO  

  3. #13
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Hallo Whibloc,

    Zitat Zitat von Whibloc
    ...Das funktioniert aber nur bedingt, weil ich bei meiner Anwendung keinen Pufferüberlauf bekomme. Und mein Puffer so nicht im Kreis läuft und meinen ersten Wert überschreibt.
    Deshalb ist meine Lösung nur bedingt einsatzfähig.
    Gruss
    Im Downloadbereich von www.sps-net.de findest du ein FiFo-Beispiel für INT-Werte, bei dem "umlaufende" Zeiger für Schreiben und Lesen verwendet werden. Du kannst das Beispiel ganz einfach auf 32-Bit-Werte ändern. Oder suche hier im Form nach "MOD".

    http://www.sps-forum.de/phpBB2/viewt...&highlight=mod

    Gruß, Onkel

  4. #14
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    ich hab hier einen fb für s5 den ich vor einiger zeit mal geschrieben habe.

    funktioniert folgendermassen:

    mit der steigenden flanke daten eintragen werden alle dw's um eins nach unten geschoben und der neue wert oben eingetragen. der unterste wert fällt raus.

    Code:
    FB 101                               E:EIGENEST.S5D                    LAE=88   
                                                                           Blatt   1
    Netzwerk 1                   Ein Wort in Fifo speichern
    
    ===============================================================================
    Beschreibt einen DB beginnend ab DW3 (beschreibt jedes Wort)
    
    EINT = Daten eintragen anstossen.
    FIDB = FIFO-DB
    DADB = Daten-DB
    FLAN = Flankenmerker zum Daten eintragen
    IMPU = Impulsmerker zum Daten eintragen
    DATE = Daten zum Ablegen
    NUWO = Anzahl der Nutzworte
    ===============================================================================
    Name :FIFO-EIN
    Bez  :EINT      E/A/D/B/T/Z: E  BI/BY/W/D: BI
    Bez  :FIDB      E/A/D/B/T/Z: B
    Bez  :DADB      E/A/D/B/T/Z: B
    Bez  :FLAN      E/A/D/B/T/Z: A  BI/BY/W/D: BI
    Bez  :IMPU      E/A/D/B/T/Z: A  BI/BY/W/D: BI
    Bez  :DATE      E/A/D/B/T/Z: E  BI/BY/W/D: W
    Bez  :NUWO      E/A/D/B/T/Z: D  KM/KH/KY/KC/KF/KT/KZ/KG: KF
     
         :                                           EINT=Daten eintragen anstossen
         :                                           FIDB=FIFO-DB
         :                                           DADB=Daten-DB
         :                                           FLAN=Flankenmer.zum Daten eint>
         :                                           IMPU=Impulsmer.zum Daten eintr.
         :                                           DATE=Daten zum ablegen
         :                                           NUWO=Anzahl der Nutzworte
         :***
    
    Netzwerk 2
         :AWL
         :UN  =EINT                                  Daten eintragen anstossen
         :RB  =FLAN                                  Flankenmerker ruecksetzen
         :U   =EINT
         :UN  =FLAN
         :S   =FLAN
         :=   =IMPU                                  Impulsmerker
         :
         :UN  =IMPU
         :SPB =M001
         :
         :B   =DADB                                  Daten - DB
         :L   =DATE                                  Daten zum abspeichern
         :T   MW 202
         :
         :B   =FIDB                                  fifo-db
         :LW  =NUWO                                  Anzahl nutzworte
         :L   KF +2                                  endadresse -1 erzeugen
         :+F
         :T   MW 200                                 index
         :
    M002 :L   MW 200                                 lade index dw x
         :T   DW   0
         :B   DW   0
         :L   DW   0                                 lade dw x
         :T   DW   1                                 zwischenspeichern in dw1
         :L   MW 200
         :L   KF +1
         :+F                                         erzeuge index +1
         :T   DW   0                                 neuer index
         :L   DW   1                                 zwischengespeichertes dw x
         :B   DW   0
         :T   DW   0                                 im neuen index speichern
         :
         :L   MW 200                                 index -1
         :L   KF +1
         :-F
         :T   MW 200
         :L   MW 200
         :L   KF +2                                  erstes nutzwort erreicht
         &#58;><F
         &#58;SPB =M002                                  sprung bei nein
         &#58;L   MW 202                                 ablagedaten
         &#58;T   DW   3                                 im dw 3 speichern
    M001 &#58;BE
    für doppelworte hab ich einen ähnlichen, aber im mom nicht zur hand.
    falls interesse besteht.....

    siehe auch in meinem downloadbereich
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #15
    Anonymous Gast

    Standard

    Zitat Zitat von volker
    ich hab hier einen fb für s5 den ich vor einiger zeit mal geschrieben habe.

    funktioniert folgendermassen:

    mit der steigenden flanke daten eintragen werden alle dw's um eins nach unten geschoben und der neue wert oben eingetragen. der unterste wert fällt raus.

    Code:
    FB 101                               E&#58;EIGENEST.S5D                    LAE=88   
                                                                           Blatt   1
    Netzwerk 1                   Ein Wort in Fifo speichern
    
    ===============================================================================
    Beschreibt einen DB beginnend ab DW3 &#40;beschreibt jedes Wort&#41;
    
    EINT = Daten eintragen anstossen.
    FIDB = FIFO-DB
    DADB = Daten-DB
    FLAN = Flankenmerker zum Daten eintragen
    IMPU = Impulsmerker zum Daten eintragen
    DATE = Daten zum Ablegen
    NUWO = Anzahl der Nutzworte
    ===============================================================================
    Name &#58;FIFO-EIN
    Bez  &#58;EINT      E/A/D/B/T/Z&#58; E  BI/BY/W/D&#58; BI
    Bez  &#58;FIDB      E/A/D/B/T/Z&#58; B
    Bez  &#58;DADB      E/A/D/B/T/Z&#58; B
    Bez  &#58;FLAN      E/A/D/B/T/Z&#58; A  BI/BY/W/D&#58; BI
    Bez  &#58;IMPU      E/A/D/B/T/Z&#58; A  BI/BY/W/D&#58; BI
    Bez  &#58;DATE      E/A/D/B/T/Z&#58; E  BI/BY/W/D&#58; W
    Bez  &#58;NUWO      E/A/D/B/T/Z&#58; D  KM/KH/KY/KC/KF/KT/KZ/KG&#58; KF
     
         &#58;                                           EINT=Daten eintragen anstossen
         &#58;                                           FIDB=FIFO-DB
         &#58;                                           DADB=Daten-DB
         &#58;                                           FLAN=Flankenmer.zum Daten eint>
         &#58;                                           IMPU=Impulsmer.zum Daten eintr.
         &#58;                                           DATE=Daten zum ablegen
         &#58;                                           NUWO=Anzahl der Nutzworte
         &#58;***
    
    Netzwerk 2
         &#58;AWL
         &#58;UN  =EINT                                  Daten eintragen anstossen
         &#58;RB  =FLAN                                  Flankenmerker ruecksetzen
         &#58;U   =EINT
         &#58;UN  =FLAN
         &#58;S   =FLAN
         &#58;=   =IMPU                                  Impulsmerker
         &#58;
         &#58;UN  =IMPU
         &#58;SPB =M001
         &#58;
         &#58;B   =DADB                                  Daten - DB
         &#58;L   =DATE                                  Daten zum abspeichern
         &#58;T   MW 202
         &#58;
         &#58;B   =FIDB                                  fifo-db
         &#58;LW  =NUWO                                  Anzahl nutzworte
         &#58;L   KF +2                                  endadresse -1 erzeugen
         &#58;+F
         &#58;T   MW 200                                 index
         &#58;
    M002 &#58;L   MW 200                                 lade index dw x
         &#58;T   DW   0
         &#58;B   DW   0
         &#58;L   DW   0                                 lade dw x
         &#58;T   DW   1                                 zwischenspeichern in dw1
         &#58;L   MW 200
         &#58;L   KF +1
         &#58;+F                                         erzeuge index +1
         &#58;T   DW   0                                 neuer index
         &#58;L   DW   1                                 zwischengespeichertes dw x
         &#58;B   DW   0
         &#58;T   DW   0                                 im neuen index speichern
         &#58;
         &#58;L   MW 200                                 index -1
         &#58;L   KF +1
         &#58;-F
         &#58;T   MW 200
         &#58;L   MW 200
         &#58;L   KF +2                                  erstes nutzwort erreicht
         &#58;><F
         &#58;SPB =M002                                  sprung bei nein
         &#58;L   MW 202                                 ablagedaten
         &#58;T   DW   3                                 im dw 3 speichern
    M001 &#58;BE
    für doppelworte hab ich einen ähnlichen, aber im mom nicht zur hand.
    falls interesse besteht.....

    siehe auch in meinem downloadbereich
    oder meinen hääää

  6. #16
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von Anonymous
    oder meinen hääää
    muss ich das jetzt verstehen?


    übrigens habe ich den fifo für s7 angepasst.

    im fifo_blk sind jetzt drin:
    blockfifo,fifo für 1 byte, fifo für 1 wort, fifo für 1 doppelwort.

    auf meiner hp.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  7. #17
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    Hallo,
    ist doch immer wieder schön, wenn jemand was zu meckern hat, bloß zu 99% als anonymer Gast, ist doch merkwürdig, oder sollte System dahinterstecken :P .

    Man sollte schon genung Mut haben, wenn man solche Äußerungen hier losläßt, sich mit Namen einzuloggen.

    mfg

    dietmar

  8. #18
    Anonymous Gast

    Standard

    Wenn es schnell gehen soll!!



    DB12 und DB13 anlegen.

    UN Bedingung
    SPB ENDE

    CALL SFC 20
    SRCBLK :=P#DB12.DBX0.0 BYTE 100
    RET_VAL:=MW206
    DSTBLK :=P#DB13.DBX0.0 BYTE 100

    CALL SFC 20
    SRCBLK :=P#DB13.DBX0.0 BYTE 100
    RET_VAL:=MW208
    DSTBLK :=P#DB12.DBX1.0 BYTE 100

    L 0
    T DB12.DBB 1

    ENDE: NOP0


    Gruss Rainer
    Zitieren Zitieren FIFO S7  

  9. #19
    Registriert seit
    05.11.2008
    Beiträge
    31
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von volker Beitrag anzeigen
    muss ich das jetzt verstehen?


    übrigens habe ich den fifo für s7 angepasst.

    im fifo_blk sind jetzt drin:
    blockfifo,fifo für 1 byte, fifo für 1 wort, fifo für 1 doppelwort.

    auf meiner hp.
    Hallo volker,
    es ist nun zwar schon 6 Jahre her aber deine Hompage besteht ja noch
    Nur finde ich leider den Fifo Download nicht.

    Grüße Robin T.
    Geändert von mrdoc (22.06.2011 um 21:53 Uhr)

Ähnliche Themen

  1. OP 177B Kurvenanzeige Puffer bitgetriggert
    Von The Dude im Forum HMI
    Antworten: 7
    Letzter Beitrag: 12.11.2010, 10:42
  2. E/A Puffer DB oder Merker
    Von Robot-Sun im Forum Programmierstrategien
    Antworten: 28
    Letzter Beitrag: 02.11.2008, 18:12
  3. Puffer beschreiben
    Von PHANTOMIAS im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 15.04.2008, 13:46
  4. Puffer Initialisierung
    Von PHANTOMIAS im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 12.04.2008, 22:14
  5. CP343-1 Advance / Libnodave Puffer voll?
    Von Hand im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 29.03.2007, 11:22

Lesezeichen

Berechtigungen

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