Schieberegister (FIFO) mit Pointer

A

Anonymous

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Hi
Ich habe hier eine kleine Aufgabe:
Ich möchte über eine längere Bandstrecke den Teiletyp verfolgen. Am Anfang des Bandes laufen Teile mit verschiedenen Typnummern (1-10) ein. Am Ende des Bandes, wenn diese Teile wieder ausfahren, möchte ich die Typnummer des entsprechenden Teiles wieder wissen. Die Erkennung, wann ein Teil ein- bzw ausläuft erfolgt über Sensoren. Auf dem Band haben maximal 100 Teile Platz. Es handelt sich also um eine Art Schieberegister oder besser FIFO (First In, First Out).
Bei der S5 haben wir ja sowas über die "Bearbeite"-Funktion B MW0 gemacht. Bei der S7 müßte das aber über Pointer bestimmt besser gehen.
Wer hat eine gute Idee?
 
OP
N

Necki

Guest
Ich schaue mal nach

Ich werde mal nachsehen, wie ich es realisiert habe.
Schon mal irgendwo gemacht, muß es aber erst noch prüfen!

MfG
 

sps-concept

Well-known member
Beiträge
2.235
Punkte Reaktionen
249
Zuviel Werbung?
->Hier kostenlos registrieren
Register

Hallo jimmy,

das geht nicht nur besser über Pointer, sondern nur über Pointer weil es die Bearbeitefunktion so nicht mehr gibt. Wenn du schon was aus S5-Zeiten hast, übersetz es und pass es an...

MfG
André Räppel
 
OP
A

Anonymous

Guest
NW1 Einlesen FIFO
U(
U DB2.DBX 4.0
BLD 100
FP DB2.DBX 4.4
)
SPBNB _001
CALL FC 84
DATA :=DB2.DBW0
TABLE:=DB2.DBW10
_001: U BIE
= DB2.DBX 4.1
NW2 Start Eintrag
U DB2.DBX 4.1
R DB2.DBX 4.0
NW3 Auslesen FIFO
U(
U DB2.DBX 4.2
BLD 100
FP DB2.DBX 4.5
)
SPBNB _002
CALL FC 85
TABLE :=DB2.DBW10
RET_VAL:=DB2.DBW2
_002: U BIE
= DB2.DBX 4.3
NW4
U DB2.DBX 4.3
R DB2.DBX 4.2

DB2
Eingabedaten_FC84 WORD W#16#0 Eintrag in FIFO
Ausgabedaten_FC85 WORD W#16#0 Austrag aus FIFO
EN_Funktion_Start_FC84 BOOL FALSE Start Eintrag
ENQ_Funktion_ok_FC84 BOOL FALSE Eintrag ok
EN_Funktion_Start_FC85 BOOL FALSE Start Austrag
ENQ_Funktion_ok_FC85 BOOL FALSE Austrag ok
FHM_Eintrag BOOL FALSE Flankenhilfsmerker Eintrag
FHM_Austrag BOOL FALSE Flankenhilfsmerker Austrag
Reserve_6 ARRAY[1..4]
BYTE
Tabellenlaenge INT 6 FC84/FC85
Anzahl_Eintraege INT 0 FC84/FC85
Eintrag1 WORD W#16#0 FC84/FC85
Eintrag2 WORD W#16#0 FC84/FC85
Eintrag3 WORD W#16#0 FC84/FC85
Eintrag4 WORD W#16#0 FC84/FC85
Eintrag5 WORD W#16#0 FC84/FC85
Eintrag6 WORD W#16#0 FC84/FC85
Reserve_26 ARRAY[1..74]
BYTE
 
Oben