false
Stau am Anfang eigener Bereich -> mit Stopper Antrieb aus Sensor am Ende des Bereichs (invertierte Stauklappe!) Sensor im Bereich (invertierte Stauklappe!) Bereich +1 hat Rückstau -> Antrieb anhalten Ausschaltverzögerung des Antriebs ist abgelaufen Ausschaltverzögerung des Antriebs ist aktiv
Übergabefeld für Störungen
Förderantrieb mit Nachlauf starten Förderantrieb stoppen Stopper am Ende öffnen
Zu startende Wave Ziel der zu startenden Wave Wave, welche in diesen Bereich einfahren darf (-1 = Alle, 0 = Stop/Keine) -1 Wave ist eingefahren -> Förderer leerfahren Auf Förderer nach Kleidung suchen Aktive Wave in diesem Förderbereich Letzte aktive Wave in diesem Förderbereich Bereich aus welcher aktive Wave einfährt(EEEE = Nachlaufzeit aktiv, BereichsNr) Reset ist aktiv GoIn im Bereich +1 zur Weiterfahrt benötigt DEST im Bereich +1 zur Weiterfahrt benötigt Unbekannte Kleidung bei RESET am FörderEnde erkannt (GoStart hier benötigt) "PC Loaded"-Bit wird erwartet Reserve Reserve Reserve Bereichs-Nr. des Förderbereichs Nächster Bereich: DB (Parameter) Nächster Bereich: DW (Parameter) Ziel-FC vor Ausfahrt aufrufen, falls >0! DEST muss entweder im Bereich oder im Bereich+1 bekannt (PC_IN) sein ! Stopper am Ende verbaut Kein Bereich +1 vorhanden/Sorterbereich Kleidung darf immer Einfahren TRUE Zum Beenden der Wave "PC Loaded"-Bit zusätzlich erforderlich Antrieb wird ausgeschaltet bei Stau +1 Kein Neutriggern der Nachlaufzeit (nur bei Pin-Förderer ok!) aktive Wave vorhanden Wave ist am Ende des Bereichs -> stoppen Wave ist beim Ausfahren Wave war am Ende Nachlaufzeit ist aktiv Input-Bit: Wave-Ausfahrt abbrechen Input-Bit: Neue Kleidung kommt von Bereich -1 1.Durchlauf fertig Nachlaufzeit in Bereich +1 gestartet Kleidung am Ende erkannt (bei Ausfahrt) Antrieb stop am Modul-Ende Reset ist aktiv Reset war aktiv Nächster Bereich: DB (aktuell benützt) Nächster Bereich: DW (aktuell benützt) Reset ist aktiv unbekannte Kleidung bei Reset erkannt Bereich +1 noch andere Wave aktiv Neu ausfahrende Kleidung durch PC_IN/GoIn gesperrt Neu ausfahrende Kleidung wegen ZielFC gestoppt DEST-Info von PC_IN fehlt -> Ausfahrt gesperrt Neu ausfahrende Kleidung wegen Stau gestoppt Neu ausfahrende Kleidung wegen wegen Input-Bit gestoppt Ausfahrende Kleidung durch PC_IN/GoIn gestoppt Ausfahrende Kleidung durch Stau +1 gestoppt Kein Bereich +1 definiert Wave-Ausfahrt wegen Input-Bit abgebrochen Wave-Ausfahrt wegen Bereich +1 (andere Source) abgebrochen "PC Loaded"-Bit wird erwartet Falls Puffer-FöBe: Ausfahrt wegen Einfahrt gesperrt (siehe PLC von Einfahrt) Falls Puffer-FöBe: Zug ist nicht am Stopper (Ausfahrt nicht möglich) Von PC freigegebene Wave starten (evtl. über DT) TRUE Aktive Wave fertig (DT) "PC Loaded"-Bit ist gesetzt Loaded-Signal von PC ist ausgewertet
Startwert mit Offset 0 Statt AR1 (ging nur bis DB-Länge <= 8191 Bytes) Ziel-FC Bereich +1 ist definiert Ziel-FC Aufruf
Standard MFöBereich 160 STL de-DE PC_IN:************************************************************************** -GoStart: Zu startende Wave (INT) IN: PC; PLC bei Reset-Start mit aktiver Wave DEL: PC; PLC bei Wave starten und Wave/Reset beendet -DEST: Ziel der zu startenden/aktiven Wave (INT) IN: PC; PLC bei Wave-Einfahrt, falls DEST = 0 (DEST-1 <>0) DEL: PC; PLC bei Wave/Reset beendet -GoIn: Wave, welche in diesen Bereich einfahren darf (INT) (0 = Stop/Keine, -1 = Alle, erlaubte Wave-Nr.) IN: PC; PLC = -1, falls Parameter.Einfahren_immer_ok=1 und Wave/Reset beendet DEL: PC; PLC bei Wave/Reset beendet (Ausnahme s.IN) -Loaded: Wave ist eingefahren -> Förderer leerfahren (Bool) IN: PC DEL: PLC -Reset: Auf Förderer nach Kleidung suchen (Bool) IN: PC DEL: PLC PLC_OUT:************************************************************************ -Wave_akt: Aktive Wave in diesem Förderbereich (INT) IN/DEL: PLC -Wave_last: Letzte aktive Wave in diesem Förderbereich (INT) IN/DEL: PLC -Source: Bereich aus welcher aktive Wave einfährt (Word) (EEEE = Nachlaufzeit aktiv, BereichsNr) IN/DEL: PLC -Reset_akt: Reset ist aktiv (Bool) IN/DEL: PLC -GoIn_Plus_Err: GoIn im Bereich +1 zur Weiterfahrt benötigt (Bool) IN/DEL: PLC -DEST_Plus_Err: DEST im Bereich +1 zur Weiterfahrt benötigt (Bool) IN/DEL: PLC -Kleidungs_Err: Unbekannte Kleidung bei RESET am FörderEnde erkannt (Bool) (GoStart hier benötigt) IN/DEL: PLC Int 10 Int 0 M160.1=Source; M160.3=Wave_akt + DEST wurde verändert Erst mal Int 0 sinnvoller Wert? Ja ! Ziel-FC Aufruf Also kein nächster Bereich vorhanden Nächster Bereich: DB (aktuell benützt) Nächster Bereich: DW (aktuell benützt) Int 0 Bekannt ? Ja ! Default-Werte übergeben: Nächster Bereich: DB (aktuell benützt) Int 0 sinnvoller Wert? Nein ! Nächster Bereich: DW (aktuell benützt) Int 0 sinnvoller Wert? Nein ! Offset PC_IN Int 3 Pointer erzeugen (Achtung: nur bis DWs <8192!) Bereich +1 ist definiert STL de-DE de-DE Offsets / Rückmeldungen Zu startende Wave Int 0 von PC angegeben? Nein ! Von PC freigegebene Wave starten beide Tasten gleichzeitig nicht erlaubt! Alte Wave Int 0 noch aktiv ? Ja ! Zu startende Wave Word 16#0000 von PC gestartet Also nächster Bereich vorhanden Int 0 Teile kommen ja nie ans Ende! Zu startende Wave Auf Förderer nach Kleidung suchen Antrieb hat angefangen zu drehen (keine Leer-Meldung mehr!) Status R #Dyn.Status.EEEE_uebergeben Errors Neu ausfahrende Kleidung wegen Stau gestoppt Neu ausfahrende Kleidung wegen wegen Input-Bit gestoppt Kleidung am Ende erkannt (bei Ausfahrt) Sinnvolle Wave Int 0 aktiv ? Nein ! Falls Kleidung bei Reset erkannt wird, dann sofort diese Wave ! Letzte aktive Wave in diesem Förderbereich Int -1 Reset-Wave Word 16#EEEE Nachlaufzeit starten STL de-DE de-DE Wave zum Starten von PC vorhanden ? / Reset ? Int 0 aktive Wave vorhanden ? Ja ! Word 16#EEEE Nachlaufzeit starten ? Ja ! ***Einschalten bei:********************************************************************************* Aktive Wave vorhanden Antrieb stop am Modul-Ende Wave will ausfahren Wave war am Ende Antrieb wird ausgeschaltet bei Stau +1, ... Neutriggerung, falls Taste nochmal betätigt Kleidung erkannt Input-Bit: Neue Kleidung kommt von Bereich -1 ***Nicht einschalten:******************************************************************************* Kein Stau am Anfang Kleidung noch nicht am Ende Kleidung am Ende Antrieb stop am Modul-Ende Kein Bereich +1 vorhanden Reset aktiv Vorhandene Wave ist noch nicht ausgefahren Wave war am Ende Antrieb soll leer fahren Kein Neutriggern der Nachlaufzeit (nur bei Pin-Förderer ok!) Input-Bit: Neue Kleidung kommt von Bereich -1 ***Nachlaufzeit aktiv******************************************************************************* Antrieb soll leer fahren Antrieb stop am Modul-Ende Aber Antrieb steht Ausschaltverzögerung des Antriebs ist abgelaufen Kein Neutriggern der Nachlaufzeit (nur bei Pin-Förderer ok!) Kleidung erkannt muss pro Zyklus neu neu gesetzt werden (von Extern) STL de-DE de-DE Wave ist aktiv Loaded-Signal von PC ist ausgewertet Aktive Wave fertig (DT) beide Tasten gleichzeitig nicht erlaubt! Loaded-Signal von PC ist ausgewertet Zum Beenden der Wave "PC Loaded"-Bit zusätzlich erforderlich Int 0 bekannt ? Ja ! -> Also auf Nachlaufzeit abgelaufen (EEEE) von dort warten! Zum Beenden der Wave "PC Loaded"-Bit zusätzlich erforderlich Word 16#EEEE Nachlaufzeit starten STL de-DE de-DE Wave fertig geladen (PC/DT) ? Wave ist am Ende des Bereichs -> stoppen Keine Wave aktiv Wave fährt schon aus Bereich +1 noch andere Wave aktiv Neu ausfahrende Kleidung durch PC_IN/GoIn gesperrt Neu ausfahrende Kleidung wegen ZielFC gestoppt DEST-Info von PC_IN fehlt -> Ausfahrt gesperrt Neu ausfahrende Kleidung wegen Stau gestoppt Neu ausfahrende Kleidung wegen wegen Input-Bit gestoppt Kein Bereich +1 definiert Wave ist am Ende des Bereichs -> stoppen Erst mal alle möglichen Errors löschen Neu ausfahrende Kleidung wegen Stau gestoppt Neu ausfahrende Kleidung wegen wegen Input-Bit gestoppt Reset aktiv ?: Auf Förderer nach Kleidung suchen Wave zum Starten (vom PC) Int 0 Wave aktivieren Int 0 Wave zum Starten (vom PC) Auf Förderer nach Kleidung suchen Reset war aktiv Bereich +1 ist definiert Wave ist am Ende des Bereichs -> stoppen Bereich-Plus: Also kein nächster Bereich vorhanden Bereich +1 ist definiert Kein Bereich +1 definiert Förderantrieb stoppen Ziel-FC: Ziel-FC Aufruf Keine Weiterfahrt von Ziel-FC ! Beeinflussung der Weiterfahrt Keine Weiterfahrt von Ziel-FC ! Förderantrieb stoppen Also kein nächster Bereich vorhanden Zeiger Bereich +1 Übergabe von Ziel-FC, falls Veränderung Int 0 Nächster Bereich: DW (aktuell benützt) Offset PC_IN Int 3 Pointer erzeugen (Achtung: nur bis DWs <8192!) Übergabe von Ziel-FC, falls Veränderung Int 0 Nächster Bereich: DB (aktuell benützt) Reset im Bereich +1?: Reset-Anforderung Reset aktiv Bereich +1 noch andere Wave aktiv Förderantrieb stoppen Bereich+1/PC_IN: Leer oder gleiche Wave ? PLC_Out/Wave_akt Int 0 Leer ? Ja ! Indentisch zur aktiven Wave Nein ! Bereich +1 noch andere Wave aktiv Förderantrieb stoppen Bereich+1/GoIn: Einfahren erlaubt ? PC_IN/GoIn Int -1 Alles erlaubt ? Ja! GoIn identisch zur erlaubten Wave ? Ja ! Neu ausfahrende Kleidung durch PC_IN/GoIn gesperrt Förderantrieb stoppen DEST erforderlich ? DEST muss entweder im Bereich oder im Bereich+1 bekannt (PC_IN) sein ! Ziel der zu startenden Wave Int 0 angegeben ? Ja ! PC_IN/DEST im Bereich+1 Int 0 angegeben ? Nein ! DEST-Info von PC_IN fehlt -> Ausfahrt gesperrt Förderantrieb stoppen Ausfahrende Wave abbrechen ?: Input-Bit: Wave-Ausfahrt abbrechen Neu ausfahrende Kleidung wegen wegen Input-Bit gestoppt Förderantrieb stoppen Stau in Bereich +1: Bereich +1 hat Rückstau -> Antrieb anhalten Förderantrieb stoppen Also kein nächster Bereich vorhanden Daten übergeben: aktive Wave PLC_Out/Wave_akt Ziel der zu startenden Wave Int 0 angegeben ? Nein ! -> nicht übergeben Ziel der zu startenden Wave PC_IN/DEST Bereichs-Nr. PLC_Out/Source Wave war am Ende Wave ist am Ende des Bereichs -> stoppen M160.1=Source wurde verändert M160.3=Wave_akt + DEST wurde verändert Wave ist am Ende des Bereichs -> stoppen Förderantrieb stoppen STL de-DE de-DE Wave am Ende erstmalig übergeben Sensor am Ende des Bereichs Kleidung am Ende erkannt (bei Ausfahrt) Bereich +1 ist definiert Ausfahrende Kleidung durch PC_IN/GoIn gestoppt Ausfahrende Kleidung durch Stau +1 gestoppt Kleidung am Ende erkannt (bei Ausfahrt) Ohne Stopper fahren bis Ende-Sensor erreicht ! Wave-Ausfahrt wegen Input-Bit abgebrochen Wave-Ausfahrt wegen Bereich +1 (andere Source) abgebrochen Ausfahrende Kleidung durch PC_IN/GoIn gestoppt Ausfahrende Kleidung durch Stau +1 gestoppt GoIn ok ?: Ausfahrende Kleidung durch PC_IN/GoIn gestoppt PC_IN/GoIn Int -1 Alles erlaubt ? Ja! GoIn identisch zur erlaubten Wave ? Ja ! Nur wenn Kleidung am Ende Nur bei gleicher Wave/kein Reset in Bereich +1 weiterfahren: PLC_OUT/Wave_akt in Bereich +1 identisch ? Ja ! Reset-Anforderung Reset aktiv Damit evtl. vorhandenes "EEEE" in Source +1 gelöscht wird Also obiges nicht gleich oder Reset Ausfahrende Kleidung durch PC_IN/GoIn gestoppt Förderantrieb stoppen Stau in Bereich +1: Bereich +1 hat Rückstau -> Antrieb anhalten Nur wenn Kleidung am Ende Ausfahrende Kleidung durch Stau +1 gestoppt Förderantrieb stoppen Ausfahrt wegen Bereich +1 abbrechen ?: PLC_Out/Wave_akt Gleiche Wave ? Nein ! Wave-Ausfahrt wird abgebrochen Neuanmeldung ! / S #Dyn.Status.Wave_am_Ende //Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) Förderantrieb stoppen (diesen Zyklus noch!) Source in Bereich +1 auf "EEEE" setzen: Word 16#EEEE Nachlaufzeit starten PLC_Out/Source M160.1=Source wurde verändert PLC_Out/Source von diesem Bereich ? Nein ! Wave-Ausfahrt wird abgebrochen Wave-Ausfahrt wird abgebrochen PLC_Out/Wave_akt PLC_Out/Source Int 0 alles abgearbeitet ? Ja ! PLC_Out/Wave_akt Gleiche Wave ? Ja ! Reset-Anforderung Reset aktiv Wave-Ausfahrt wird abgebrochen Neuanmeldung ! / S #Dyn.Status.Wave_am_Ende //Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) Förderantrieb stoppen (diesen Zyklus noch!) Ausfahrende Wave abbrechen ?: Input-Bit: Wave-Ausfahrt abbrechen Wave-Ausfahrt wird abgebrochen Bereich +1 ist definiert Source in Bereich +1 auf "EEEE" setzen: Word 16#EEEE Nachlaufzeit starten PLC_Out/Source M160.1=Source wurde verändert Wave-Ausfahrt wird abgebrochen Input-Bit: Wave-Ausfahrt abbrechen Wave-Ausfahrt wegen Bereich +1 (andere Source) abgebrochen Neuanmeldung ! / S #Dyn.Status.Wave_am_Ende //Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) Förderantrieb stoppen (diesen Zyklus noch!) Ausfahrt abgebrochen: Wave-Ausfahrt wegen Input-Bit abgebrochen Wave-Ausfahrt wegen Bereich +1 (andere Source) abgebrochen Förderantrieb stoppen STL de-DE de-DE Ausfahrende Wave stoppen / unterbrechen ? Bereich +1 ist definiert Kein autom. Löschen, da evtl. Abbruch in Bereich +1 durch Ziel-FC erwünscht! Gleiche Wave im Bereich +1 noch aktiv ?: Wieder gleiche Wave ? PLC_Out/Wave_akt Nein ! Source in Bereich noch auf "EEEE" ?: PLC_Out/Source Word 16#EEEE Nachlaufzeit starten Nein ! Bereich wieder übergeben -> Neutriggerung Antrieb PLC_Out/Source / S #Dyn.Status.Wave_am_Ende //Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) M160.1=Source wurde verändert STL de-DE de-DE Source "EEEE" im Bereich +1 löschen Kleidung am Ende erkannt (bei Ausfahrt) Wave ist am Ende des Bereichs -> stoppen Neu ausfahrende Kleidung wegen Stau gestoppt Ausfahrende Kleidung durch Stau +1 gestoppt Förderantrieb stoppen Bereich +1 ist definiert Also jetzt Bit setzen (wird im Modul "Bereich +1" zurückgesetzt): PLC_Out/Wave_akt Gleiche Wave ? Nein ! Int 0 Andere Wave vorhanden ? Ja ! Input-Bit: Neue Kleidung kommt von Bereich -1 STL de-DE de-DE "Neue Kleidung kommt" im Bereich +1 setzen Antrieb stop am Modul-Ende Förderantrieb stoppen Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) Kein Neutriggern der Nachlaufzeit (nur bei Pin-Förderer ok!) Antrieb wurde neu gestartet Förderantrieb stoppen Antrieb stop am Modul-Ende Förderantrieb stoppen Kleidung am Ausfahren Förderantrieb stoppen, da Kleidung am Stopper gestoppt wird Sensor am Ende des Bereichs Antrieb stop am Modul-Ende Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) Kleidung am Ende erkannt (bei Ausfahrt) Kein Neutriggern der Nachlaufzeit (nur bei Pin-Förderer ok!) KB hat gerade Ende-Sensor verlassen STL de-DE de-DE Stopper Antrieb wird noch gestartet Kleidung noch im Bereich (Folgendes wegen EnergySaver) Aktion sofort (nicht warten auf Kleidung/Sensor_Ende) Kleidung am Ende erkannt (bei Ausfahrt) Antrieb stop am Modul-Ende Wave war am Ende und Bereich +1 vorhanden Reset aktiv Ausschaltverzögerung des Antriebs ist abgelaufen Reset aktiv Reset war aktiv Zum Beenden der Wave "PC Loaded"-Bit zusätzlich erforderlich Auswertung wiederholen Letzte aktive Wave in diesem Förderbereich Wave war am Ende Reset aktiv Bereich +1 ist definiert Source in Bereich +1 auf "EEEE" setzen, falls Bereich +1 gleiche Source: PLC_Out/Source von diesem Bereich ? Nein ! Word 16#EEEE Nachlaufzeit starten PLC_Out/Source M160.1=Source wurde verändert Wave schon zum Starten angegeben, aber anders als bisher aktive ? Ja ! -> nicht löschen Bei Reset immer löschen! Int 0 Int 0 T #Dyn.BereichPlus_DB //Bleibt, falls Reset, usw. mit Bereich+1-Zugriff T #Dyn.BereichPlus_DW Loaded-Signal von PC ist ausgewertet Wave war am Ende Ursprünglicher Bereich +1 übergeben: Nächster Bereich: DB (aktuell benützt) Nächster Bereich: DW (aktuell benützt) Int -1 -1 = Alles darf einfahren STL de-DE de-DE Geladene Wave ausgefahren ? Werden extern erzeugt, und für Anzeige an PC/OP übergeben Werden extern erzeugt, und für Anzeige an PC/OP übergeben STL de-DE de-DE Zusätzliche Bit für PLC_Out: STL de-DE de-DE Ende de-DE Förderbereich Kleidung