false AE
Aufruf für Weiche Ablaufstörung quittieren Sensor Trolley ist an Sychronisierstelle Sensor Trolley am Referenzpunkt erkannt Sensor Trolley am Teachpunkt erkannt Antrieb ist aktiv
Scanner triggern Störungen übergeben
Antrieb wegen Haupt-Störung stoppen
true Dynamische Daten Status Teach-Modus ist aktiv Nächsten Teachpunkt ohne neuen Refpunkt Reserve Reserve Reserve Reserve Reserve Reserve Reserve Reserve Reserve Reserve Rückmeldung nach BLKMOV-Aufruf Rückmeldung nach DatenOut-Aufruf Rückmeldung nach Hauptstrangdaten-In-Aufruf Rückmeldung nach Aufruf Rückmeldung nach Aufruf Rückmeldung bei Fifo-Zugriff Rückmeldung bei Datenlisten-Zugriff Rückmeldung bei Datenlisten-Zugriff Rückmeldung nach SendPC_FIFO-Aufruf true Ziel, daß angefahren wird (Scanner ausgeschaltet!) BT wurde schon ausgewertet Referenzpunkt ausgewertet Referenzpunkt erkannt Teachpunkt ausgewertet Bereich + FIFO resetten Laufflag bei Speicherung Lauf-Flag bei Ref-Inkremente Lauf-Flag bei Teach-Inkremente Lauf-Flag bei Synchron-Ende (MT) Lauf-Flag bei Scann-Inkremente Inkzelle: Taschen-Sensor dauernd aktiv Position zum FIFO auslesen Inkremente zum Scannen SPS-Nr zum Scannen Inkremente bei Referenzpunkt Punkt zum Ein-Teachen Inkremente bei Teachpunkt Inkremente bei Synchron-Ende (MT) Zeit Inkremntalgeberwert ohne Änderung [100ms] Maximal erlaubter Zählwert Zähl-Lauf mit Flag ist aktiv Flag-Lauf wurde beendet Ohne Flag-Lauf wurde beendet Aktuelle Inkrementalwert Abstands-Inkremente nach Teachen Damit 150-Teilung erhalten bleibt ! true true Parameter Einsprung Weichen-Datenliste-DB Einsprung Weichen-Datenliste-DW Offset Refpunkt zu TaschenPunkt (für Teachen) Reserve
Zeiger, wo Rein-Daten sind Für indirekte Adressierung (Offset 0) Für indirekte Adressierung (Offset 4) Für indirekte Adressierung (Offset 8) Aktueller Hauptstranglisten-DB
Standard MScannerSync 179 STL de-DE OPYRIGHT by Ingenieurbüro A.Emmert Ortsstr.33, D-869925 Fuchstal (Germany) Tel.: 0049(0)8243-960629 Version: IMB2009_NT / 14.01.2010 Int 178 Einsprung Weichen-DL Int 0 STL de-DE de-DE Parameter-Übergabe Bereich + FIFO resetten Bereich + FIFO resetten Sync-Punkt-Datenliste fehlerhaft undefinierter Synchronpunkt Fehler bei Block kopieren Sync-Sensor dauernd aktiv Status-FIFO fehlerhaft Status-FIFO ist voll Korrektur-Modus nach Crash aktiviert Hauptstrangliste fehlerhaft Hauptstrangliste ist voll Übergabeliste fehlerhaft Keine Hauptstrangliste zum Eintragen angegeben Teach-Punkt in Datenliste nicht vorhanden ! Teachdatenliste fehlerhaft Send-FIFO zum PC ist fehlerhaft Send-FIFO zu PC ist voll Inkrementalgeberwert ohne Änderung Trolley wurde schon ausgewertet Teach-Modus ist aktiv Int 0 Inkzelle: Taschen-Sensor dauernd aktiv WORD#16#0000 Int 0 Aufruf mit Fehler ? Ja ! Error bei FIFO-Zugriff STL de-DE de-DE Reset Int 0 Sync-Punkt-Datenliste fehlerhaft undefinierter Synchronpunkt Fehler bei Block kopieren Sync-Sensor dauernd aktiv Status-FIFO fehlerhaft Status-FIFO ist voll Korrektur-Modus nach Crash aktiviert Hauptstrangliste fehlerhaft Hauptstrangliste ist voll Übergabeliste fehlerhaft Keine Hauptstrangliste zum Eintragen angegeben Teach-Punkt in Datenliste nicht vorhanden ! Teachdatenliste fehlerhaft Send-FIFO zum PC ist fehlerhaft Send-FIFO zu PC ist voll Inkrementalgeberwert ohne Änderung Schnittstelle nach Außen STL de-DE de-DE Störungen nach Außen übergeben Nummer des Synchron-Puntes Aufruf-Parameter Identisch ? Sync-Punkt-Datenliste fehlerhaft undefinierter Synchronpunkt Search-Daten WORD#16#0000 ARef P#M200.0 ARef P#M220.0 Rückmeldung bei Datenbank-Zugriff (Gefälle-DL) Sync-Punkt-Datenliste fehlerhaft undefinierter Synchronpunkt Kennung + Datenbytes Sync-Punkt-Datenliste fehlerhaft undefinierter Synchronpunkt Word 16#1004 Kennung 10 + Word=04
Any-Kennung, Datentyp Int 40 Datenwords speichern
Wiederholungen Quelle-Pointer erzeugen: Int 0 Bei Merker = 0 !
DB_Nummer Int 220 Adresse Int 3 DWord 16#8300_0000 Kennung: Merker
Kennung, Adresse Datenliste-Daten speichern Variant #Ziel Rückmeldung Int 0 Fehler vorhanden ? Ja ! Error bei Block kopieren Synchron-Punkt-Typ = 179 (ScannerSync) Int 179 Dieser Aufruf-FB ? Ja ! undefinierter Synchronpunkt Int 0 Synchronpunkt ungültig ! Nummer des Synchron-Puntes STL de-DE de-DE Statische Sync-Parameter holen Teach-Punkt in Datenliste nicht vorhanden ! Status-FIFO ist voll Hauptstrangliste ist voll Keine Hauptstrangliste zum Eintragen angegeben Inkrementalgeberwert ohne Änderung Send-FIFO zu PC ist voll Kann nur über Reset zurückgesetzt werden: R #Dyn.Error.SyncPkt_DL_Err //Sync-Punkt-Datenliste fehlerhaft R #Dyn.Error.Undef_SyncPkt //undefinierter Synchronpunkt R #Dyn.Error.BLKMov //Fehler bei Block kopieren R #Dyn.Error.StatusFIFO_Err //Status-FIFO fehlerhaft R #Dyn.Error.Hauptstrangliste_Err //Hauptstrangliste fehlerhaft R #Dyn.Error.Uebergabeliste_Err //Übergabeliste fehlerhaft R #Dyn.Error.Send_FIFO_fehlerhaft //Send-FIFO zum PC ist fehlerhaft R #Dyn.Error.Korrektur_Modus_aktiv //Korrektur-Modus nach Crash aktiviert R #Dyn.Error.TeachPkt_Datenliste_Err //Teachdatenliste fehlerhaft werden weiter unten quittiert: R #Dyn.Error.Sync_Sensor_aktiv //Sync-Sensor dauernd aktiv STL de-DE de-DE Störungen quittieren Zähler-DB öffnen Inkrementalgeber simulieren Band ist aktiv Anzahl der 10ms-Takte (letzter Zyklus)
10ms-Takte dazuaddieren
Hardware-Adresse der ET200-Zählerbaugruppe Int 0 Adresse sinnvoll ? (also ohne Zählerbaugruppe !) Nein ! Zählerwert einlesen: Hardware-Adresse der ET200-Zählerbaugruppe Int 3 Pointer erzeugen
Hardware-Adresse der ET200-Zählerbaugruppe Int 4 Offset 4 DWs Int 3 Pointer erzeugen
Hardware-Adresse der ET200-Zählerbaugruppe Int 8 Int 3 Pointer erzeugen
eigentlich doppelt
Aktueller Zählerwert
Speicherung (Zählerwert letzter Zyklus) ist verändert ! Band ist aktiv Ablaufstörung quittieren Zeit Inkremntalgeberwert ohne Änderung [100ms] Anzahl der 100ms-Takte aufaddieren Zeit Inkremntalgeberwert ohne Änderung [100ms] Int 2 0,2 s ohne Änderung ? Ja ! Inkrementalgeberwert ohne Änderung Int 0 Zeit Inkremntalgeberwert ohne Änderung [100ms] Software-Gate öffnen:
SW-Gate öffnen Zähler setzen läuft:
Zähler setzen
Zähler laden ist aktiv Zähler auf 000 setzen ?: DInt 0
Zählerwert zum Setzen
Zähler Zero-Load
Zähler setzen Zähler neu setzen ?:
Speicherung
Zählerwert zum Setzen
Zähler Neustart Inkrementalgeber simulieren
Zähler setzen Zähler-Überlauf ?:
Aktueller Zählerwert
Max. Wert erreicht ? Nein !
Ohne Flag-Lauf wurde beendet
Flag-Lauf wurde beendet Restwert als Startwert nehmen !
Zählerwert zum Setzen
Umschaltung Zähl-Lauf ohne-mit-ohne Flag
Ohne Flag-Lauf wurde beendet
Umschaltung Zähl-Lauf ohne-mit-ohne Flag
Flag-Lauf wurde beendet
Umschaltung Zähl-Lauf ohne-mit-ohne Flag
Überlauf
Zähler setzen Inkrementalgeber simulieren
Zähler Neustart
Überlauf
Zähler setzen
Zähler Zero-Load
Zähler laden ist aktiv
Zähler setzen
Load_Val Daten an Zähler senden:
Inkrementalgeber simulieren
Zähler Neustart
Überlauf
Zähler setzen
Zähler Zero-Load
Zähler laden ist aktiv
Zählerstatus einlesen: Hardware-Adresse der ET200-Zählerbaugruppe Int 4 Offset 4 DWs Int 3 Pointer erzeugen
Zähler-DB öffnen
Zähler setzen
Zähler wird geladen (Modul-Rückmeldung)
Zähler laden ist aktiv
Zähler setzen
Zähler laden ist aktiv
Zähler wird geladen (Modul-Rückmeldung)
Zähler laden ist aktiv
Zähler Zero-Load
Zähler Neustart
Überlauf
Zähler setzen
Zähler laden ist aktiv
Zähler wird geladen (Modul-Rückmeldung)
Aktueller Zählerwert
Speicherung Zähler-DB öffnen
Während Neusetzen Loadwert übergeben
Daten des Inktremental-Gebers übergeben: Zähler-DB öffnen
STL de-DE de-DE Inkremental-Geber mit Zähler-Baugruppe (ET200) Scanner triggern InkrementAnzahl während Scanner triggern DInt 0 Sinnvoll ? Nein ! Lauf-Flag bei Scann-Inkremente Flag-Lauf wurde beendet Lauf-Flag bei Scann-Inkremente Flag-Lauf wurde beendet Lauf-Flag bei Scann-Inkremente Zähl-Lauf mit Flag ist aktiv Lauf-Flag bei Scann-Inkremente Zähl-Lauf mit Flag ist aktiv Aktuelle Inkrementalwert InkrementAnzahl während Scanner triggern DInt 0 Inkremente zum Scannen Lauf-Flag bei Scann-Inkremente Scanner triggern STL de-DE de-DE Scanner-Triggerung ausschalten Sensor Trolley ist an Sychronisierstelle Band ist aktiv Inkremente bei Synchron-Ende (MT) DInt 0 angegeben ? Nein ! Lauf-Flag bei Synchron-Ende (MT) Flag-Lauf wurde beendet Lauf-Flag bei Synchron-Ende (MT) Flag-Lauf wurde beendet Lauf-Flag bei Synchron-Ende (MT) Zähl-Lauf mit Flag ist aktiv Lauf-Flag bei Synchron-Ende (MT) Zähl-Lauf mit Flag ist aktiv Aktuelle Inkrementalwert Inkremente bei Synchron-Ende (MT) Trolley wurde schon ausgewertet Lauf-Flag bei Synchron-Ende (MT) DInt 0 Inkremente bei Synchron-Ende (MT) STL de-DE de-DE Trolley ist wieder weg Sensor Taschen ist an Sychronisierstelle Neuspeicherung nötig Neuspeicherung nötig Störung quittieren Bereich resetten Band ist aktiv Taschen-Sensor dauernd aktiv Speicherung Sensor frei DInt 0 Speicherung vorhanden ? Nein ! Aktueller Ink-Wert Speicherung Sensor frei Differenz bilden DInt 3 Taschen-Sensor dauernd aktiv Aktueller Ink-Wert Speicherung Sensor frei Speicherung Laufflag Taschen-Sensor dauernd aktiv STL de-DE de-DE Error: Sync-Sensor dauernd aktiv Sensor Taschen ist an Sychronisierstelle Trolley wurde schon ausgewertet Sync-Sensor dauernd aktiv Teach-Modus ist aktiv Trolley wurde schon ausgewertet End-Punkt der Synchronisation speichern: (wegen Doppel-Impuls bei MT) Länge des Trolleys (in Inkremente) Aktueller Ink-Wert Inkremente bei Synchron-Ende (MT) Lauf-Flag bei Synchron-Ende (MT) Maximal erlaubter Zählwert Restwert übernehmen Inkremente bei Synchron-Ende (MT) Zähl-Lauf mit Flag ist aktiv Lauf-Flag bei Synchron-Ende (MT) STL de-DE de-DE Trolley am Sync-Sensor erkannt SPS-Nr. für BM Interne SPS-Nr. (wird bei Scannbefehl gemeldet) Int 1 SPS-Nr. für BM (wird bei Scannbefehl gemeldet) Int 0 Negativer Wert ? Ja ! Int 32000 Unterhalb Maximal Wert ? Ja ! Int 1 SPS-Nr. für BM (wird bei Scannbefehl gemeldet) Aktuelle Inkrementalwert Inkremente beim Synchronisieren Lauf-Flag bei Start-Inkremente Aktuelle Inkrementalwert Ink-Offset zum Scannen Inkremente zum Scannen Lauf-Flag bei Scann-Inkremente Maximal erlaubter Zählwert Restwert übernehmen Inkremente zum Scannen Aktuelles Lauf-Flag invertieren, da Überlauf ! Lauf-Flag bei Scann-Inkremente Aktuelle Inkrementalwert Ink-Offset zum Ziel entscheiden Inkremente zum Ziel entscheiden Lauf-Flag bei Entscheid-Inkremente Maximal erlaubter Zählwert Restwert übernehmen Inkremente zum Ziel entscheiden Aktuelles Lauf-Flag invertieren, da Überlauf ! Lauf-Flag bei Entscheid-Inkremente Int 0 wird von PC später gemeldet Teile-Nr. (wird bei Auslagerung gemeldet) Ziel, daß vorerst angefahren wird Haken bei diesem Abwurf-Ziel entladen Int 0 wird von PC später gemeldet Sortier-Info (Mandant) Sortier-Info (Wareneingangsbeleg) Sortier-Info (Original-Ziel/999) Sortier-Info (Kennung) Int 0 Reserve STL de-DE de-DE Daten für Eintrag in FIFO vorbereiten WORD#16#0000 Daten speichern ARef P#M220.0 FIFO ist voll FIFO ist voll Int 0 Aufruf mit Fehler ? Ja ! Error bei FIFO-Zugriff STL de-DE de-DE Daten in FIFO eintragen Int 1 Bei Daten 1 beginnen STL de-DE de-DE Mit Daten 1 beginnen Int 8 Damit Pos+00 als PARA Datensatz lesen SPS-Nr. Int 0 vorhanden ? Nein ! FIFO ist leer Error bei FIFO-Zugriff Teach-Modus ist aktiv ausschalten, da Daten im FIFO ! STL de-DE de-DE Daten in Fifo kontrollieren Inkremente zum Scannen DInt 0 angegeben ? Nein ! Lauf-Flag bei Scann-Inkremente Flag-Lauf wurde beendet Lauf-Flag bei Scann-Inkremente Flag-Lauf wurde beendet Lauf-Flag bei Scann-Inkremente Zähl-Lauf mit Flag ist aktiv Lauf-Flag bei Scann-Inkremente Zähl-Lauf mit Flag ist aktiv Inkremente zum Scannen Position schon erreicht ? Nein ! DInt 0 Eintrag nullen Inkremente zum Scannen Interne SPS-Nr. (wird bei Scannbefehl gemeldet) SPS-Nr zum Scannen (da EG-Telegramm erst bei neg.Flanke) Scann-Inkremente nullen: FIFO ist leer Error bei FIFO-Zugriff Scanner triggern: Ziel, daß angefahren wird (Scanner ausgeschaltet!) Int 0 Festes Ziel angegeben ? Nein ! Scanner triggern Dauer des Triggersignals speichern: Aktuelle Inkrementalwert InkrementAnzahl während Scanner triggern Inkremente zum Scannen Lauf-Flag bei Scann-Inkremente Maximal erlaubter Zählwert Restwert übernehmen Inkremente zum Scannen Aktuelles Lauf-Flag invertieren, da Überlauf ! Lauf-Flag bei Scann-Inkremente STL de-DE de-DE Scanner triggern ? Ziel, daß angefahren wird (Scanner ausgeschaltet!) Int 0 Festes Ziel angegeben ? Ja ! Int 0 Sinnvolle Angabe ? Nein ! String 'DREQ' Telegramm-Kennung Int 33 Anzahl Bytes Sep-ID Carrier-IDX Int 0 Carrier-Type Int 0 Scan-State DInt 0 Barcode Word 16#0003 ETX Int 0 Rest nullen Send-FIFO zu PC ist voll Send-FIFO fehlerhaft Send-FIFO für PC-Sendungen Int 0 WORD#16#0000 ARef P#M214.0 Send-FIFO zu PC ist voll Warten Send-FIFO fehlerhaft STL de-DE de-DE DREQ-Telegramm an PC senden (bei Trigger-Start) Int 2 Daten 2 oder grösser ? Ja ! Lauf-Flag bei Entscheid-Inkremente Flag-Lauf wurde beendet Lauf-Flag bei Entscheid-Inkremente Flag-Lauf wurde beendet Lauf-Flag bei Entscheid-Inkremente Zähl-Lauf mit Flag ist aktiv Lauf-Flag bei Entscheid-Inkremente Zähl-Lauf mit Flag ist aktiv Inkremente zum Ziel entscheiden Position schon erreicht ? Nein ! FIFO-Daten austragen: WORD#16#E100 Lesen und austragen FIFO ist leer Error bei FIFO-Zugriff STL de-DE de-DE Ziel-Entscheidung ? Int 1 nächste Daten kontrollieren STL de-DE de-DE FIFO-Daten +1 Sort-Info werden von Status-FIFO übernehmen: Quell_Info: Identifikation des Synchron-Punktes STL de-DE de-DE Daten für Haupstrangdaten aufbereiten Hauptstrang-DB Aktueller Hauptstrang-DB Int 0 angegeben ? Nein ! Keine Hauptstrangliste zum Eintragen angegeben Hauptstrang-DB Int 1 DB+1 bei Flaglauf ! Aktueller Hauptstrang-DB Aktueller Hauptstrang-DB Hauptstrangliste mit Lauf-Flag Aktueller Hauptstrang-DB Hauptstrangliste ist voll Hauptstrangliste ist voll Eintrag richtig erfolgt Error bei Hauptstrang-Zugriff STL de-DE de-DE Daten in Haupstrangdaten eintragen Punkt zum Ein-Teachen Int 0 bekannt ? Ja ! Teach-Modus ist aktiv DInt 0 Inkremente bei Referenzpunkt Inkremente bei Teachpunkt Abstands-Inkremente nach Teachen Teach-Modus ist aktiv Lauf-Flag bei Ref-Inkremente Lauf-Flag bei Teach-Inkremente Referenzpunkt ausgewertet Teachpunkt ausgewertet Referenzpunkt erkannt STL de-DE de-DE Teach-Modus aktiv ? Sensor RefBT am Referenzpunkt erkannt Referenzpunkt ausgewertet Sensor RefBT am Referenzpunkt erkannt Referenzpunkt ausgewertet Aktuelle Inkrementalwert Inkremente bei Referenzpunkt Lauf-Flag bei Ref-Inkremente Referenzpunkt ausgewertet Referenzpunkt erkannt DInt 0 Inkremente bei Teachpunkt Abstands-Inkremente nach Teachen Teachpunkt ausgewertet Lauf-Flag bei Teach-Inkremente STL de-DE de-DE Ref-Inkremente speichern Sensor RefHaken am Teachpunkt erkannt Teachpunkt ausgewertet Sensor RefHaken am Teachpunkt erkannt Teachpunkt ausgewertet Referenzpunkt erkannt Aktuelle Inkrementalwert Inkremente bei Teachpunkt Lauf-Flag bei Teach-Inkremente Teachpunkt ausgewertet Nächsten Teachpunkt ohne neuen Refpunkt Referenzpunkt erkannt STL de-DE de-DE Teach-Inkremente speichern Lauf-Flag bei Ref-Inkremente Lauf-Flag bei Teach-Inkremente Lauf-Flag bei Ref-Inkremente Lauf-Flag bei Teach-Inkremente Inkremente im gleichem Lauf: Inkremente bei Teachpunkt Inkremente bei Referenzpunkt Abstands-Inkremente nach Teachen Max. Wert beim Zähler Inkremente bei Referenzpunkt Inkremente bei Teachpunkt STL de-DE de-DE Abstand ermitteln Punkt zum Ein-Teachen WORD#16#0000 Nach angegeben Datensatz suchen ARef P#M200.0 ARef P#M200.0 Datensatz ist vorhanden Datensatz ist nicht vorhanden Teach-Punkt in Datenliste nicht vorhanden ! R #Dyn.Status.TeachModus_Aktiv //Teach-Modus ist aktiv Teach-Modus ist aktiv Offset Refpunkt zu TaschenPunkt (für Teachen) ARef P#M200.0 Datensatz ist vorhanden Datensatz ist nicht vorhanden Teach-Punkt in Datenliste nicht vorhanden ! R #Dyn.Status.TeachModus_Aktiv //Teach-Modus ist aktiv Teach-Modus ist aktiv STL de-DE de-DE Teach-Inkremente in Datenbank abspeichern STL de-DE de-DE Ende de-DE Synchronisation Scanner, Trolley