Jump to content

EV funktioniert seit V8.5.2 anders als in V7


Hawkeye

Empfohlene Beiträge

Hallo @Neo

mir ist aufgefallen, das in der EV in der neuen Version seit V8.5.x. eine Änderung eingebaut wurde, die eine Auswirkung auf alte EV-Programmierungen hat. 

Hier ein Beispiel. Bis V8.2.2.0 hat meine Steuerung für die "Türen" bei Fahrzeugen, die ich in V7 mal entwickelt hatte auch in richtig funktioniert.

Das trifft aber leider nicht mehr zu. 

V7 Steuerung Türen alt 02.mbp

Diese Testanlage läuft in V7 richtig, aber nicht mehr in der neuen Version!   

Eine neue Version sollte doch eigentlich keine negativen Auswirkungen auf die Steuerung älterer Anlage haben, oder? 

VG, 

Hawkeye 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Würdest du bitte noch möglichst präzise beschreiben, was in der aktuellen Version falsch läuft?
Was sollte passieren? Und was passiert stattdessen?

Am rechten Ende der Anlage öffnen die Türen der Züge in den beiden mittleren Spuren auf der falschen Seite.

Ich empfehle für den Test die Wartezeit am Bahnsteig zu verlängern. Sonst hat man kaum genügend Zeit die vier Züge zu betrachten.

WartezeitTestanlage.thumb.jpg.81866bc03c7a00aedfc9c618200028cc.jpg

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hawkeye,

welcher Fehler tritt in V8.5 auf? Grundsätzlich ist das Studio abwärtskompatibel und unterstützt alle alten Anlagen, aber dennoch kann es in bestimmten Situationen zu Verhaltensänderungen kommen. In V8.5 wurde die Wiederholung "Für alle Fahrzeuge in einem Zug/Fahrzeugverbund" bzw. "getVehicleGroup" angepasst. In V7 war die Reihenfolge, in der die Fahrzeuge zurückgeliefert wurden, mehr oder weniger zufällig (das vordere Ende eines Zugs hängt auch mit der internen Speicherverwaltung zusammen). Ab V8.5 ist die Funktion klarer definiert und liefert Fahrzeuge immer in Richtung der Fahrtrichtung zurück.

for i, F in pairs(layout:getVehicleGroup(Zug)) do
  if Typ == 0 then return F end -- (Lok oder Wagen)
    if i == 1 and not F.couplers[0].connectedCoupler then F1 = F end
    if i == 1 and not F.couplers[1].connectedCoupler then F1 = F end
    if i == Anz and not F.couplers[0].connectedCoupler then F2 = F end
    if i == Anz and not F.couplers[1].connectedCoupler then F2 = F end
end

Solche Stellen könnten problematisch sein, weil du hier bewusst auf das erste und letzte Fahrzeug zugreifst. Ich habe deinen Code nicht intensiv studiert, vermute aber in diesem Bereich den Fehler.

Ab V8.5 brauchst du keine Lua-Skripte mehr, um Türen anzusteuern. Ich habe unter CECAF1F1-0384-42EC-8F60-AFDAB7BB0E7D eine kleine Test-Anlage gebaut, die die neuen Möglichkeiten demonstriert.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 44 Minuten schrieb Goetz:

Am rechten Ende der Anlage öffnen die Türen der Züge in den beiden mittleren Spuren auf der falschen Seite.

Genau, ich dachte das erkennt man auch sofort. Trotzdem hier nochmal im Bild. 

Screenshot2023-09-15105916.thumb.jpg.4a808ff942f51aeb0867641558a4276c.jpg

Screenshot2023-09-15110804.thumb.jpg.5f685228926fc42b3063b01ddc0becfd.jpg

Hallo Neo, 

vor 34 Minuten schrieb Neo:
for i, F in pairs(layout:getVehicleGroup(Zug)) do
  if Typ == 0 then return F end -- (Lok oder Wagen)
    if i == 1 and not F.couplers[0].connectedCoupler then F1 = F end
    if i == 1 and not F.couplers[1].connectedCoupler then F1 = F end
    if i == Anz and not F.couplers[0].connectedCoupler then F2 = F end
    if i == Anz and not F.couplers[1].connectedCoupler then F2 = F end
end

Solche Stellen könnten problematisch sein, weil du hier bewusst auf das erste und letzte Fahrzeug zugreifst. Ich habe deinen Code nicht intensiv studiert, vermute aber in diesem Bereich den Fehler.

Nein, auf diese Skript wird in dieser speziellen Anlage nicht zurückgriffen. (Ich habe die anderen Testbeispiele, die auf dieses Skript zugegriffen haben vorher gelöscht.)  

Es wird lediglich dieses Skript ausgeführt. 

Screenshot2023-09-15111116.thumb.jpg.d6703a7b15013667923d1aab7952ec32.jpg

vor 34 Minuten schrieb Neo:

