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
:><F
:SPB =M002 sprung bei nein
:L MW 202 ablagedaten
:T DW 3 im dw 3 speichern
M001 :BE
für doppelworte hab ich einen ähnlichen, aber im mom nicht zur hand.
falls interesse besteht.....
siehe auch in meinem downloadbereich