Jump to content

Programmabbruch beim Auslesen einer Tabelle


 Share

Recommended Posts

Ein freundliches Hallo an die netten Helfer im Forum

Die Situation und das Problem:  Wenn ein Zug in den Bahnhof einfährt sollen die Türen automatisch geöffnet werden. Im Bahnhof hält der Zug mal so, dass der Bahnsteig rechts oder links liegt und entsprechend gibt es unterschiedliche Animationen für die Türöffnung (auch Unterschiede zwischen den verschiedenen Modellen). Diese Dateninformation sind in einer Zugtabelle gespeichert (s. Bild "Tabellendaten  von "Bahn - Zugtabelle"). Und genau das Auslesen der Animationstexte für die Türöffnung aus dieser Zugtabelle ergibt den Programmabbruch. Den entsprechenden Auszug aus dem Ereignis-Protokoll habe ich auch abgebildet.

 

I975514929_03Tabellenwerte.thumb.jpg.02595e7a4fa789dce0c6075f4d9a8721.jpg

n Bild "Ereignisverwaltung" habe ich die Stelle und die Situation gekennzeichnet. In Bild "Variablenwerte" sind die Werte zum Zeitpunkt des Abbruchs gespeichert. Der Schritt "Eigenschaften/Variable setzen" - "HBF.Zug Türen öffnen) wurde noch ausgeführt (s. Variable "Zug Türen öffnen").

2004742106_01Ereignisverwaltung.thumb.jpg.f7c19376beccd676213b29834a9066af.jpg

1647995283_02Variablenwerte.thumb.jpg.af2c2916de6adcf5c29de3df6e61619e.jpg

Ich habe schon einige Stunden mit der Fehlersuche verbracht und die verschiedensten Möglichkeiten in der EV ausprobiert. Auch die Schreibweise der Variablen (z.B. nur Zahlen, nur Buchstaben, mit und ohne Umlaute, mehrere Worte mit Unterstrich zu einem Begriff zusammengefasst usw.) habe ich vergeblich versucht.

Ich bitte um Hilfe für eine mögliche Problemlösung.

Freundliche Grüße Walter

 

Edited by WalterW
1 Bild war doppelt
Link to comment
Share on other sites

Hallo WalterW,

Müsste in der rot markierten Zeile zum Schluss nicht „Textvariable.Tuer_rechts“ stehen?

Ist nur eine Vermutung.

Vertausche doch mal die Zeilen HBF.Animation Türen rechts und links.

Und Eventuell noch „Tür links“ in „Tuer links“ ändern, also so wie die Variable oben in der Zugtabelle definiert ist.

VG

Hawkeye

 

 

 

Edited by Hawkeye
Korrektur
Link to comment
Share on other sites

Hallo Hawkeye,

vielen Dank für Deine Antwort und Änderungsvorschläge. Es geht in erster Linie um "Tür rechts", die ja den Abbruch verursacht. "Links" kommt dann dran, wenn "Rechts" funktioniert. Die von Dir angesprochene Variable habe ich bewusst als manuellen Text eingetragen um sicher zu gehen, dass nicht die "Textvariable.Tuer_rechts" schuldig ist. 

Wie gesagt, ich habe schon stundenlag und leider bisher ohne Erfolg probiert.

Trotzdem Danke und freundliche Grüße Walter

Link to comment
Share on other sites

Hallo Walter,

Die Verschachtelung der Variablen ist nicht richtig. Du adressierst den Index Tuer_rechts von der Modulvariablen Zug_Tuer_oeffnen, die es nicht gibt.

Hier das nochmal (mit etwas abweichender Schreibweise):

EV1.thumb.JPG.a1dd1c2fed9d252064bf91786c6f166c.JPG

Die senkrechte Linie in der Variablenangabe zeigt den Fehler an. Es müsste so aussehen:

EV2.thumb.JPG.bc5473137d7be7fb373850c3a2db7830.JPG

Das erreichst Du, wenn Du immer bei obersten Element der Variablen umstellst auf "Variable (Liste/Tabelle").

Noch eine Anmerkung zum Thema "Tür öffnen": Ich hatte hierbei das Problem, dass nicht bei allen Waggons eines Zuges der
Animationsname gleich war oder z.B. beim ICE der Triebkopf umgedreht am Ende des Zuges ist (und somit rechts und links vertauscht).

Deshalb habe ich die Animationsnamen bei jedem Waggon eingetragen (bzw. copy/paste). Du machst das Ereignis fest an "Zug hält", also hast Du schon den Zug im Zugriff und kannst über die Wiederholung "Für alle Fahrzeuge in einem Fahrzeugverbund" alle Einheiten des Zuges ansprechen und dort - falls vorhanden - die Animation starten. Kleiner Wehmutstropfen: In einer Wiederholung kann bei einer Animation nicht das Wiederholungselement angesprochen werden. Mein Umweg:
- Setzen der Variable "yourself" beim Wiederholungselement auf das Wiederholungselement
- Animation ausführen auf Wiederholungselement->Variabe "yourself"

Grüße, Wolfgang

 

 

Link to comment
Share on other sites

Hallo Wolfgang,

ich bedanke mich für Deine Antwort und werde Deinen Vorschlag morgen umsetzen und dann vom Ergebnis berichten. Auch für den Hinweis mit der Anwendung der Animations-Wiederholung, denn das wäre bestimmt meine nächste Hürde geworden und wird es hoffentlich jetzt nicht.

Zum Thema der Verschachtelung der Tabellen-Variablen. Ich sehe den Zusammenhang so, dass die Variable (Tabelle)  "Zugtabelle" für sich als Tabelle steht und in dieser die Untertabelle "Züge"  steht und in dieser erst die gesuchte Variable "Tuer_rechts" steht. Also sehe ich den direkten Bezug zwischen "Zugtabelle" und "Zug"  und dann zwischen "Zug" und "Tuer rechts" (und anderen Variablen die zur Tabelle "Zug" gehören).  Deshalb sieht für mich die erste Variante logischer aus.

Aber wie gesagt, morgen weiß ich es bestimmt besser. Einen schönen Abend noch.

Freundliche Grüße Walter

Link to comment
Share on other sites

Hallo Wolfgang,

leider komme ich erst heute zu der versprochenen Rückmeldung. Dein Hinweis auf die falsche Verschachtelung der Tabellen-Variablen war genau richtig. Vielen Dank für Deine Hilfe. Mein Problem ist gelöst.

Auch Dank Deiner Hinweise bezüglich der Animationen können "meine Fahrgäste" jetzt auch aus dem Zug aussteigen und zwar durch geöffnete Türen.

Freundliche Grüße Walter

Edited by WalterW
Text ergänzt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...