dennoch kann es in bestimmten Situationen zu Verhaltensänderungen kommen.

Das scheint ja dann hier zuzutreffen. 

Also kann ich den Code in die Tonne hauen und in allen Anlagen in den ich ihn benutze für die neue Version umschreiben. Toll.  >:(

VG, 

Hawkeye

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 56 Minuten schrieb Neo:

aber dennoch kann es in bestimmten Situationen zu Verhaltensänderungen kommen. In V8.5 wurde die Wiederholung "Für alle Fahrzeuge in einem Zug/Fahrzeugverbund" bzw. "getVehicleGroup" angepasst. In V7 war die Reihenfolge, in der die Fahrzeuge zurückgeliefert wurden, mehr oder weniger zufällig (das vordere Ende eines Zugs hängt auch mit der internen Speicherverwaltung zusammen). Ab V8.5 ist die Funktion klarer definiert und liefert Fahrzeuge immer in Richtung der Fahrtrichtung zurück.

Hallo Neo,

hierfür wäre ein Hinweis in der Wiki wohl angebracht. In V8.2 hat es noch funktioniert.

VG, 

Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hawkeye,

ich habe das Wiki entsprechend aktualisiert. Ich kann verstehen, dass du über die Verhaltensänderung nicht sehr erfreut bist, völlig vermeiden lässt sich das leider nie. Die Funktion "getVehicleGroup" war bis 8.2 mehr oder weniger undefiniert, eine Reihenfolge nicht garantiert. In 8.5 hätte ich die Option gehabt, die alte Funktion zusätzlich zur neuen Funktion beizubehalten oder wie geschehen konkreter zu definieren. Ich habe mich für letzteres entschieden, weil dass das Studio langfristig übersichtlicher hält und die Anpassung solche komplizierten Türsteuerungen stark vereinfacht.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo,

gute Entscheidung. Türen auf/zu ist jetzt ein Kinderspiel.

vor einer Stunde schrieb Hawkeye:

und in allen Anlagen in den ich ihn benutze für die neue Version umschreiben.

Hier wäre mein Feature-Vorschlag, dass man auch nur die EV importieren kann eine deutliche Erleichterung ;).

https://community.3d-modellbahn.de/forums/topic/8557-v-85-paste-from-layout-verdreifacht-fahrstraßen/#comment-109638

U.a. wegen der verbesserten und vereinfachten Türsteuerung bin ich auf dieses Problem gestoßen.

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo, 

vor 2 Stunden schrieb Neo:

ich habe das Wiki entsprechend aktualisiert. Ich kann verstehen, dass du über die Verhaltensänderung nicht sehr erfreut bist, völlig vermeiden lässt sich das leider nie. Die Funktion "getVehicleGroup" war bis 8.2 mehr oder weniger undefiniert, eine Reihenfolge nicht garantiert. In 8.5 hätte ich die Option gehabt, die alte Funktion zusätzlich zur neuen Funktion beizubehalten oder wie geschehen konkreter zu definieren.

wenn es sich doch nur ausschließlich auf "Türen öffnen" beziehen würde. >:( 

Auch andere Anlagen funktionieren seit V8.5.2 nicht mehr korrekt, in denen ich auf die Funktion getVehicleGroup()  zugegriffen habe. Hier ein weiteres Beispiel, das unter V7 und bis V8.2.2 hervorragend gelaufen ist, und jetzt ein Chaos hinterlässt.  

Ergebnis in V7:   

Screenshot2023-09-15145912.thumb.jpg.93268669d6edf6debcc67da415aaa0b3.jpg

Ergebnis in V8.5.2 

Screenshot2023-09-15144815.thumb.jpg.58d2efb7291477f0303cce2bb1cb3910.jpg


Demo-Rangieren mit automatische Kupplungserkennung.mbp

 

Dadurch sind mal soeben ein paar Monate mühselige Entwicklungsarbeit, bis das mal richtig funktioniert hatte, einfach für die Katz und in der neuen Version nicht mehr verwendbar.

Eine solch gravierende Änderung in ein Update zu packen, das die Vorversion überschreibt ist doch wohl mehr als unglücklich gewählt !!!!!!!!! (n)

Diese Änderung erst in einer neuen Version ab V8.5.x anzubieten, hätte ich ja noch verstehen können.

Wie komme ich jetzt wieder auf die Version V8.2.2 zurück? 

Welche Version ist das genau? 

Screenshot2023-09-15150656.jpg.5071d45c8a2c1f0137b4706867b9737d.jpg

VG, 

Hawkeye

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hawkeye,

die Änderungen waren nur während der Testphase Teil eines V8-Updates, das du manuell installiert hast. Die angepasste Funktion ist offiziell erst ab V8.5 enthalten, das eine separate Installation nutzt.

Die offizielle V8 (8.2.2.0) findest du bei den zusätzlichen Downloads, es gibt nur eine V8.

Viele Grüße, 

Neo

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...