Jump to content

Abfrage des Wertes eines Bremskontaktes auf "Abremsen auf xx kmh" in der EV


Atrus

Empfohlene Beiträge

Hello, kann ich in der EV den Zustand bzw. Wert der aktuellen Einstellung eines Gleiskontaktes abfragen oder muss ich mir dafür eine eigene Variable anlegen, die dann bei jeder Änderung des jeweiligen Kontaktes den Wert des selben übernimmt? Könnte man dann im Protokoll sehr schön verfolgen, ob sich da irgendwo ein Fehler eingeschlichen hat und um nicht lange suchen zu müssen. Oder aber auch nur, um den jeweiligen Zustand des Gleiskontaktes in einem anderen Ereignis auswerten zu können.

Lange Frage tut mir Leid:$   LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Minuten schrieb Atrus:

kann ich in der EV den Zustand bzw. Wert der aktuellen Einstellung eines Gleiskontaktes abfragen

Hallo Atrus,
jeden Wert, den du setzen kannst, kannst du mit derselben Schreibweise auch auslesen:

$("Gleiskontakt").trackContact.autoDecelerationSpeed = 15         -- setzt den Wert
local var = $("Gleiskontakt").trackContact.autoDecelerationSpeed  -- liest den Wert aus

Gruß
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

War wahrscheinlich eine unnötige Frage, natürlich wird es funktionieren aber ich wollte eigentlich noch wissen ob ich das auch vom Protokoll darstellen lassen kann. Also Modul Variable würde ich annehmen? Oder bin wieder mal völlig daneben?

Dank dir und LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Minuten schrieb Atrus:

wird das dann auch funktionieren wenn ich nur die betroffenen Programmzeilen in Lua schreibe?

Nein, du musst auch verstehen, was darin steht.
Wenn dein Kontakt nicht "Gleiskontakt" heißt, dann wird es zum Beispiel nicht klappen.

 

vor 5 Minuten schrieb Atrus:

ich wollte eigentlich noch wissen ob ich das auch vom Protokoll darstellen lassen kann.

fürs Protokoll gibt es die Lua Funktion "print()"

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja natürlich würde ich jedem (in meinem Fall) Brems bzw. Stopp Kontakt dann einen Namen oder ein Schlagwort geben um die Parameter einzuschränken und eine gezielte Abfrage machen zu können. Es geht im wesentlichen darum, dass meine Züge nicht direkt beim Signal zum stehen kommen sondern Artgerecht etwas früher. Wie du uns auch schon in einigen Beispielen gezeigt hast. Nur muss ich meine Brems/Stopp Kontakte dann auf die Blockstrecke und deren Einfluss mit berücksichtigen. Momentan wird "Abbremsen auf km/h" im Bremskontakt bei mir abhängig von dem Zustand des jeweiligen Blocksignales definiert. Nur habe ich noch keinen Nothalt bei Hp0 geschrieben. Sollte mir also ein Zug über ein rotes Signal fahren, bekomme ich das gar nicht mit. Die Bremskraft hätte dann einfach nicht gereicht. Nur wenn ich sehen würde, wie Settings des jeweiligen Kontaktes in echt Zeit sind, könnte ich sie gleich beim programmieren schon besser einstellen. Ich weiß klingt sicher kompliziert aber bei 30 Blockabschnitten würde sich das schon auszahlen. Jedenfalls daher meine ursprüngliche Fragestellung.

Vielen Dank für deine Geduld9_9 und LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Minuten schrieb Atrus:

klingt sicher kompliziert

es klingt vor allem wieder verdächtig nach "von hinten durch die Brust ins Auge".

Jedes Signal hat einen eigenen Kontakt.
Wenn dieser bei einem Halt-zeigenden Signal überfahren wird, dann hat der Zug nicht an der vorgesehenen Stelle angehalten.

Jetzt kannst du

  • eine laute Hupe ertönen lassen,
  • eine rote Lampe anschalten,
  • mit print() einen Text ausgeben
  • oder diesem Zug die Ist-Geschwindigkeit 0 zuweisen, um ihn abrupt zu stoppen.

und dann nachschauen, was los ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein Götz, jetzt hast du mich auch einmal falsch verstanden. Ich möchte lediglich nur wissen, wie die Einstellung des Gleiskontaktes ist. Und diese, wenn möglich noch im Protokoll nachverfolgen können, sorry at all and thank's a lot

LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok Götz, jetzt habe ich den Nothalt (mit Kamera Überwachung) im Prinzip aktiviert und funktioniert perfekt. Allerdings gibt es dabei ein kleines Problem. Wenn ich der EV defacto sage welche Kamera beim auslösen aktiviert werden soll, ist alles gut. Aber wie könnte ich jetzt die eigentlich betroffene Kamera dabei finden, wobei natürlich jedes Signal mit dem Schlagwort Nothalt dafür eine eigene Kamera besitzt. Es sei den, im Bahnhofsbereich können mehrere Signale mit einer Kamera gleichzeitig überwacht werden aber das ist jetzt nebensächlich. Habe dazu ein paar Fotos meiner EV angefügt. Das dritte Foto mit dem Ereignis Kamera aktivieren, ist nur als Beispiel gemeint, weil ich ja keine Ahnung habe wie ich das eigentlich schreiben soll. Habe schon X Versuche angestellt aber ich checke es einfach nicht. Ganz primitiv gesagt möchte ich einfach die Kamera die mit dem auslösenden Kontakt verknüpft ist, or what ever zum Einsatz bringen. Verflixt auch!

Übrigens danke für dein letztes Video. War leider zu spät für mich von der Uhrzeit her und meinem aktuellen Baufortschritt, weil der Hbf Wels schon existiert. Exakt nach dem Vorbild von 1959 nachgebaut. Hab dir dazu eh einen Link der ÖBB Gleispläne geschickt. Aber überhaupt kein Problem, muss eh erst den Verschiebe Bhf und die Einfahrgruppe bauen und dazu ist das jetzt echt eine super Hilfe. Du hast das sehr kurz und überzeugend erklärt. Wird mir sehr viel Zeit (auch in der Zukunft) sparen. Danke Götz.

LG  Atrus  

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 21 Stunden schrieb Atrus:

wie könnte ich jetzt die eigentlich betroffene Kamera dabei finden ..?

Hallo Atrus,

Wie findest du den Kontakt, der zum jeweiligen Signal gehört?
Oder umgekehrt das Signal, welches zum Bremskontakt gehört?

Das Prinzip ist doch immer dasselbe:
Die individuellen Dinge hinterlegst du im jeweiligen Signal, Kontakt etc., damit dein generischer Code das jeweils zugehörige Zeug finden kann. 

643529974_NothaltKamera.jpg.d5220c8d7f14f448c7b0f5ed8c49e5cf.jpg

Gruß
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Götz, danke für deine Antwort. Habe es jetzt probiert aber irgendwie will das noch immer nicht so recht. Zug bleibt bei Nothalt stehen das passt. Nur die Kamera bring ich nicht zum laufen. Hast du die als Objekt oder Schlagwort im Signal hinterlegt. Irgend etwas mache ich falsch. Habe ein Foto der Situation angehängt? Und wie gesagt jedes Signal bekommt seine Kamera. Sollte eigentlich ganz einfach sein. 

LG  Atrus

Nothalt Block 05A.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 24 Minuten schrieb Atrus:

Hast du die als Objekt oder Schlagwort im Signal hinterlegt.

Du willst das Objekt haben, damit du das Objekt ansprechen (in diesem Fall aktivieren) kannst.
Also musst du das Objekt in einer Variablen hinterlegen

Schlagworte haben einen völlig anderen Zweck!

Und wie soll ich dem Screenshot ansehen, warum es bei dir nicht funktioniert?
Was passieren soll, habe ich verstanden und selbst ausprobiert, bevor ich dir die EV davon gezeigt habe:

1148569550_NothaltDemo.jpg.e699704342753d043a05dc3c7786e819.jpg

Gruß
Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Götz, ich hab's gescheckt! Das ich auch die Variable dafür anlegen muss, habe ich natürlich völlig übersehen. Eh klar. Hast dir echt Mühe mit mir gemacht. Das ist jetzt super. Hätte ja mein Programm auch 99 mal schreiben können, wäre nur völliger Blödsinn. Vielen Dank noch einmal! 

GLG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Noch einmal vielen Dank für die Erklärungen mit den Gleisplänen. Habe mir gerade einen Screenshot von den ÖBB Plänen nach deinem Vorbild auf einer Ebene importiert und auf Maßstab 1:87 vergrößert. Funktioniert prächtig. Muss nur noch meine Gleise einpassen, sehr schön, super Idee!

LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Jahr später...
Am 7.4.2021 um 17:11 schrieb Goetz:

es klingt vor allem wieder verdächtig nach "von hinten durch die Brust ins Auge".

Jedes Signal hat einen eigenen Kontakt.
Wenn dieser bei einem Halt-zeigenden Signal überfahren wird, dann hat der Zug nicht an der vorgesehenen Stelle angehalten.

Jetzt kannst du

  • eine laute Hupe ertönen lassen,
  • eine rote Lampe anschalten,
  • mit print() einen Text ausgeben
  • oder diesem Zug die Ist-Geschwindigkeit 0 zuweisen, um ihn abrupt zu stoppen.

und dann nachschauen, was los ist.

Hi Götz, du hattest ja so recht, aber ich hab's damals einfach nicht kapiert. Sehe mir grade mal die alten Mails noch einmal durch!

LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...