falseAEfalsefalsefalseAufruf für Leer-PufferfalsefalsefalseAblaufstörung quittierenfalsefalsefalseSensor Trolley fährt in LeerpufferfalsefalsefalseSensor Trolley ist in Schleuse untenfalsefalsefalseSensor Trolley hat Schleuse unten verlassenfalsefalsefalseSensor Stau im Bereich unten rausfahrenCrash-Trolley auf Crashkurs erkanntfalsefalsefalseKreisel-Antrieb plus aktivSchleuse unten hat geöffnetfalsefalsefalseSchleuse unten öffnenfalsefalsefalseStörungen übergebenStarten von ausserhalb ist erlaubtfalsefalsefalseAntrieb plus vorfahrenAntrieb plus stoppenAnzeige Start n. Störung aktivierenRest-Inks, wo sich Trolley befindetfalsefalsefalseReservefalsefalsefalseWeichen-FIFO-DBWeichen-FIFO-DWfalsefalsefalseParameterEinsprung Leerpuffer-Datenliste-DBEinsprung Leerpuffer-Datenliste-DWReservefalsefalsefalsePuffer mit Einlagern aktivPuffer mit Auslagern aktivEintrag in DLLPPuffer_leer (DB500) erfolgtEintrag in DLLPPuffer_Einfahren (DB501) erfolgtEintrag in DLLPPuffer_Ausfahren (DB502) erfolgtfalsefalsefalsetrueStatische Leerpufferdaten (aus DL)Dynamische DatenfalsefalsefalsePuffer ist leerPuffer hat noch KapazitätLeerpuffer zeitlang ohne neuen TrolleyLeerpuffer wird auf leer gechecktReset aktivTrolley fährt nicht in Schleuse > Inilauf gestartetPuffer nicht leer > Inilauf gestartetLeerpuffer initialisieren Schleuse ist MindestZeit geöffnetAuslagerstrecke noch belegtEinen Leer-Trolley ausfahrenTrolley fährt aus PufferTrolley ist ausgefahren (1 Zyklus)Störung vorhandenfalsefalsefalseTrolley-Nr ist eingefahrenfalseAnzahl Trolleys unten (IN:PLC, OUT:PLC)falseAnzahl reservierte Trolleys oben (IN:PLC, OUT:PLC)falseFreiplätze für Trolleys (IN:PLC, OUT:PLC)Schleuse resetten unten (IN:HMI, Out:PLC)Leerpuffer initialisieren (IN:HMI, Out:PLC)1Einlagern gesperrt (IN:HMI, OUT:HMI)AusLagern gesperrt (IN:HMI, OUT:HMI)falsefalsefalsetrueStatus der Schrittkette Schleuse OUT (unten)1falsefalsefalseRückmeldung nach BLKMOV-AufrufRückmeldung nach DatenOut-AufrufRückmeldung nach DatenOut-AufrufRückmeldung nach DatenIN-AufrufRückmeldung nach DatenOut-AufruffalsefalsefalsefalsefalsefalseSensor B_Einfahrt ist belegt [1s]falsefalsefalseSensor B_in_Schleuse unten ist frei [1s]falsefalsefalsePuffer unten ist frei [1s]falsefalsefalseStop-Stelle: Nw + PositionfalsefalsefalseAnzahl der getätigten VereinzelungstaktefalsefalsefalseTrolleyID des ausgefahrenen TrolleysfalsefalsefalsefalsefalsefalseAB DW200: Liste der resevierter TrolleysDatenliste-Kennnung (DA) / Datensatzlänge in Word (1 - 128)WORD#16#DA02Länge der Datenliste (maximale Anzahl der Datensätze)24Stammdatenlänge in Word (1 - 9)2Indizierter DB (nur bei Stammdaten = 1 erlaubt !!!)Länge des indizierten DB in Word (nur bei Stammdaten = 1 erlaubt !!!)FC zum Wandeln der indizierte Daten (nur bei Stammdaten = 1 erlaubt !!!)Speicherung des letzten Zugriffsreserviert von Sort-DatenlisteAnzahl der eingetragenen Datensätze (nicht bei ind.Zugriff!)ReserveReservierter Trolley für LeerpufferTrolley_IDDatensort-Ende-Kennung (DBEE)WORD#16#DAEEfalsefalsefalsefalsefalsefalseAB DW350: Liste der Trolleys im LeerpufferfalsefalsefalseZeiger, wo Rein-Daten sindZeiger, FIFO-StelleÜberwachungszeit aktivierenWeiterschaltbedingung ist erfülltWartezeit neu triggernWartezeit stoppenNeuer Trolley in Puffer eingefahrenStarten aufgrund der Inks erlaubtStandardMHMLeerpuffer1277STLcs-CZde-DECOPYRIGHT by Ingenieurbüro A.Emmert
Ortsstr.33, D-869925 Fuchstal (Germany)
Tel.: 0049(0)8243-960629
Version: H&M Leerpuffer / 10.2025
Version: Omniflow 2100 / 10.2024
Schritt 0: Warten auf Trolley
Schritt 1: Trolley ist in Schleuse / Warten auf Bit "Einen Trolley ausfahren"
Schritt 2: Ausfahren ok ?
Schritt 5: Trolley fährt aus/ausgefahren ? Schritt 6: Schleuse Mindestzeit geöffnet ? Schritt 7: Trolleydaten ändern
Schritt 20: Schleuse resetten
Schritt 21: Reset ist zu Ende
en-USInt275Einsprung Puffer-DLvor Aufruf übergeben!Int0STLcs-CZde-DEen-UScs-CZde-DEParameter-Übergabeen-USInt252Bereichsstop aktivAlso: Bereichsstop / Not-AusInt253Keine BetriebsartInt255Handbetrieb aktivAktiver SchrittSTLcs-CZde-DEen-UScs-CZde-DEAnzeige OPen-USJeden Zyklus neuAntrieb zusätlich starten:Überwachungszeit abgelaufen quittierenKreisel-Antrieb plus startenSTLcs-CZde-DEen-UScs-CZde-DEOut-Bits zum Zurücksetzen / Antrieb plus startenen-USVon HMI:SK zurücksetzenWird unten direkt verarbeitetWird unten direkt verarbeitetAn HMI:STLcs-CZde-DEen-UScs-CZde-DEHMI-Zeugen-USSK zurücksetzenSchrittkette zurücksetzen:Int0Schritt 0: WartenInt0Zeitwert löschenZeit für LeerCheck [1s]Error bei Block kopierenSK zurücksetzenUndefinierter SchrittSofort weiter !Reset ist aktivLeerpuffer-Datenliste fehlerhaftundefiniertes LeerpufferÜberwachungzeit ist abgelaufenSchritt-Nummer ist nicht definiertStau am Leerpuffer-EingangTrolley fährt nicht ausDInt0Sensor B_VorSep ist belegt [1s]Sensor B_VorSep ist frei [1s]Defaultwerte übergeben:Int0Damit statische Werte neu aus Datenbank geholt werden !Nummer des LeerpuffersSTLcs-CZde-DEen-UScs-CZde-DESchrittkette OUT zurücksetzenen-USInt0Leerpuffer-Datenliste fehlerhaftundefinierter LeerpufferTrolley fährt nicht in SchleuseTrolley fährt nicht in SchleuseTrolley fährt nicht ausÜberwachungzeit ist abgelaufenSchritt-Nummer ist nicht definiert Stau am Leerpuffer-EingangError bei Block kopierenTrolley fährt nicht ausReset ist aktivAndere Meldung als Überwachungszeit aktiv ?:Word2#1111_0111_1111_1111Word2#0000_0000_0000_0000Andere Meldung als Üb.zeit aktiv ?Ja !Störung anzeigen ok, da 2.Zyklus aktiv !Üb.Zeit-Meldung nicht an PC senden Störung anzeigen ok, da 2.Zyklus aktiv !Schnittstelle nach AußenStörung vorhanden:Int0Ja !Es gibt keine Quittier-Störung!Störungen pro Zyklus neu erzeugen:Leerpuffer-Datenliste fehlerhaftundefiniertes Leerpuffer/ R #Dyn.Error.Err_Trolley_nicht_in_Schleuse//Trolley fährt nicht in Schleuse/ R #Dyn.Error.Err_Uebzeit //Überwachungzeit ist abgelaufenSchritt-Nummer ist nicht definiert/ R #Dyn.Error.Err_Stau_Einfahrt//Stau am Leerpuffer-Eingang/ R #Dyn.Error.Err_Trolley_raus//Trolley fährt nicht aus/ R #Dyn.Error.Err_Leerpuffer_nicht_leer//Trolley ohne Daten vorhandenTrolley fährt nicht in SchleuseTrolley fährt nicht ausSTLcs-CZde-DEen-UScs-CZde-DEStörungen nach Außen übergebenen-USNummer des LeerpuffersAufruf-ParameterIdentisch ?Leerpufferdatenbank fehlerhaftundefiniertes LeerpufferJa !Search-Daten WORD#16#0000ARefP#M200.0ARefP#M220.0Leerpufferdatenbank fehlerhaftWord16#A071undefinierter LeerpufferWord16#0072Kennung + DatenbytesGefälledatenbank fehlerhaftundefinierte GefällestreckeWord16#1004Kennung 10 + Word=04Any-Kennung, DatentypInt20Datenwords speichernWiederholungenQuelle-Pointer erzeugen:Int0Bei Merker = 0 !DB_NummerInt220AdresseInt3DWord16#8300_0000Kennung: MerkerKennung, AdresseDatenliste-Daten speichernVariant#ZielWord16#0073RückmeldungInt0Fehler vorhanden ?Ja !Error bei Block kopierenPuffertyp = 1277 (Leerpuffer)Int1277Dieser Aufruf-FB ?Ja !undefinierter LeerpufferInt0Leerpuffer ungültig !Nummer des LeerpuffersWord16#0074Defaultwerte übergeben:STLcs-CZde-DEen-UScs-CZde-DEStatische Leerpuffer-Parameter holenen-USÜberwachungszeit abgelaufen quittierenSTLcs-CZde-DEen-UScs-CZde-DEStörungen quittierenen-USDINT#0Neue Position an Gesamt-Trolley-DL übergeben:Dint#0Daten Puffer eintragen checken:Int1Austrag aus Trolley-ReservierungslisteEintrag ist erfolgtWord16#E100Eintrag löschenARefP#M220.0ARefP#M220.0Nicht relevantDINT#0STLcs-CZde-DEen-UScs-CZde-DEEinfahrenden Trolley in Puffer eintragenen-USSensor bei Bereichs-Einfahrt bleibt belegt?:Sensor Trolley fährt in Bereich (kein Stau !)Stau bei EinfahrtStauZeit neu aufziehenZeit bereits abgelaufenSensor B_VorSep ist belegt [1s]Int+1Sensor B_VorSep ist belegt [1s]Int25Stau-Zeit erreicht ?Ja !Stau bei Einfahrt (Quittierung oder Sensor=0, wegen BürstenantriebInt0Zeiten löschenSensor B_VorSep ist belegt [1s]STLcs-CZde-DEen-UScs-CZde-DEError: Stau Bereich-Eingangen-USInt6Mindestzeit ok?Nein!Sensor Trolley in Schleuse vorhandenSchleuse hat geöffnetFreiZeit neu aufziehenZeit bereits abgelaufenSensor B_im_Sep ist frei [1s]Int+1Sensor B_im_Sep ist frei [1s]Mindest-Zeit erreicht ?Ja !Int0Zeiten löschenSensor B_im_Sep ist frei [1s]Schleuse geöffnet: (Position-Inks übergeben)Schleuse hat geöffnetRest-Inks-Wert ist größer!STLcs-CZde-DEen-UScs-CZde-DESchleuse: Mindestzeit geöffnet/frei, Position-Inks übergebenen-USNeu-Trolley ist im Puffer:s.o.StauklappeZeit für LeerCheck [1s]Int+1Zeit für LeerCheck [1s]Leer-Zeit erreicht ?Ja !Zeit für LeerCheck einfrierenInt0Zeiten löschenSTLcs-CZde-DEen-UScs-CZde-DEKeine neue Trolley-Einfahrt ?en-USInt0Trolley wird gerade vereinzeltSynchron-Sensor aktivSpäter -> Hauptstrangdaten checken!Trolleys noch unterwegs ?Int0Es sind noch Trolleys unterwegsDInt1STLcs-CZde-DEen-UScs-CZde-DEReservierungs-Checken-USFalls Inilauf aktiv:Negierter SprungInt0Zeiten neu aufziehenInilauf, kein Daten aber Trolley ist in Schleuse:Int0Trolley zwingend ausfahrenAbbruch, da Trolley ist doch noch in Schleuse gefahren:Anzahl wurde eingetragenInt0Trolley während Check erkannt:nichts mehr eingefahren,Aber:aber Schleuse noch geöffnetaber Trolley noch in SchleuseNegierter SprungInt0Zeit neu aufziehenNegierter SprungInt0Minimum übergebenNicht mehr wegen Gefahr der Überfüllung, besser Reservierungen checkenReservierungs-Liste löschen:STLcs-CZde-DEen-UScs-CZde-DELeer-Check aktiven-USButton-Anzeige wieder normalInt0Nummer des Leerpuffers (damit Leerpufferdaten neu geholt werden!)STLcs-CZde-DEen-UScs-CZde-DEReset aktiven-USPuffer hat Platz:Int0Trolley im Puffer ?Nein!Einlagern ist aktiv:Int0Wegen FIFOSTLcs-CZde-DEen-UScs-CZde-DEPuffer hat Platz / ist frei / Einlagern aktiven-USInt0Undefiniert ?Ja!Trolles auf Förderer vorbei?Int0Undefiniert ?Ja!Int20damit vorbeifahrender Trolley größeren Abstand bekommtTrolleys auf Förderer vorbei?Ja!Int1Minimalwert ?Ja !STLcs-CZde-DEen-UScs-CZde-DEStarten aus Leerpuffer aufgrund von Ausfahrsituation oken-USKann mit neuen Leertrolleys bestückt werden!Eintrag aus Leerliste:Puffer, der leer istAnforderung in Datenliste eintragenInt500Int0ARefP#M220.0Daten wurden überschriebenEintrag ist richtig erfolgtAustrag aus Leerliste:Puffer, der leer istAnforderung aus Datenliste löschenInt500Int0WORD#16#E100ARefP#M220.0ARefP#M230.0STLcs-CZde-DEen-UScs-CZde-DEDLPuffer_leer: Ein-/Austragen-USPuffer hat kein Platz mehrEintrag in Reinliste:Int0Reservierung schon erfolgt ?Ja!Negierter Sprungangefahrener PufferAnforderung in Datenliste eintragenInt501Int0ARefP#M220.0Daten wurden überschriebenEintrag ist richtig erfolgtAustrag aus Reinliste:Anforderung aus Datenliste löschenInt501Int0WORD#16#E100ARefP#M220.0ARefP#M230.0STLcs-CZde-DEen-UScs-CZde-DEDLPuffer_einfahren: Ein-/Austragen-USKann mit neuen Leertrolleys bestückt werden!Damit Trolley ausgefahren werden kann!Eintrag aus Abrufliste:Sobald Trolley in AusfahrschleuseNegierter Sprungangefahrener PufferAnforderung in Datenliste eintragenInt502Int0ARefP#M220.0Daten wurden überschriebenEintrag ist richtig erfolgtAustrag aus Abrufliste:angefahrener PufferAnforderung aus Datenliste löschenInt502Int0WORD#16#E100ARefP#M220.0ARefP#M230.0STLcs-CZde-DEen-UScs-CZde-DEDLPuffer_ausfahren: Ein-/Austragen-USAutomatik ist aktivSchrittkette nicht anhalten !Störungen löschenInt0Zeitwerte löschenSTLcs-CZde-DEen-UScs-CZde-DESchrittkette anhaltenen-USSchritt, der im nächsten Zyklus aktiv werden sollInt-1angegeben ?Nein !Neuen Schritt übergebenInt-1UrzustandSchritt, der im nächsten Zyklus aktiv werden sollÜberwachungszeit aktivierenWartezeit neutriggernWartezeit stoppenSchritt 0Schritt 1Schritt 2Schritt 3Schritt 4Schritt 5Schritt 6Schritt 7Schritt 8Schritt 9Schritt 10Schritt 11Schritt 12Schritt 13Schritt 14Schritt 15Schritt 16Schritt 17Schritt 18Schritt 19Schritt 20Schritt 21Schritt 22Schritt 23Schritt 24Schritt 25Schritt 26Schritt 27Schritt 28Schritt 29Schritt 30Undefinierter SchrittWord16#A231Word16#A232Int0Zeitwerte löschenNicht programmierte Schritte:s000: SPA Endes001: SPA Endes002: SPA Endes005: SPA Endes006: SPA Endes007: SPA Endes020: SPA Endes021: SPA EndeSTLcs-CZde-DEen-UScs-CZde-DESprungverteiler en-USWeiterschaltbedingungSchrittaktionen:Word16#B001Reset ist aktivInt20Weiter mit Schritt 20Bei diesem Schritt weiter Weiterschaltbedingung ist erfülltSofort weiter !Int0Angabe der Wartezeit (*10ms)Nächsten Schritt startenInt1Weiter mit Schritt 1Bei diesem Schritt weiter Schritt, der im nächsten Zyklus aktiv werden sollAutomatik ist aktivÜberwachungszeit aktivierenInt50Angabe der Überwachungszeit (*1s)ÜberwachungszeitSTLcs-CZde-DEen-UScs-CZde-DESchritt X: Reserve en-USWeiterschaltbedingungTrolley im Schleuse erkanntAutomatik ist aktivSchrittaktionen:Reset ist aktivInt20Weiter mit Schritt 20Bei diesem Schritt weiter Weiterschaltbedingung ist erfülltSofort weiter !Int100Angabe der Wartezeit (*10ms)Nächsten Schritt startenWord16#B001Trolley soll gestartet werden:Von FB5429/2Trolley im Schleuse erkanntDamit Einfahren blockiert wirdVon FB5429/2Int0Puffer aus Ausfahr-Liste löschenÜberwachungszeit starten:Trolley im Schleuse erkanntVon FB5429/2Überwachungszeit aktivierenTrolley kommt nicht!:Int0Trolleydaten vorhanden ?Ja !Trolley im Schleuse erkanntDamit Einfahren blockiert wirdInt1515sBei Ausfahrwunsch -> Kurze ZeitÜberwachungszeitÜberwachungszeitSTLcs-CZde-DEen-UScs-CZde-DESchritt 0: Warten auf Trolleyen-USSchrittaktionen:Trolley im Schleuse erkanntInt0Weiter mit Schritt 0Bei diesem Schritt weiter Puffer leer ?:Damit Einfahren blockiert wirdSpezial-Betriebsarten:Int2Weiter mit Schritt 2Bei diesem Schritt weiterWord16#B011STLcs-CZde-DEen-UScs-CZde-DESchritt 1: Trolley ist in Schleuse / Warten auf Bit "Einen Trolley ausfahren"en-USSchrittaktionen:Trolley im Schleuse erkanntInt0Weiter mit Schritt 0Bei diesem Schritt weiter Anlage aus oder Störung:Word16#B020Automatik ist aktivBereich ist gestörtTrolley starten erlaubt ?:Word16#B021Starten ist erlaubtStau im Bereich +1:Word16#B022StauB_Aus_Schleuse aktiv:Word16#B023Raus-Sensor wird nicht erreicht (oder dauernd aktiv)!Inks ok ?:Word16#B024Starten ist erlaubtAntriebe aktivieren / aktiv ?:Schleuse an weiterem Antrieb (Weiche)Kreisel-Antrieb plus startenWord16#B025Kreisel-Antrieb plus aktivSchleuse an weiterem Antrieb (Weiche)Int5Nur 1 langes Signal!Bei diesem Schritt weiterInt1Auftrag checkenSchritt, der im nächsten Zyklus aktiv werden sollSTLcs-CZde-DEen-UScs-CZde-DESchritt 2: Ausfahren ok ?en-USWeiterschaltbedingungSensor Trolley ist in SchleuseSchrittaktionen:Schleuse öffnenDamit kein weiterer Puffer ausfährtKreisel-Antrieb plus startenTrolley ist draussen:Sensor Trolley aus Schleuse gefahrenSensor Trolley ist in SchleuseTrolley fährt nicht ausInt0Nächsten Schritt startenWeiterschaltbedingung ist erfülltTrolley fährt nicht ausInt50Falls nur mit Sensor gefahren wird, dann Wartezeit!Nächsten Schritt startenTrolley fährt nicht raus!:Weiterschaltbedingung ist erfülltSofort weiter !Trolley fährt nicht ausInt0Nächsten Schritt startenQuerTrolley auf CrashkursTrolley fährt nicht ausWord16#B051Sensor Trolley aus Schleuse gefahrenWord16#B052Überwachungszeit aktivierenAngabe der Überwachungszeit (*1s)ÜberwachungszeitSTLcs-CZde-DEen-UScs-CZde-DESchritt 5: Trolley fährt aus/ausgefahren ? en-USWeiterschaltbedingungSensor Trolley aus Schleuse gefahrenSchrittaktionen:QuerTrolley auf CrashkursTrolley fährt nicht ausDamit kein weiterer Puffer ausfährtSchleuse öffnenKreisel-Antrieb plus startenTrolley wieder erkanntInt5Weiter mit Schritt 5Bei diesem Schritt weiter Int0Nächsten Schritt startenWord16#B061STLcs-CZde-DEen-UScs-CZde-DESchritt 6: Schleuse Mindestzeit geöffnet ? en-USWeiterschaltbedingungSchrittaktionen:1 ZyklusDINT#1Vereinzelungen +1Int-1Int0sinnvoller Wert?Ja!Minimum übergebenSTLcs-CZde-DEen-UScs-CZde-DESchritt 7: Trolleydaten ändern en-USWeiterschaltbedingungWeiterschaltbedingung ist erfülltSchrittaktionen:Damit kein weiterer Puffer ausfährtWord16#B201Weiterschaltbedingung ist erfülltInt300Angabe der Wartezeit (*10ms)Nächsten Schritt startenÜberwachungszeit aktivierenInt30Angabe der Überwachungszeit (*100ms)ÜberwachungszeitSTLcs-CZde-DEen-UScs-CZde-DESchritt 20: Schleuse resettenen-USReset ist aktivNeubeginnSTLcs-CZde-DEen-UScs-CZde-DESchritt 21: Reset ist zu Endeen-USInt0Schritt 0: WartenInt0Zeitwert löschenSTLcs-CZde-DEen-UScs-CZde-DESchrittkette beendenen-USWartezeit übergebenStörung noch nicht quittiertInt0keine Wartezeit ?Ja ! -> sofort weiterWartezeit neutriggernInt0WartezeitWartezeit stoppenWartezeit +10msWartezeitabgelaufen ?Nein !Int1Schritt +1Int0Zeitwerte löschenSTLcs-CZde-DEen-UScs-CZde-DENächsten Schritt aktivierenen-USFür StatuskontrolleFür StatuskontrolleMaximalzeitabgelaufen ?Nein !Überwachungszeit aktivierenInt0Zeitwert löschenSTLcs-CZde-DEen-UScs-CZde-DEÜberwachungszeit kontrollierenen-USSchrittaktion ist aktivInt1Üb.zeit +1sSTLcs-CZde-DEen-UScs-CZde-DEÜberwachungszeit +1en-USSTLcs-CZde-DEen-UScs-CZde-DEEndeen-UScs-CZde-DEOmni H&M-Leerpuffer-Modulen-US