Startseite · Forum · CAN Module · Shops · Katalog · Pressearchiv · Downloads · Videos · WebLinksDonnerstag, 28. November 2024
Thema ansehen
 Das CAN digital Bahn Projekt > ModellStellwerk
 Vorschläge und Wünsche
Vorheriges Thema Nächstes Thema

 
Autor Lok-Nr. als Variablenwert   1 # 8 top
Signaler54
Spezialist




Beiträge: 362

Eingetreten: 01.11.15
Status: Offline
Eingetragen am 11.04.2022 20:24  

Hallo in die Runde,
kennt jemand eine Möglichkeit die interne Lok-Nr., die aktuell einen Block belegt, als Variablenwert in ein Makro zu übernehmen - analog der direkten Wertzuweisung mit dem Makrobefehl LET?

Mir ist da nichts bekannt. Wenn auch sonst niemand einen Makrobefehl kennt, wäre das ein Wunsch von mir für eine zukünftige ModellStw Version.

Sonnige Frühlingsgrüße aus dem Spessart
Werner


[H0 K-Gleis / Fahren: z21 mit Uhlenbrock Power-4 (DCC) / Melden+Schalten: Stärz Businterface + Decoder/Melder(Selectrix) / PC: Fujitsu Esprimo 2,8 GHz mit WIN10 / ModellStw 10.6B109)

 
Autor RE: Lok-Nr. als Variablenwert   2 # 8 top
HeinzM
Spezialist




Beiträge: 449

Ort: Windeck
Eingetreten: 29.05.18
Status: Offline
Eingetragen am 11.04.2022 21:38  

Hallo Werner,

wo ist das Problem?

