false IBAE FIFO FifoIn
Schnittstellen-DB Schnittstellen-1.DW Position des Eintrags, der zu ändernden Daten Wechsel-Daten-Schnittstelle
Rückmeldung
Zeiger, wo Rein-Daten sind Zeiger, FIFO-Stelle Fifo-Kennung (FF) Datensatzlänge in Word (1 - 128) Länge des Fifo (maximale Anzahl der Datensätze) Zeiger, wohin nächster Eintrag gespeichert wird Zeiger, woher nächste Daten geholt werden Anzahl der Datensätze (eingetragene) Status des Fifo Fehlerbits Minimum Holzeiger Maximum Holzeiger FIFO-DB Rückmeldung SFC-Aufruf Rückmeldung SFC-Aufruf Ende des Fifo Anzahl der bytes für alle Daten Offset zu überschreibender Datensatz Status nicht speichern Rückmeldung SFC-Aufruf Statt AR1 (ging nur bis DB-Länge <= 8191 Bytes) Startwert mit Offset 0
Standard FIFOChange 84 STL cs-CZ de-DE COPYRIGHT by Ingenieurbüro A.Emmert Ortsstr.33, D-869925 Fuchstal (Germany) Tel.: 0049(0)8243-960629 Version: KyungBang00 / 14.04.2009 Datenblock in Fifo überschreiben SSDB: FIFO-DB SSDW: FIFO-1.DW CH_POS: angegebene Position überschreiben CHANGEDATEN: Pointer, wo zu ändernde Daten stehen (P#DB1.DBX0.0, P#M220.0) RE_VAL: Rückmeldungen: Bit0: Kein Fifobereich / falscher Kopfinhalt / Endekennung Bit1: SFC20-Aufruf mit Fehler Bit2: Fifo ist leer Bit3: Falscher Parameter bei Aufruf Bit4: Position nicht belegt Bit5: Bringzeiger ist ausserhalb Bit6: Holzeiger ist ausserhalb Bit7: Versatz Bring-/Holzeiger en-US CALL TEST_DB DB_NUMBER :=#DBFifo RET_VAL :=#SFC_RET_VAL DB_LENGTH :=#SFC_DB_LENGTH WRITE_PROT :=#SFC_WRITE_PROT Word 2#0000_0000_0000_0000 Status nicht speichern STL cs-CZ de-DE en-US cs-CZ de-DE Schnittstellen-DB sinnvoll ? en-US Word 16#1004 Kennung 10 + Word=04
Any-Kennung, Datentyp Word 16#0006 6 Dw´s holen
Wiederholungen
DB_Nummer Adresse Int 3 DWord 16#8400_0000 Kennung: Daten
Kennung, Adresse 1.-6.DW FIFO holen Variant Any P#L20.0 WORD 6 Word 2#0000_0000_1110_0000 Word 2#0000_0000_0000_0000 STL cs-CZ de-DE Quelle-Pointer erzeugen: en-US cs-CZ de-DE Fifokopfdaten holen en-US Fifo-Kopf Byte 16#FF = Fifokennung ? Nein ! Status nicht speichern Int 1 Datenblocklänge Int 128 Int 1 Max.Anzahl von Datenblöcken Int 40 Speichern ab 20.DW Minimum Bringzeiger Länge FIFO (in Word) Int -1 Datenblocklänge Int 2 DB byteorientiert Int 40 Speichern ab 20.DW Maximum Bringzeiger Datenblocklänge Int 2 DB byteorientiert Maximum Holzeiger Zeiger Endekennung Startwert mit Offset 0 Int 3 /Statt Dyn.Bereichsstop (ging nur bis DB-Länge <= 8191 Bytes) Fifo-DB ist zu kurz! Word 16#FFEE Fifo-Endekennung ? Nein ! Minimum Holzeiger Holzeiger Ok ? Int 0 Grundstellung ? Nein ! Holzeiger Grundstellung ? Nein ! Anzahl Datensätze Int 0 Grundstellung ? Nein ! Minimum Holzeiger Bringzeiger Holzeiger Maximum Holzeiger Ok ? Bringzeiger Holzeiger Identisch ! Anzahl der gespeicherten Datensätze Fifo noch nicht voll ! Int 0 Datensätze aber noch vorhanden ! Bringzeiger Holzeiger Ungleich ! Anzahl der gespeicherten Datensätze Aber Fifo ist voll ! Int 0 Aber keine Datensätze vorhanden ! Anzahl der gespeicherten Datensätze Int 0 Keine Datensätze vorhanden ! STL cs-CZ de-DE en-US cs-CZ de-DE Zeigerüberprüfung en-US Int 0 Max.Anzahl von Datenblöcken Anzahl der Datensätze Int -1 1.Teil = Holzeiger ! Datenblocklänge Int 2 DB byteorientiert Holzeiger Schreibzeiger Maximum Holzeiger Max.Anzahl von Datenblöcken Datenblocklänge Int 2 DB byteorientiert Bytes für alle Datensätze Schreibzeiger STL cs-CZ de-DE en-US cs-CZ de-DE Offset bilden en-US Word 16#1004 Kennung 10 + Word=04
Any-Kennung, Datentyp Datenbytes speichern
Wiederholungen DATEN-Pointer übernehmen:
DB_Nummer
Kennung, Adresse Ziel-Pointer erzeugen: Kennung + Datenbytes s.o.
DB_Nummer Adresse Int 3 DWord 16#8400_0000 Kennung: Daten
Kennung, Adresse FIFO-Daten speichern Variant Word 2#0000_0000_0000_0000 STL cs-CZ de-DE Quelle-Pointer erzeugen: en-US cs-CZ de-DE Fifodaten überschreiben en-US VKE = 1 ohne Fehler !!! Word 2#0000_0000_0000_0001 Kein Fifobereich
SFC20-Aufruf mit Fehler
Fifo ist voll
Falscher Parameter
Position nicht belegt
Holzeiger außerhalb
Versatz Bring-/Holzeiger VKE = 0 bei Fehler !!! VKE in BIE-Bit speichern STL cs-CZ de-DE en-US cs-CZ de-DE Fehlerausgabe / RET_VAL en-US
Falscher Parameter Status nicht speichern Int 10 Status Startwert mit Offset 0 Int 3 /Statt Dyn.Bereichsstop (ging nur bis DB-Länge <= 8191 Bytes) STL cs-CZ de-DE en-US cs-CZ de-DE Fifokopfdaten speichern en-US cs-CZ de-DE Fifo-Modul en-US