falseIBAEFIFOFifoInSchnittstellen-DBSchnittstellen-1.DWPosition des Eintrags, der zu ändernden DatenWechsel-Daten-SchnittstelleRückmeldungZeiger, wo Rein-Daten sindZeiger, FIFO-StelleFifo-Kennung (FF)Datensatzlänge in Word (1 - 128)Länge des Fifo (maximale Anzahl der Datensätze)Zeiger, wohin nächster Eintrag gespeichert wirdZeiger, woher nächste Daten geholt werdenAnzahl der Datensätze (eingetragene)Status des FifoFehlerbitsMinimum HolzeigerMaximum HolzeigerFIFO-DBRückmeldung SFC-AufrufRückmeldung SFC-AufrufEnde des FifoAnzahl der bytes für alle DatenOffset zu überschreibender DatensatzStatus nicht speichernRückmeldung SFC-AufrufStatt AR1 (ging nur bis DB-Länge <= 8191 Bytes)Startwert mit Offset 0StandardFIFOChange84STLde-DECOPYRIGHT 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
CALL TEST_DB DB_NUMBER :=#DBFifo RET_VAL :=#SFC_RET_VAL DB_LENGTH :=#SFC_DB_LENGTH WRITE_PROT :=#SFC_WRITE_PROTWord2#0000_0000_0000_0000Status nicht speichernkein FifobereichSTLde-DEde-DESchnittstellen-DB sinnvoll ?Word16#1004Kennung 10 + Word=04Any-Kennung, DatentypWord16#00066 Dw´s holenWiederholungenDB_NummerAdresseInt3DWord16#8400_0000Kennung: DatenKennung, Adresse1.-6.DW FIFO holenVariantAnyP#L20.0 WORD 6Word2#0000_0000_1110_0000Kapitalfehler vorhandenWord2#0000_0000_0000_0000STLde-DEQuelle-Pointer erzeugen:de-DEFifokopfdaten holenFifo-KopfByte16#FF= Fifokennung ?Nein !Status nicht speichernkein FifobereichInt1Datenblocklängekein FifobereichInt128kein FifobereichInt1Max.Anzahl von Datenblöckenkein FifobereichInt40Speichern ab 20.DWMinimum BringzeigerLänge FIFO (in Word)Int-1DatenblocklängeInt2DB byteorientiertInt40Speichern ab 20.DWMaximum BringzeigerDatenblocklängeInt2DB byteorientiertMaximum HolzeigerZeiger EndekennungStartwert mit Offset 0Int3/Statt Dyn.Bereichsstop (ging nur bis DB-Länge <= 8191 Bytes)Fifo-DB ist zu kurz!kein Fifo-BereichWord16#FFEEFifo-Endekennung ?Nein !kein FifobereichMinimum HolzeigerHolzeigerOk ?Ja!Int0Grundstellung ?Nein !Holzeiger ist ausserhalbHolzeiger Grundstellung ?Nein !Holzeiger ist ausserhalbAnzahl DatensätzeInt0Grundstellung ?Nein !Holzeiger ist ausserhalbMinimum HolzeigerBringzeigerHolzeigerMaximum HolzeigerOk ?Ja!Holzeiger ist ausserhalbBringzeigerHolzeigerIdentisch !Anzahl der gespeicherten DatensätzeFifo noch nicht voll !Int0Datensätze aber noch vorhanden !Versatz Bring-/HolzeigerBringzeigerHolzeigerUngleich !Anzahl der gespeicherten DatensätzeAber Fifo ist voll !Int0Aber keine Datensätze vorhanden !Versatz Bring-/HolzeigerAnzahl der gespeicherten DatensätzeInt0Keine Datensätze vorhanden !Fifo ist leerSTLde-DEde-DEZeigerüberprüfungInt0falscher Parameter bei AufrufMax.Anzahl von Datenblöckenfalscher Parameter bei AufrufAnzahl der DatensätzeFifo ist leerInt-11.Teil = Holzeiger !DatenblocklängeInt2DB byteorientiertHolzeigerSchreibzeigerMaximum HolzeigerMax.Anzahl von DatenblöckenDatenblocklängeInt2DB byteorientiertBytes für alle DatensätzeSchreibzeigerSTLde-DEde-DEOffset bildenWord16#1004Kennung 10 + Word=04Any-Kennung, DatentypDatenbytes speichernWiederholungenDATEN-Pointer übernehmen:DB_NummerKennung, AdresseZiel-Pointer erzeugen:Kennung + Datenbytes s.o.DB_NummerAdresseInt3DWord16#8400_0000Kennung: DatenKennung, AdresseFIFO-Daten speichernVariantWord2#0000_0000_0000_0000STLde-DEQuelle-Pointer erzeugen:de-DEFifodaten überschreibenVKE = 1 ohne Fehler !!!Word2#0000_0000_0000_0001Kein FifobereichSFC20-Aufruf mit FehlerFifo ist vollFalscher ParameterPosition nicht belegtHolzeiger außerhalbVersatz Bring-/HolzeigerVKE = 0 bei Fehler !!!VKE in BIE-Bit speichern STLde-DEde-DEFehlerausgabe / RET_VALFalscher ParameterStatus nicht speichernInt10Status Startwert mit Offset 0Int3/Statt Dyn.Bereichsstop (ging nur bis DB-Länge <= 8191 Bytes)STLde-DEde-DEFifokopfdaten speichernde-DEFifo-Modul