let(L, 29) ;der Variablen L wird die interne Loknummer 29 zugewiesen
iflok(Blocknr1, L, Zeile10 ;falls interne Loknummer 29 in Blocknr1, gehe zu Zeile 10
iflok(Blocknr2, L, Zeile20) ;falls interne Loknummer 29 in Blocknr2, gehe zu Zeile 20

Ich suche mit einem solchen Makro eine Lok im Schattenbahnhof und kann sie dann mit Fahrplan ausfahren lassen.

Probiere es aus, es funktioniert.

Viele Grüße
Heinz


Modellstellwerk Vers 10.2, SpDrS60, Windows 10, Lenz LZV200 V3.8, H0, 2-L, DCC, S88N, LDT High Speed Interface, Digikeijs DR4088CS


Bearbeitet von HeinzM am 11.04.2022 21:44
 
Autor RE: Lok-Nr. als Variablenwert   3 # 8 top
Ulli9391
Spezialist




Beiträge: 928

Eingetreten: 06.01.12
Status: Offline
Eingetragen am 11.04.2022 21:57  

Hallo Werner,

leider kann man weder Lok- noch Zugnummer aus dem Block auslesen bzw. einschreiben.
Man kann zwar mit Variablen in Makros im Wert von 1 - 255 arbeiten aber mehr nicht.
Unter Aktionen kann man sehr begrenz schon was mit Zügen und Loks machen.
Leider!
Grußn Ulli

 
Autor RE: Lok-Nr. als Variablenwert   4 # 8 top
Signaler54
Spezialist



Threadstarter

Beiträge: 362

Eingetreten: 01.11.15
Status: Offline
Eingetragen am 11.04.2022 22:26  

@Heinz,
ich glaube dir!
Aber du denkst aus Richtung Lok, ich denke aus Richtung Block.
Und bei über 60 gespeicherten Loks sind lt. deinem Beispiel doch etwas mehr LET's nötig.

@Ulli,
so isses (noch) - leider

Mein Vorschlag an Ronald daher:
neuer Makrobefehl "letlok(variable,block)" ==> Die aktuelle Loknr. aus Block "block" in der Variablen "variable" speichern.

Schöner Abendgruß
Werner


[H0 K-Gleis / Fahren: z21 mit Uhlenbrock Power-4 (DCC) / Melden+Schalten: Stärz Businterface + Decoder/Melder(Selectrix) / PC: Fujitsu Esprimo 2,8 GHz mit WIN10 / ModellStw 10.6B109)

 
Autor RE: Lok-Nr. als Variablenwert   5 # 8 top
HeinzM
Spezialist




Beiträge: 449

Ort: Windeck
Eingetreten: 29.05.18
Status: Offline
Eingetragen am 11.04.2022 23:00  

Hallo Werner,

du kannst warten, bis Ronald dir das Makro bereitstellt, oder folgendes Makro benutzen:

<MACRO=196>
<start=no>
1 let(B, 1) ;BlockNr=1
2 let(L, 1) ;int.LokNr=1
3 iflok(B, L, 10) ;falls Lok im Block -> Zeile 10
4 ifvar(L, 0, 20) ;falls int.LokNr=0 -> Zeile 20
5 inc(L) ;int.LokNr erhöhen
6 goto(3) ;weiter prüfen
10 play(31) ;play "eins"
11 lokkmh(L, 30) ;Lok fährt mit 30 km/h los
12 end
20 play(30) ;play "null", keine Lok gefunden
<\MACRO>

Was ist, wenn 2 Loks im Block stehen?

Viele Grüße
Heinz


Modellstellwerk Vers 10.2, SpDrS60, Windows 10, Lenz LZV200 V3.8, H0, 2-L, DCC, S88N, LDT High Speed Interface, Digikeijs DR4088CS

 
Autor RE: Lok-Nr. als Variablenwert   6 # 8 top
Signaler54
Spezialist



Threadstarter

Beiträge: 362

Eingetreten: 01.11.15
Status: Offline
Eingetragen am 12.04.2022 12:57  

Hallo Heinz,
ich denke, dass dürfte Ronald nicht allzu schwer fallen, die Loknr. direkt aus dem Block auszulesen und einen neuen Makrobefehl daraus zu implementieren. Der Befehl "iflok" hat ja schon die Ausleserotine "im Bauch", zusätzlich dann noch die Sprungroutine nach erfolgreicher If-Abfrage. Dies ist ja die Wünsch-dir-was Abteilung im Forum .

Dein Loop-Konstrukt ist ohne Zweifel o.k., aber ein Loop ist hier sicher umständlicher als ein direkter knapper Befehl. Also mal abwarten, was Roland liefert.

In diesem Sinne weiterhin fröhliches Makro-Stricken, und sonnige Grüße
Werner


[H0 K-Gleis / Fahren: z21 mit Uhlenbrock Power-4 (DCC) / Melden+Schalten: Stärz Businterface + Decoder/Melder(Selectrix) / PC: Fujitsu Esprimo 2,8 GHz mit WIN10 / ModellStw 10.6B109)

 
Autor RE: Lok-Nr. als Variablenwert   7 # 8 top
Ulli9391
Spezialist




Beiträge: 928

Eingetreten: 06.01.12
Status: Offline
Eingetragen am 12.04.2022 14:36  

Hallo Heinz,

das ist schon o.k.
Aber da sollte mehr möglich sein. Lok-/Zugnummer lesen, einer Variablen zuweisen und danach eine neue Zugnummer in den Block schreiben, das ist bei Zügen, die wenden doch so üblich. Das wünsche ich uns.
Gruß Ulli

 
Autor RE: Lok-Nr. als Variablenwert   8 # 8 top
Signaler54
Spezialist



Threadstarter

Beiträge: 362

Eingetreten: 01.11.15
Status: Offline
Eingetragen am 14.06.2022 16:39  

Hallo an alle Interessierten,

mit Version 10.3. hat Ronald den neuen Macrobefehl "LETBLOCKLOK(Block-Nr., Variable)" eingebaut, der die lfd.Nr. der in <Block-Nr.> gemeldeten Lok einer Variablen zuweist, z.B. LETBLOCKLOK(42, L) ==> speichert die lfd.Nr. der Lok im Block 42 in der Variablen "L".
Diese Variable kann dann in weiteren Befehlen verwendet werden, z.B. DIR(L) wechselt die Fahrtrichtung der betreffenden Lok.

Bitte beachten: Nach meiner Feststellung wird die lfd.Nr. aus dem Block nur dann ausgelesen, wenn diese tatsächlich in den Block eingefahren ist. Allein ein Ziehen aus dem Lokfenster in einen Block reicht nicht.

Vielen Dank an Ronald für diese sehr praktische Erweiterung der Makro-Befehle.

Schöne Grüße aus dem sonnigen Spessart heute.
Werner


[H0 K-Gleis / Fahren: z21 mit Uhlenbrock Power-4 (DCC) / Melden+Schalten: Stärz Businterface + Decoder/Melder(Selectrix) / PC: Fujitsu Esprimo 2,8 GHz mit WIN10 / ModellStw 10.6B109)

 
 
Springe zu Forum:
Copyright 2010 - 2023 by Sven Schapmann