falseAEAufruf für WeicheAblaufstörung quittierenSensor Trolley ist an SychronisierstelleSensor Trolley am Referenzpunkt erkanntSensor Trolley am Teachpunkt erkanntAntrieb ist aktivScanner triggernStörungen übergebenAntrieb wegen Haupt-Störung stoppentrueDynamische DatenStatusTeach-Modus ist aktivNächsten Teachpunkt ohne neuen RefpunktReserveReserveReserveReserveReserveReserveReserveReserveReserveReserveRückmeldung nach BLKMOV-AufrufRückmeldung nach DatenOut-AufrufRückmeldung nach Hauptstrangdaten-In-AufrufRückmeldung nach AufrufRückmeldung nach AufrufRückmeldung bei Fifo-ZugriffRückmeldung bei Datenlisten-ZugriffRückmeldung bei Datenlisten-ZugriffRückmeldung nach SendPC_FIFO-AufruftrueZiel, daß angefahren wird (Scanner ausgeschaltet!)BT wurde schon ausgewertetReferenzpunkt ausgewertetReferenzpunkt erkanntTeachpunkt ausgewertetBereich + FIFO resettenLaufflag bei SpeicherungLauf-Flag bei Ref-InkrementeLauf-Flag bei Teach-InkrementeLauf-Flag bei Synchron-Ende (MT)Lauf-Flag bei Scann-InkrementeInkzelle: Taschen-Sensor dauernd aktivPosition zum FIFO auslesenInkremente zum ScannenSPS-Nr zum ScannenInkremente bei ReferenzpunktPunkt zum Ein-TeachenInkremente bei TeachpunktInkremente bei Synchron-Ende (MT)Zeit Inkremntalgeberwert ohne Änderung [100ms]Maximal erlaubter ZählwertZähl-Lauf mit Flag ist aktivFlag-Lauf wurde beendetOhne Flag-Lauf wurde beendetAktuelle InkrementalwertAbstands-Inkremente nach TeachenDamit 150-Teilung erhalten bleibt !truetrueParameterEinsprung Weichen-Datenliste-DBEinsprung Weichen-Datenliste-DWOffset Refpunkt zu TaschenPunkt (für Teachen)ReserveZeiger, wo Rein-Daten sindFür indirekte Adressierung (Offset 0)Für indirekte Adressierung (Offset 4)Für indirekte Adressierung (Offset 8)Aktueller Hauptstranglisten-DBStandardMScannerSync179STLde-DEOPYRIGHT by Ingenieurbüro A.Emmert
Ortsstr.33, D-869925 Fuchstal (Germany)
Tel.: 0049(0)8243-960629
Version: IMB2009_NT / 14.01.2010
Int178Einsprung Weichen-DLInt0STLde-DEde-DEParameter-ÜbergabeBereich + FIFO resettenBereich + FIFO resettenSync-Punkt-Datenliste fehlerhaftundefinierter SynchronpunktFehler bei Block kopierenSync-Sensor dauernd aktivStatus-FIFO fehlerhaftStatus-FIFO ist vollKorrektur-Modus nach Crash aktiviertHauptstrangliste fehlerhaftHauptstrangliste ist vollÜbergabeliste fehlerhaftKeine Hauptstrangliste zum Eintragen angegebenTeach-Punkt in Datenliste nicht vorhanden !Teachdatenliste fehlerhaftSend-FIFO zum PC ist fehlerhaftSend-FIFO zu PC ist vollInkrementalgeberwert ohne ÄnderungTrolley wurde schon ausgewertetTeach-Modus ist aktivInt0Inkzelle: Taschen-Sensor dauernd aktivWORD#16#0000Int0Aufruf mit Fehler ?Ja !Error bei FIFO-ZugriffSTLde-DEde-DEResetInt0Sync-Punkt-Datenliste fehlerhaftundefinierter SynchronpunktFehler bei Block kopierenSync-Sensor dauernd aktivStatus-FIFO fehlerhaftStatus-FIFO ist vollKorrektur-Modus nach Crash aktiviertHauptstrangliste fehlerhaftHauptstrangliste ist vollÜbergabeliste fehlerhaftKeine Hauptstrangliste zum Eintragen angegebenTeach-Punkt in Datenliste nicht vorhanden !Teachdatenliste fehlerhaftSend-FIFO zum PC ist fehlerhaftSend-FIFO zu PC ist vollInkrementalgeberwert ohne ÄnderungSchnittstelle nach AußenSTLde-DEde-DEStörungen nach Außen übergebenNummer des Synchron-PuntesAufruf-ParameterIdentisch ?Sync-Punkt-Datenliste fehlerhaftundefinierter SynchronpunktJa !Search-Daten WORD#16#0000ARefP#M200.0ARefP#M220.0Rückmeldung bei Datenbank-Zugriff (Gefälle-DL)Sync-Punkt-Datenliste fehlerhaftundefinierter SynchronpunktKennung + DatenbytesSync-Punkt-Datenliste fehlerhaftundefinierter SynchronpunktWord16#1004Kennung 10 + Word=04Any-Kennung, DatentypInt40Datenwords speichernWiederholungenQuelle-Pointer erzeugen:Int0Bei Merker = 0 !DB_NummerInt220AdresseInt3DWord16#8300_0000Kennung: MerkerKennung, AdresseDatenliste-Daten speichernVariant#ZielRückmeldungInt0Fehler vorhanden ?Ja !Error bei Block kopierenSynchron-Punkt-Typ = 179 (ScannerSync)Int179Dieser Aufruf-FB ?Ja !undefinierter SynchronpunktInt0Synchronpunkt ungültig !Nummer des Synchron-PuntesSTLde-DEde-DEStatische Sync-Parameter holenTeach-Punkt in Datenliste nicht vorhanden !Status-FIFO ist vollHauptstrangliste ist vollKeine Hauptstrangliste zum Eintragen angegebenInkrementalgeberwert ohne ÄnderungSend-FIFO zu PC ist vollKann 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 fehlerhaftwerden weiter unten quittiert: R #Dyn.Error.Sync_Sensor_aktiv //Sync-Sensor dauernd aktivSTLde-DEde-DEStörungen quittierenZähler-DB öffnenInkrementalgeber simulierenBand ist aktivweitere KontrollenAnzahl der 10ms-Takte (letzter Zyklus)10ms-Takte dazuaddierenweitere KontrollenHardware-Adresse der ET200-ZählerbaugruppeInt0Adresse sinnvoll ? (also ohne Zählerbaugruppe !)Nein !Zählerwert einlesen:Hardware-Adresse der ET200-ZählerbaugruppeInt3Pointer erzeugenHardware-Adresse der ET200-ZählerbaugruppeInt4Offset 4 DWsInt3Pointer erzeugenHardware-Adresse der ET200-ZählerbaugruppeInt8Int3Pointer erzeugeneigentlich doppeltAktueller ZählerwertSpeicherung (Zählerwert letzter Zyklus) ist verändert !Band ist aktivAblaufstörung quittierenZeit Inkremntalgeberwert ohne Änderung [100ms]Anzahl der 100ms-TakteaufaddierenZeit Inkremntalgeberwert ohne Änderung [100ms]Int20,2 s ohne Änderung ?Ja !Inkrementalgeberwert ohne ÄnderungInt0Zeit Inkremntalgeberwert ohne Änderung [100ms]Software-Gate öffnen:SW-Gate öffnenZähler setzen läuft:Zähler setzenZähler laden ist aktivZähler auf 000 setzen ?:DInt0Zählerwert zum SetzenZähler Zero-LoadZähler setzenZähler neu setzen ?:Speicherung Zählerwert zum SetzenZähler NeustartInkrementalgeber simulierenZähler setzenZähler-Überlauf ?:Aktueller ZählerwertMax. Wert erreicht ?Nein !Ohne Flag-Lauf wurde beendetFlag-Lauf wurde beendetRestwert als Startwert nehmen !Zählerwert zum SetzenUmschaltung Zähl-Lauf ohne-mit-ohne FlagOhne Flag-Lauf wurde beendetUmschaltung Zähl-Lauf ohne-mit-ohne FlagFlag-Lauf wurde beendetUmschaltung Zähl-Lauf ohne-mit-ohne FlagÜberlaufZähler setzenInkrementalgeber simulierenZähler NeustartÜberlaufZähler setzenZähler Zero-LoadZähler laden ist aktivZähler setzenLoad_ValDaten an Zähler senden:Inkrementalgeber simulierenZähler NeustartÜberlaufZähler setzenZähler Zero-LoadZähler laden ist aktivZählerstatus einlesen:Hardware-Adresse der ET200-ZählerbaugruppeInt4Offset 4 DWsInt3Pointer erzeugenZähler-DB öffnenZähler setzenZähler wird geladen (Modul-Rückmeldung)Zähler laden ist aktivZähler setzenZähler laden ist aktivZähler wird geladen (Modul-Rückmeldung)Zähler laden ist aktivZähler Zero-LoadZähler NeustartÜberlaufZähler setzenZähler laden ist aktivZähler wird geladen (Modul-Rückmeldung)Aktueller ZählerwertSpeicherung Zähler-DB öffnenWährend Neusetzen Loadwert übergebenDaten des Inktremental-Gebers übergeben:Zähler-DB öffnenSTLde-DEde-DEInkremental-Geber mit Zähler-Baugruppe (ET200)Scanner triggernInkrementAnzahl während Scanner triggernDInt0Sinnvoll ?Nein !Lauf-Flag bei Scann-Inkremente Flag-Lauf wurde beendetLauf-Flag bei Scann-InkrementeFlag-Lauf wurde beendetbeim Ende des Lauf sind Inkremente uninteressantLauf-Flag bei Scann-InkrementeZähl-Lauf mit Flag ist aktivLauf-Flag bei Scann-InkrementeZähl-Lauf mit Flag ist aktivAktuelle InkrementalwertInkrementAnzahl während Scanner triggernDInt0Inkremente zum ScannenLauf-Flag bei Scann-InkrementeScanner triggernSTLde-DEde-DEScanner-Triggerung ausschaltenSensor Trolley ist an SychronisierstelleBand ist aktivInkremente bei Synchron-Ende (MT)DInt0angegeben ?Nein !Lauf-Flag bei Synchron-Ende (MT)Flag-Lauf wurde beendetLauf-Flag bei Synchron-Ende (MT)Flag-Lauf wurde beendetbeim Ende des Lauf sind Inkremente uninteressantLauf-Flag bei Synchron-Ende (MT) Zähl-Lauf mit Flag ist aktivLauf-Flag bei Synchron-Ende (MT) Zähl-Lauf mit Flag ist aktivAktuelle InkrementalwertInkremente bei Synchron-Ende (MT)Trolley wurde schon ausgewertetLauf-Flag bei Synchron-Ende (MT) DInt0Inkremente bei Synchron-Ende (MT)STLde-DEde-DETrolley ist wieder wegSensor Taschen ist an SychronisierstelleNeuspeicherung nötigNeuspeicherung nötigStörung quittierenBereich resettenBand ist aktivTaschen-Sensor dauernd aktivSpeicherung Sensor frei DInt0Speicherung vorhanden ?Nein !Aktueller Ink-WertSpeicherung Sensor frei Differenz bildenDInt3Taschen-Sensor dauernd aktivAktueller Ink-WertSpeicherung Sensor frei Speicherung LaufflagTaschen-Sensor dauernd aktivSTLde-DEde-DEError: Sync-Sensor dauernd aktivSensor Taschen ist an SychronisierstelleTrolley wurde schon ausgewertetSync-Sensor dauernd aktivTeach-Modus ist aktivTrolley wurde schon ausgewertetVordere Haken auswertenEnd-Punkt der Synchronisation speichern: (wegen Doppel-Impuls bei MT)Länge des Trolleys (in Inkremente)Aktueller Ink-WertInkremente bei Synchron-Ende (MT)Lauf-Flag bei Synchron-Ende (MT)Maximal erlaubter ZählwertRestwert übernehmenInkremente bei Synchron-Ende (MT)Zähl-Lauf mit Flag ist aktivLauf-Flag bei Synchron-Ende (MT)STLde-DEde-DETrolley am Sync-Sensor erkanntSPS-Nr. für BMInterne SPS-Nr. (wird bei Scannbefehl gemeldet)Int1SPS-Nr. für BM (wird bei Scannbefehl gemeldet)Int0Negativer Wert ?Ja !Int32000Unterhalb Maximal Wert ?Ja !Int1SPS-Nr. für BM (wird bei Scannbefehl gemeldet)Aktuelle InkrementalwertInkremente beim SynchronisierenLauf-Flag bei Start-InkrementeAktuelle InkrementalwertInk-Offset zum ScannenInkremente zum ScannenLauf-Flag bei Scann-InkrementeMaximal erlaubter ZählwertRestwert übernehmenInkremente zum ScannenAktuelles Lauf-Flag invertieren, da Überlauf !Lauf-Flag bei Scann-InkrementeAktuelle InkrementalwertInk-Offset zum Ziel entscheidenInkremente zum Ziel entscheidenLauf-Flag bei Entscheid-InkrementeMaximal erlaubter ZählwertRestwert übernehmenInkremente zum Ziel entscheidenAktuelles Lauf-Flag invertieren, da Überlauf !Lauf-Flag bei Entscheid-InkrementeInt0wird von PC später gemeldetTeile-Nr. (wird bei Auslagerung gemeldet)Ziel, daß vorerst angefahren wirdHaken bei diesem Abwurf-Ziel entladenInt0wird von PC später gemeldetSortier-Info (Mandant)Sortier-Info (Wareneingangsbeleg)Sortier-Info (Original-Ziel/999)Sortier-Info (Kennung)Int0ReserveSTLde-DEde-DEDaten für Eintrag in FIFO vorbereitenWORD#16#0000Daten speichernARefP#M220.0FIFO ist vollFIFO ist vollAuslager-Sk aufrufenInt0Aufruf mit Fehler ?Ja !Error bei FIFO-ZugriffSTLde-DEde-DEDaten in FIFO eintragenInt1Bei Daten 1 beginnenSTLde-DEde-DEMit Daten 1 beginnenInt8Damit Pos+00 als PARADatensatz lesenSPS-Nr.Int0vorhanden ?Nein !FIFO ist leerTeach-Modus aktiv ?Alles ok Error bei FIFO-ZugriffTeach-Modus ist aktiv ausschalten, da Daten im FIFO !STLde-DEde-DEDaten in Fifo kontrollierenInkremente zum ScannenDInt0angegeben ?Nein !Lauf-Flag bei Scann-InkrementeFlag-Lauf wurde beendetLauf-Flag bei Scann-InkrementeFlag-Lauf wurde beendetbeim Ende des Lauf sind Inkremente uninteressantLauf-Flag bei Scann-InkrementeZähl-Lauf mit Flag ist aktivLauf-Flag bei Scann-InkrementeZähl-Lauf mit Flag ist aktivInkremente zum ScannenPosition schon erreicht ?Nein !DInt0Eintrag nullenInkremente zum ScannenInterne SPS-Nr. (wird bei Scannbefehl gemeldet)SPS-Nr zum Scannen (da EG-Telegramm erst bei neg.Flanke)Scann-Inkremente nullen:Alles ok FIFO ist leerError bei FIFO-ZugriffScanner triggern:Ziel, daß angefahren wird (Scanner ausgeschaltet!)Int0Festes Ziel angegeben ?Nein !Scanner triggernDauer des Triggersignals speichern:Aktuelle InkrementalwertInkrementAnzahl während Scanner triggernInkremente zum ScannenLauf-Flag bei Scann-InkrementeMaximal erlaubter ZählwertRestwert übernehmenInkremente zum ScannenAktuelles Lauf-Flag invertieren, da Überlauf !Lauf-Flag bei Scann-InkrementeSTLde-DEde-DEScanner triggern ?Ziel, daß angefahren wird (Scanner ausgeschaltet!)Int0Festes Ziel angegeben ?Ja !Int0Sinnvolle Angabe ?Nein !String'DREQ'Telegramm-KennungInt33Anzahl BytesSep-IDCarrier-IDXInt0Carrier-TypeInt0Scan-StateDInt0BarcodeWord16#0003ETXInt0Rest nullenSend-FIFO zu PC ist vollSend-FIFO fehlerhaftSend-FIFO für PC-SendungenInt0WORD#16#0000ARefP#M214.0Send-FIFO zu PC ist vollWartenSend-FIFO fehlerhaftSTLde-DEde-DEDREQ-Telegramm an PC senden (bei Trigger-Start)Int2Daten 2 oder grösser ?Ja !Ziel-Entscheidung nur beim 1.DS, Scannen bei DS 1+2 okLauf-Flag bei Entscheid-InkrementeFlag-Lauf wurde beendetLauf-Flag bei Entscheid-InkrementeFlag-Lauf wurde beendetbeim Ende des Lauf sind Inkremente uninteressantLauf-Flag bei Entscheid-InkrementeZähl-Lauf mit Flag ist aktivLauf-Flag bei Entscheid-InkrementeZähl-Lauf mit Flag ist aktivInkremente zum Ziel entscheidenPosition schon erreicht ?Nein !FIFO-Daten austragen:WORD#16#E100Lesen und austragen Alles ok FIFO ist leerError bei FIFO-ZugriffSTLde-DEde-DEZiel-Entscheidung ?Int1nächste Daten kontrollierenSTLde-DEde-DEFIFO-Daten +1Sort-Info werden von Status-FIFO übernehmen:Quell_Info:Identifikation des Synchron-PunktesSTLde-DEde-DEDaten für Haupstrangdaten aufbereitenHauptstrang-DBAktueller Hauptstrang-DBInt0angegeben ?Nein !Keine Hauptstrangliste zum Eintragen angegebenHauptstrang-DBInt1DB+1 bei Flaglauf !Aktueller Hauptstrang-DBAktueller Hauptstrang-DBHauptstrangliste mit Lauf-FlagAktueller Hauptstrang-DBHauptstrangliste ist vollHauptstrangliste ist vollEintrag richtig erfolgtError bei Hauptstrang-ZugriffSTLde-DEde-DEDaten in Haupstrangdaten eintragenPunkt zum Ein-TeachenInt0bekannt ?Ja !Teach-Modus ist aktivDInt0Inkremente bei ReferenzpunktInkremente bei TeachpunktAbstands-Inkremente nach TeachenTeach-Modus ist aktivLauf-Flag bei Ref-InkrementeLauf-Flag bei Teach-InkrementeReferenzpunkt ausgewertetTeachpunkt ausgewertetReferenzpunkt erkanntSTLde-DEde-DETeach-Modus aktiv ?Sensor RefBT am Referenzpunkt erkanntReferenzpunkt ausgewertetSensor RefBT am Referenzpunkt erkanntReferenzpunkt ausgewertetAktuelle InkrementalwertInkremente bei ReferenzpunktLauf-Flag bei Ref-InkrementeReferenzpunkt ausgewertetReferenzpunkt erkanntDInt0Inkremente bei TeachpunktAbstands-Inkremente nach TeachenTeachpunkt ausgewertetLauf-Flag bei Teach-InkrementeSTLde-DEde-DERef-Inkremente speichernSensor RefHaken am Teachpunkt erkanntTeachpunkt ausgewertetSensor RefHaken am Teachpunkt erkanntTeachpunkt ausgewertetReferenzpunkt erkanntAktuelle InkrementalwertInkremente bei TeachpunktLauf-Flag bei Teach-InkrementeTeachpunkt ausgewertetNächsten Teachpunkt ohne neuen RefpunktReferenzpunkt erkanntSTLde-DEde-DETeach-Inkremente speichernLauf-Flag bei Ref-InkrementeLauf-Flag bei Teach-InkrementeLauf-Flag bei Ref-InkrementeLauf-Flag bei Teach-InkrementeInkremente im gleichem Lauf:Inkremente bei TeachpunktInkremente bei ReferenzpunktAbstands-Inkremente nach TeachenMax. Wert beim ZählerInkremente bei ReferenzpunktInkremente bei TeachpunktSTLde-DEde-DEAbstand ermittelnPunkt zum Ein-TeachenWORD#16#0000Nach angegeben Datensatz suchenARefP#M200.0ARefP#M200.0Datensatz ist vorhandenDatensatz ist nicht vorhandenTeach-Punkt in Datenliste nicht vorhanden ! R #Dyn.Status.TeachModus_Aktiv //Teach-Modus ist aktivTeach-Modus ist aktivOffset Refpunkt zu TaschenPunkt (für Teachen)ARefP#M200.0Datensatz ist vorhandenDatensatz ist nicht vorhandenTeach-Punkt in Datenliste nicht vorhanden ! R #Dyn.Status.TeachModus_Aktiv //Teach-Modus ist aktivTeach-Modus ist aktivSTLde-DEde-DETeach-Inkremente in Datenbank abspeichernSTLde-DEde-DEEndede-DESynchronisation Scanner, Trolley