Jump to content

Vorbelegung der Start- und Ziel-Gleiskontakte (GK/Signale) gemäß der Definition in der Fahrstraße.


Recommended Posts

Hallo @Neo,

eine Fahrstraße wird durch einen Start-Gleiskontakt und eine Ziel-Gleiskontakt definiert. Ist es möglich, das diese beiden GK's auch automatisch als Variablen der Fahrstraße hinterlegt werden, um direkt nach der Definition einer Fahrstraße auf diese Variablen zugreifen zu können? 

Screenshot2023-04-15104212.thumb.jpg.2d5b659b91f2f59d73e93ca1c706a918.jpg

Ich empfinde es als sehr mühsam, diese doch programmintern vorhandenen Werte für jede Fahrstraße extra noch von Hand eingeben zu müssen.  

Viele Grüße, 

Hawkeye

Link to comment
Share on other sites

Hallo,

... mal nur so aus Neugier...

in lua würde eine Lösung (vereinfacht) so aussehen...
 

$("FS1").variables["Start GK/Signal"]=$("FS1").waypoints[1] -- 1. Gleiskontakt FS1
$("FS1").variables["Ziel GK/Signal"]=$("FS1").waypoints[#$("FS1").waypoints] -- letzter Gleiskontakt FS1

 

vor 9 Stunden schrieb prinz:

Zumindest bei "Wiederholungen" kann man auch in der grafischen EV auf die Wegpunkte zugreifen:

... hätte ich in der grafischen EV irgendwie die Möglichkeit zu identifizieren, daß ich beim ersten bzw. beim letzten Eintrag bin? ... oder könnte ich über Bedingungen nur auf die beiden Einträge (erster und letzter) zugreifen?

Gruß
EASY

Link to comment
Share on other sites

vor 3 Minuten schrieb EASY:

... hätte ich in der grafischen EV irgendwie die Möglichkeit zu identifizieren, daß ich beim ersten bzw. beim letzten Eintrag bin?

Ich glaube nicht, EASY

Wer solche Anforderungen hat, der wird auch keine Angst vor Lua haben.
Und Neo möchte, wenn ich ihn richtig verstanden habe, die grafische EV lieber schlank halten, damit sie möglichst viele User anspricht und nicht durch Komplexität denselben abschreckenden Effekt hat wie Lua.

Link to comment
Share on other sites

Es geht schon mit der grafischen EV. Setze vor der Wiederholung eine lokale Variable auf „leeres Objekt“. In der Schleife setzt Du dann diese Variable auf das Wiederholelement. Nach Durchlauf der Schleife steht dann in der lokalen Variable der letzte Wegpunkt.

Benötigst Du den ersten Punkt, so darf in der Schleife die lokale Variable nur gesetzt werden, wenn sie ein noch leeres Objekt enthält.

Grüße, Wolfgang

Link to comment
Share on other sites

Hallo,

vor 38 Minuten schrieb prinz:

Es geht schon mit der grafischen EV. Setze vor der Wiederholung eine lokale Variable auf „leeres Objekt“. In der Schleife setzt Du dann diese Variable auf das Wiederholelement. Nach Durchlauf der Schleife steht dann in der lokalen Variable der letzte Wegpunkt.

Benötigst Du den ersten Punkt, so darf in der Schleife die lokale Variable nur gesetzt werden, wenn sie ein noch leeres Objekt enthält.

... danke, klingt logisch und ist hinreichend für meine Neugier.

(... da ich die grafische EV nicht kann [besonders mit Variablen stehe ich da auf Kriegsfuß], sondern nur lua, wäre diese einfache Aufgabe schon eine kleine Herausforderung für mich... aber dies ist ein anderen Thema.)

Gruß
EASY

Link to comment
Share on other sites

vor einer Stunde schrieb prinz:

Es geht schon mit der grafischen EV. Setze vor der Wiederholung eine lokale Variable auf „leeres Objekt“. In der Schleife setzt Du dann diese Variable auf das Wiederholelement. Nach Durchlauf der Schleife steht dann in der lokalen Variable der letzte Wegpunkt.

Benötigst Du den ersten Punkt, so darf in der Schleife die lokale Variable nur gesetzt werden, wenn sie ein noch leeres Objekt enthält.

Hallo Wolfgang,

Eine halbwegs ernstgemeinte Antwort auf Deine Erklärung kann nur lauten: Sind wir hier eigentlich noch Nutzer einer Software, die von Jedermann genutzt werden kann, der Deinen und andere ähnliche sehr problemspezifische Erläuterungen (zufällig) liest ? Mir ist doch klar, dass sehr spezielle Anwändungsfälle auch spezielle Anwendungslösungen brauchen und es beweist ja sogar, dass das MBS für beinahe alle Spezialfälle eine Lösung parat hat. Aber ganz ehrlich, den Otto Normalverbraucher bringt das nur auf den dummen Gedanken, ich weiß zwar nicht, worüber die da reden, aber das muss was sein, was man auch braucht. 

Ganz ernst gemeint: Es schmälert nicht das Bemühen und die Kreativität jedes Einzelnen in seinem Versuch, ein für ihn mit einem Erfolgserlebnis verbundenes Projekt zu erstellen, wenn er "Fachchinesisch" nicht versteht.

Es hat aber eine längere Zeit gedauert, dass ich zu der Erkenntnis gekommen bin, wenn du etwas Gelesenes nicht verstehtst, dann ist das kein Makel und versuche nicht mit Gewalt, etwas zu verstehen, was du eigentlich nicht brauchst. Das soll dann auch meim Ratschlag an andere sein. Und ddas ist auch eigentlich nur der Anlass meines Kommentares.

Link to comment
Share on other sites

vor 3 Stunden schrieb EASY:

in lua würde eine Lösung (vereinfacht) so aussehen...

Hallo EASY,
darf ich dir eine Schreibweise vorschlagen, die meines Erachtens lesbarer ist?

local target = $("FS1").variables
local source = $("FS1").waypoints

target["Start GK/Signal"] = source[1]        -- 1. Gleiskontakt FS1
target["Ziel GK/Signal"]  = source[#source]  -- letzter Gleiskontakt FS1

Viele Grüße
Götz

Link to comment
Share on other sites

Hallo ihr Nachtaktiven, :D  

habe mein Ziel jetzt erreicht. Wichtig war mir, schon bei der Aktivierung einer Fahrstraße die Variable "Zug vor Signal" vom  StartGK auf den ZielGK zu übertragen, um für den nächst kommenden Abschnitt einen sich schon auf der Stecke befindlichen Zug anzukündigen. 

Screenshot2023-04-16091034.thumb.jpg.93850d982ae1df49dfa310b51066ef41.jpg

Da bei meiner Steuerung die kommende Fahrstraßen auch erst dann aktiviert werden sollen, wenn am StartGK einer Fahrstraße ein Zug hinterlegt ist.

Durch die "waypoints" ist das direkt möglich ohne den Umweg über eine Variablendefinition in den Fahrstraßen. 

Ha, wieder was gelernt. Vielen Dank. 

VG, Hawkeye 

Edited by Hawkeye
Link to comment
Share on other sites

Hallo,

vor 9 Stunden schrieb Goetz:

Hallo EASY,
darf ich dir eine Schreibweise vorschlagen, die meines Erachtens lesbarer ist?

local target = $("FS1").variables
local source = $("FS1").waypoints

target["Start GK/Signal"] = source[1]        -- 1. Gleiskontakt FS1
target["Ziel GK/Signal"]  = source[#source]  -- letzter Gleiskontakt FS1

... natürlich ist das übersichtlicher, aber wir haben eine Gemeinsamkeit... ich zeige auch gerne mal den prinzipiellen Weg auf;)...

Gruß
EASY

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
×
×
  • Create New...