Stärz WLAN-SX Modul (Themannamen angepasst)

Richtigen Spielspaß gibt es doch nur in Verbindung mit einem Handregler :-) Dieses Eingabegerät zum Fahren und Schalten, aber auch teils Anzeige von Betriebszuständen, gehört (fast) zu jeder Anlage.
Digit-Electronic
Beiträge: 40
Registriert: 13. Juni 2016, 08:05
Kontaktdaten:

Re: Stärz WLAN-SX Modul

Beitrag von Digit-Electronic »

Hallo Werner,

ich habe Ihrem Beitrag über Problem WLAN-SX-Modul gelesen und die Aufbau- und Bedienungsanleitung von Stärz recheriert.
Ohne Erfolg. Mittlerweile vermute ich, das Probleme liegt eher im Code des PIC.
Kein Fehler im Code des PIC's, sondern nur in der Elektronik (Hardware).
Das ist für mich und meinen Anwendungsfall natürlich ein gravierender Nachteil.
Ja.

Grund:
In der Elektronic des WLAN-SX-Modul's hat 3 Chips LM393N aufgebaut. Pro Chip hat 2-fach Komparator. Insgesamt sind 6 Komparator.
Es fehlt noch 2 weitere Komparator. 3 Komparator entspricht für einen Eingang T0 + T1 und einen Ausgang für D "Low".
Für die D-Leitung als Eingang fehlt. Pro SX-Bus muss mindestens 4 Komparator für (T0-, T1- und D-Eingang / D-Ausgang LOW) und einen Transistor für (D-Ausgang HIGH) haben. Alle SX2-fähigen Geräte brauchen einen Eingang für die D-Leitung.
WLAN-SX-Modul ist wahrscheinlich inkompatibel mit D&H-Produkte und bleibt mit der Zentrale ZS2 im Alleingang.
Wie siehe auch meine Webseite unter Rubrik "Info" und "SX-Wissen, die ich berichtet habe.

Gruß
W. Brand
Zuletzt geändert von Digit-Electronic am 17. Juni 2020, 15:10, insgesamt 2-mal geändert.
sx2user
Beiträge: 21
Registriert: 25. Februar 2020, 16:20

Re: Stärz WLAN-SX Modul

Beitrag von sx2user »

Hallo W. Brand und Interessierte

danke für die Info, aber das/die von mir beschriebene(n) Problem(e) liegen mit Sicherheit nicht an diesem Teil der Hardware. Allerdings ist es korrekt, dass in Bezug auf die Hardware die SX2 Regeln von D&H bei dem WLAN-SX-Adapter wohl nicht eingehalten werden. Entsprechend den von D&H vorgegeben Regeln, muss ein SX2 kompatibles Steuergerät auf seiner Sendeleitung (D-Leitung) auch Lesen können. Es muss diese Leitung also bidirektional auswerten können. Warum das so ist möchte ich kurz beschreiben.

Wenn ein SX-Busgerät eine SX2-Erweiterung bei einer freien SX2-Erweiterung anfordert, dann schreibt es auf die D-Leitung in die 4-Bit breite SX2-Präambel die entsprechende Betriebsartenanforderung (also ob die Erweiterung für SX2, DCC kurze | lange Adresse, 28 | 128 FS, MM, div. Programmierungen, etc. genutzt werden soll) rein und in die daraufhin von der ZE eröffnet SX2-Busverlängerung, dann die entsprechende Adresse und Daten. Wobei die Daten-Bits zunächst alle log. 0 sind.

Gehen wir mal davon aus, dass hier eine SX2 Lok mit Adresse 17 (SX2-Lokadressen müssen ja nicht oberhalb der SX1-Lokadressen liegen) angesprochen werden soll. In der SX2-Buserweiterung steht nun diese Adresse drin und alle sonstigen Bits (Daten wie FS, Funktionen) sind noch log. 0. Was macht nun die Zentrale auf der T1-Leitung? Nun sie gibt dort zwar noch nicht die bei der Anforderung gesetzten Präambel-Bits (Betriebsart) zurück, sondern belässt diese all auf log. 0, aber in dem weiteren Bereich sendet sie die Adresse und Daten, die ihr vom Steuergerät übergeben wurden.

Das Steuergerät am SX-Bus muss jetzt zyklisch die Betriebsartenanforderung immer wieder in die SX2-Präambel schreiben, denn ansonsten wird die ZE nach weiteren 16 Busumläufen die SX2-Buserweiterung wieder schließen. Gut das ist ja kein Problem und dazu muss man auch nicht von der D-Leitung lesen können. Schreiben auf diese genügt ja.

Stimmt, warum muss man dennoch auch von der D-Leitung lesen können? Erkennt man sonst nicht, dass diese SX2-Erweiterung bereits belegt ist? Nein das ist auch nicht der Grund. Natürlich kann ein anderes Gerät am SX-Bus erkennen, dass die SX2-Erweiterung bereits in Gebrauch ist. Wie das? Nun die Zentrale offeriert doch eine SX2-Buserweiterung und diese „sieht“ ein anderes Gerät am SX-Bus natürlich auf der T1-Leitung. Zugegeben ein klein wenig später als Geräte, die auch von der D-Leitung lesen können, denn diese würde die dort zyklisch ausgegebene Betriebsartenanforderung in den Präambel-Bits (s.o.) bereits erkennen, aber hier geht es um einen Verzug um wenige Bits, also ein echtes Problem ist das auch nicht.

Ja jetzt verstehe ich gar nichts mehr, wo liegt den jetzt das Problem, wenn ich nicht von der D-Leitung lesen kann? Nun die Daten die auf die Präambel folgen sind mehrdeutig. Dies bedeute man kann an Hand dieser Daten nicht eindeutig erkennen um was es geht. Also z.B. ob in der SX2-Buserweiterung jetzt Daten für eine SX2-Lok enthalten sind oder für eine DCC-Lok und ob dies über kurze oder lange Adressen angesprochen werden soll und diese mit 28FS oder 126FS erfolgt, etc. All diese Informationen ergeben sich aus den SX2-Präambel-Bits.

Die Präambel-Bits, die die ZE auf der T1-Leitung ausgibt sind dort aber alle solange log. 0 bis die SX2-Erweiterung neben der eigentlichen Adresse auch noch Nutzdaten enthält. In dem Moment, wo dort Nutzdaten enthalten sind gibt die ZE die entsprechenden Präambel-Bits auch auf der T1-Leitung aus und somit genügt es dann wieder, wenn ein Gerät nur von T1 und nicht auch noch von D lesen kann.

Setzt man die Fahrstufen und Zusatzfunktion alle wieder auf log. 0, dann setzt die ZE auf der T1-Leitung alle SX2-Präambel-Bits zurück auf log. 0 und würde auch die SX2-Buserweiterung nach weiteren 16 Busumläufen wieder schließen, wenn kein Gerät mehr diese Erweiterung anfordern würde indem es konstant weiter seine Präambel-Bits auf Leitung D ausgibt.

Gut jetzt habe ich verstanden, wann die SX2-Präambel-Bits auf der T1-Leitung alle log. 0 sind und wann nicht. Es ist jetzt auch klar, dass diese auf T1 auch dann alle log. 0 sein können, wenn die SX2-Kanalerweiterung aktiv ist und nicht nur dann, wenn sie frei ist. Zu welchen Ungereimtheiten kann es jetzt aber kommen, wenn das Gerät nicht von der D-Leitung lesen kann? Wenn es diese Leitung also nur unidirektional zur Datenausgabe nutzt.

Nehmen wir nun jetzt noch einmal den Fall an, dass ein Gerät die o.g. SX2 Adresse 17 anfordert. Die ZE gibt jetzt in der SX2-Buserweiterung auf der T1-Leitung folgendes aus: Alle SX2-Präambel-Bits 0 (nur auf der D-Leitung werden die entsprechenden SX2-Präambel-Bits vom anfordernden Gerät zyklisch weiter ausgegeben, sind dort also vorhanden), im Adressbereich des folgenden Datensatzes gibt sie die Adresse 17 aus gefolgt von dem Datenbereich in dem noch alle Bits auf log. 0 sind.

Jetzt gehen wir zu einem anderen Gerät und fordern dort die DCC kurze Adresse 17 mit 126FS an. Ein Gerät, welches nur von der T1-Leitung lesen kann hat jetzt ein Problem. Das Gerät kann zwar erkennen, dass die Adresse 17 in der SX2-Buuserweiterung bereits verwendet wird, es kann aber nicht erkennen wofür. Also ob es um SX2, DCC kurz oder lang mit 28FS oder 126FS geht etc. Dies könnte es nur, wenn es auch von der D-Leitung lesen könnte, den dort gibt das aktive Gerät die Betriebsart in den SX2-Präambel-Bits ja zyklisch aus.

Was macht nun das Gerät, das diese Info nicht hat? Gute Frage. Wahrscheinlich fordert es eine eigene, weitere SX2-Buserweiterung an. In o.g. Beispiel wäre das okay, da es einmal um SX2-Loks und einmal um DCC-Loks ging. Was wäre aber, wenn man am zweiten Gerät ebenfalls eine SX2-Lok mit Adresse 17 aufgerufen hätte. Nun in diesem Fall würde für die gleiche Betriebsart (hier SX2-Lok) eine zweite SX2-Buserweiterung eröffnet werden und die beiden Geräte würden in Konkurrenz zueinander laufen. Die Lok würde also immer abwechselnd die Befehle des einen und dann des anderen Gerätes empfangen. Das ist natürlich Unsinn und würde zu merkwürdigen Reaktionen bei der Lok führen.

Um solche SX2-Doppelbelegungen für identische Betriebsarten und identische Adressen sicher zu vermeiden, müssen Geräte, die für das erweiterte SX-Busprotokoll (SX2) designed sind, also auch von der D-Leitung lesen können. Das TRIX Control Handy und das Lok Control 2000 können das und auch die Handregler HR2010RGB und HR4000, die ich von Digit-Electronic besitze.

Der Stärz WLAN-SX-Adapter verfügt soweit ich dies erkennen kann, nicht über diese Funktionalität. Auch ich sehe es so, dass hier die entsprechende Hardware fehlt. Wie Eingangs bereits erwähnt, hat dies aber absolut nichts mit den von mir geschilderten Problemen zu tun. Potentielle Fehler, die aus der rein unidirektionalen Auswertung der D-Leitung basieren, treten nur unter den oben dargelegten speziellen Rahmenbedingungen auf und führen zu Mehrfachbelegung von SX2-Erweiterungen. Ich nutze einen Busmonitor um zu beobachten, ob ich diese provoziert habe oder nicht und bei meinen Tests mit dem WLAN-SX-Adapter habe ich dies beachtet. In Ermangelung des DHR-PIC oder SPF-PIC kann ich nicht beurteilen, ob diese Geräte die entsprechende Hardware aufweisen, um die D-Leitung bidirektional zu bedienen.

Ob ein Gerät grundsätzlich auch von der D-Leitung lesen kann, ist leicht zu erkennen. Kann das Gerät die Modellbahn-Uhrzeit aus dem SX-Bus entnehmen, dann kann es auch von der D-Leitung lesen. Das kann z.B. auch der Handregler 4 von Uwe Magnus. Für diesen gibt es aber leider kein Update auf das erweiterte SX-Busprotokoll (SX2).

Ich hoffe ich konnte den Sachverhalt und die Problematik mit der Belegung und Freigabe von SX2-Buskanälen verständlich erklären.

Beste Grüße
Werner
Zuletzt geändert von sx2user am 15. Juni 2020, 18:44, insgesamt 1-mal geändert.
SX Nutzer seit 1986
Komponenten von: Trix, D&H, MUET, Rautenhaus, Uwe Magnus, digit electronic, Stärz, Joachim Havekost
Software/Tools: Railroad & Co. (Demo, gold), D&H Tools, TMSC2, Staerz Decoder Programmer
Moba: H0 Mittelleiter, Fahrzeuge überwiegend Märklin aber auch einiges von Roco und Piko
Anlage: keine, z.Zt. nur größere Testaufbauten
Gleisprotokoll: bevorzugt nur SX (SX1/SX2). Teste oft aber auch den Mischbetrieb mit DCC und gelegentlich auch noch mit MM
sx2user
Beiträge: 21
Registriert: 25. Februar 2020, 16:20

Re: Stärz WLAN-SX Modul

Beitrag von sx2user »

Hallo zusammen,

noch eine Ergänzung zu meinen obigen Ausführungen hinsichtlich der Belegung und Freigabe von SX2-Buserweiterungen. Ich vermute, dass die SX2-Komponenten von Stärz (DHR-PIC, SPF-PIC) zusammen mit deren ZE2 keine Probleme mit einer korrekten Belegung und Freigabe der SX2-Buserweiterungen haben, da die ZE2 dabei anders vorgeht, eine andere Methode nutzt als die FCC oder miniFCC.

Die FCC und miniFCC geben die Betriebsart (den jeweiligen Verwendungszweck) der SX2-Buserweiterungen ja nur dann auf der T1-Leitung aus, wenn die SX2-Buserweiterung neben einer Adresse auch Nutzdaten aufweist. Daraus ergibt sich die oben geschilderte Problematik mit einer sauberen Belegung und Freigabe von SX2-Buserweiterungen.

Ich vermute, dass die ZE2 von Stärz hier anders vorgeht. Diese gibt in der SX2-Präambel die Betriebsart der SX2-Buserweiterung auch dann aus, wenn alle Nutzdaten in der SX2-Buserweiterung (noch) log. 0 sind. Damit kann auch eine Komponente, die nur von T1-Leitung und nicht zusätzlich noch von der D-Leitung lesen kann, klar erkennen wofür die SX-Buserweiterung aktuell reserviert ist.

Gut das kann man so machen. Bleibt allerdings noch die Frage: Wie erkennt die ZE2 jetzt, dass eine SX2-Buserweiterung nicht mehr benötigt wird? Auch das ist kein Problem. Die SX2-Buserweiterung wird ja dadurch offengehalten, dass das entsprechende Gerät auf der D-Leitung zyklisch die Betriebsart in die SX2-Präambel schreibt. Wird das Gerät vom Bus abgezogen bzw. wird an dem Gerät eine andere Adresse aufgerufen, dann schreibt das Gerät für die SX2-Buserweiterungen, die es vorab initiiert hatte, ja nicht mehr in die SX2-Präambel seine Anforderungen rein.

Die ZE2 kann also prinzipiell erkennen, dass sich kein Gerät am SX-Bus mehr für diese SX2-Buserweiterung interessiert. Dazu muss sie allerdings, wegen der internen Kopplung der T1 und D-Signale kurz alle Präambel-Bits als log. 0 ausgeben und schauen, ob diese erneut gesetzt werden. Falls nicht, kann die Erweiterung geschlossen werden. Das wird sie zumindest dann auch tun, wenn alle Nutzdaten in der SX-Buserweiterung log. 0 sind.

Wegen des Zusammenspiels SX-Busprotokoll und Gleisprotokoll macht sie dies wahrscheinlich, wie FCC und miniFCC, nur dann, wenn keine Nutzdaten in der Erweiterung enthalten sind. Grundsätzlich könnten aber alle SX-Zentralen eine SX-Buserweiterung immer vom SX-Bus nehmen, wenn sich aktuell kein Gerät für die Daten interessiert. Also auch dann, wenn dort auch Nutzdaten enthalten sind.

Dies hätte den Charme, dass ähnlich wie bei diversen DCC-Zentralen mehr als 16 oder 32 Loks am Gleis aktiv gehalten werden könnten. Die dazu notwendige, völlig autarke Behandlung von SX-Busprotokoll und Gleisprotokoll macht lediglich die Programmierung des µC in der Zentralen anspruchsvoller und aufwändiger. Möglich ist das aber. Bin gespannt, was hier die FCCx zukünftig zu bieten haben wird.

Noch mal kurz zurück zu der von mir vermuteten Methode der Verwaltung von SX2-Buserweiterungen bei der ZE2. Wie dargelegt funktioniert diese auch. Sie beinhaltet sogar den Vorteil, dass für eine korrekte Belegung und Freigabe von SX2-Buserweiterungen Steuergeräte am SX-Bus nicht über die Fähigkeit verfügen müssen, auch auf der D-Leitung Lesen zu können. Damit könnten grundsätzlich auch alle Geräte des ursprünglichen SX-Systems für die Verwendung mit dem SX2-Busprotokoll ertüchtigt und genutzt werden. Ein Tausch des µC würde genügen.

Wenn die SX2-Zentralen zukünftig die Reservierung einer SX2-Buserweiterung nur noch davon abhängig machen, ob ein Gerät diese noch benötigt und nicht ob dort Nutzdaten enthalten sind, dann ist das ein weiterer Schritt in Richtung Optimierung des SX-Systems.

FCC und miniFCC könnten durch ein Update auf die in Bezug auf die Hardware weniger aufwendigen Methode der Verwaltung von SX2-Buserweiterungen, die ich bei der Stärz ZE vermute, umgestellt werden. Im Sinne einer möglichst 100% Kompatibilität wäre dies aus Anwendersicht wünschenswert. Zudem machbar, da keine Anpassungen in den Steuergeräten der Wettbewerber erforderlich sind.

Schauen wir mal …
Kürzlich habe ich in einem anderen Forum folgendes gelesen, von dem ich denke, dass es den Nagel auf den Kopf trifft:
„Das Schöne an einheitlichen Standards ist es, dass es so viele verschiedene davon gibt.
Toleranz ist die Erkenntnis, dass es sinnlos ist, sich aufzuregen.“

In diesem Sinne beste Grüße
Werner
Zuletzt geändert von sx2user am 15. Juni 2020, 18:44, insgesamt 1-mal geändert.
SX Nutzer seit 1986
Komponenten von: Trix, D&H, MUET, Rautenhaus, Uwe Magnus, digit electronic, Stärz, Joachim Havekost
Software/Tools: Railroad & Co. (Demo, gold), D&H Tools, TMSC2, Staerz Decoder Programmer
Moba: H0 Mittelleiter, Fahrzeuge überwiegend Märklin aber auch einiges von Roco und Piko
Anlage: keine, z.Zt. nur größere Testaufbauten
Gleisprotokoll: bevorzugt nur SX (SX1/SX2). Teste oft aber auch den Mischbetrieb mit DCC und gelegentlich auch noch mit MM
Digit-Electronic
Beiträge: 40
Registriert: 13. Juni 2016, 08:05
Kontaktdaten:

Re: Stärz WLAN-SX Modul

Beitrag von Digit-Electronic »

Hallo Werner,

Die Zentrale spielen keine Rolle!

Nur beide Eingabegeräten und Module, die über eine D-Leitung als bidirektional miteinander kommunizieren muss. :!:

Wenn man nur einen Eingang für die T1-Leitung für die SX2-Erweiterung verbaut hat, ist folgendes fehlerhaft, da dann mehrmals dieselbe Lokadresse auf dem SX2-Bus aufgerufen werden kann.

Beispiel mit T1-Eingang:

Handregler 1 will Lok 1234 fahren => Erweiterung 8
Handregler 2 oder SmartPhone mittels WLAN-Modul will Lok 1234 fahren => Erweiterung 12

Der Handregler 2 kann nicht wissen, welche Erweiterung einer Regler 1 gesendet hat.

Die Zentrale kann mit gleiche SX2 oder DCC Adresse doppelt belegen.
Wenn Sie nun am Regler 1 losfahren, gibt es zwei Erweiterungen. Einmal mit FS = 0 und einmal mit FS = 30.
Die Folge: Die Lok fährt nicht richtig, schaltet das Licht nicht richtig u.s.w..

Man muss daher unter allen Umständen immer von der D-Leitung lesen. :!:

Automatische Löschung in der Zentrale ist nicht möglich, wenn Fahrstufe, Licht und Funktion F1 bis F16 = 0 sind. :o

Schauen Sie einfach den SX2-Bus-Monitor im TRIX Lok Control LC2000 oder Digit-Electronic Handregler HR4000 an.

Wenn von der D-Leitung gelesen wird, sehen Sie auch die Erweiterungen mit den Daten = 0, ändern Sie das Lok Control auf T1 sehen Sie nur noch die Erweiterungen mit Daten ungleich 0.
Daher brauchen alle SX2-fähigen Geräte einen Eingang für die D-Leitung.


Welche Eingänge zwischen T1 und D für die SX2-Erweiterung gewählt werden sollen darf ich aus urheberrechtlichen Gründen von D&H nicht sagen.


Bitte, Lesen Sie unsere Webseite unter Rubrik INFO, SX-WISSEN und SX-KOMPATIBEL und auch mit Schaltbild als Beispiel weiter.


Mit freundlichen Grüßen
Wilhelm Brand
Zuletzt geändert von Digit-Electronic am 17. Juni 2020, 15:10, insgesamt 1-mal geändert.
sx2user
Beiträge: 21
Registriert: 25. Februar 2020, 16:20

Re: Stärz WLAN-SX Modul

Beitrag von sx2user »

Hallo Wilhelm und Interessierte,

ich denke, dass ich in meinem Beitrag vom 12. Juni 2020, 17:11, hinreichend erklärt habe, warum ein SX2-fähiges Steuergerät entsprechend den D&H Vorgaben in der Lage sein muss, von der D-Leitung Lesen zu können. Es geht hier einzig und alleine um die 4-Präambel-Bits. Alle anderen, weiteren Daten, (aktivierte Adresse und Nutzdaten) werden unmittelbar nach der Belegung einer SX2-Erweiterung von einer SX2-Zentrale von der D-Leitung übernommen und dann auf der T1-Leitung ausgegeben. In anderen Worten, dorthin gespiegelt. Damit stehen diese Informationen grundsätzlich allen SX-Bus Teilnehmern zur Verfügung, welche die T1-Leitung ja als klassische Leseleitung verwenden.

Dass die Zentrale in der geöffneten SX2-Buserweiterung auf der T1-Leitung direkt die Adresse ausgibt ist auch insofern wichtig, um potentielle Kollisionen bei der Belegung einer Buserweiterung auflösen zu können. Sollten tatsächlich mal zwei oder mehr Steuergeräte zum gleichen Zeitpunkt eine SX2-Buserweiterung anfordern, dann kommt es zu einer Überlagerung der Adressbits (log. 0 ist dominant bez. log. 1) bei dieser SX-Buserweiterung.

Die Zentrale wird in diesem Fall auf der T1-Leitung eine Adresse ausgeben (zurückmelden), die von keinem der Geräte angefordert wurde. Korrekt programmierte SX2-Geräte erkennen das und ziehen daraufhin ihre Reservierung des SX2-Kanals sofort zurück. Dies geschieht einfach dadurch, dass sie ihre Betriebsartenanforderung nicht mehr in die Präambel-Bits schreiben.

Da ja außer den (falschen) Adressbits in der Buserweiterung noch keine weiteren Bits gesetzt waren, schließt die Zentrale ohne weiteres Zutun durch die Steuergeräte die SX2-Buserweiterung wieder bez. gibt sie für die erneute Verwendung frei. Nach dem Zufallsprinzip sollten die Steuergeräte jetzt automatisch eine neue Reservierung initiieren.

Hinsichtlich der Freigabe von reservierten SX2-Kanälen bestehen also keine Ansprüche an die SX-Busgeräte insbesondere auch keine betreffs ihrer Lesefähigkeit von der D-Leitung. Sie sind nur insofern involviert, als dass die aktuellen Zentralen die SX2-Buserweiterungen nur dann schließen, wenn alle Nutzdatenbits in der Erweiterung log. 0 sind und wenn zusätzlich kein Gerät mehr die entsprechenden Präambel Bits zyklisch setzt.

Wie in meinen Ursprungs-Posts zu dem WLAN-SX-Adapter dargelegt, geht es mir aktuell nicht um das Thema fehlerhafte Mehrfachbelegung von SX2-Buserweiterungen und der Lesefähigkeit von der D-Leitung JA oder NEIN. Dass dem Gerät die Hardware fehlt, um von der D-Leitung lesen zu können, sehe ich auch so. Bisher habe ich allerdings noch keine Tests gemacht, die die dadurch entstehenden Probleme konkret aufzeigen. Welche Voraussetzungen hierfür gegeben sein müssen habe ich ja auch bereits dargelegt.

Dies alles hat nichts mit den Problemen zu tun, die ich mit dem Stärz WLAN-SX-Adapter hier zum Erfahrungsaustausch und Erörterung eingestellt habe. Die Diskussion hinsichtlich dessen Lesefähigkeit von der D-Leitung ist für mich diesbezüglich unerheblich und ich möchte auch keinesfalls jemanden in die Verlegenheit bringen, am Ende gar noch urheberrechtlich geschützte Dinge auszuplaudern.

Eine Sache sollte ich aber noch ergänzen um aufzuzeigen, dass die Diskussion über die Lesefähigkeit von der D-Leitung bei den Problemen, die mich aktuell interessieren irrelevant ist. Verwende ich an der Stelle der Roco/FL App die Stärz App, so ist die WLAN-Verbindung weitgehend stabil. Weitgehend nur insofern, als dass sie jetzt nur noch abbricht, wenn ich alle 4 potentiellen WLAN-Clients mit dem WLAN-SX-Adapter verbinde und bei allen für längere Zeit den Datenmonitor laufen lasse. Müßig zu sagen, dass bei der WLAN App von Stärz auch die Bits synchronisiert werden, die Belegtmeldungen repräsentieren.

Genau dies sind aber die Dinge, die ich im Zusammenspiel mit der Roco/FL App zusammen mit einer besseren Performance vermisse. Diese App bevorzuge ich wegen des aufwendigeren, schöneren HMI (Fahrregler mit Zusatzfunktionen und Lokbild, etc., Stellwerk) und der Bedienung jedoch. Leider findet im WLAN-SX-Adapter nicht die umfassende und stabile Protokollumsetzung des XpressNet (/LocoNet) Protokolls auf das SX-Protokoll statt, auf die ich gehofft hatte. Die WLAN multiMaus scheint hier offensichtlich deutlich weniger anspruchsvoll zu sein als die Roco/FL App, da diejenigen, die die multiMaus zusammen mit dem WLAN-SX-Adapter verwenden, ja sehr zufrieden zu sein scheinen.

Ich würde mich sehr freuen, wenn andere User, die den WLAN-SX-Adapter ebenfalls im Einsatz haben hier ihre Erfahrungen schildern würden. Sowohl im Zusammenspiel mit der multiMaus als auch mit der Roco/FL App. Ich hoffen nach wie vor, dass Stärz die Firmware des µC und des WLAN-Moduls noch einmal aktuallisiert.

Beste Grüße
Werner
Zuletzt geändert von sx2user am 16. Juni 2020, 21:43, insgesamt 2-mal geändert.
SX Nutzer seit 1986
Komponenten von: Trix, D&H, MUET, Rautenhaus, Uwe Magnus, digit electronic, Stärz, Joachim Havekost
Software/Tools: Railroad & Co. (Demo, gold), D&H Tools, TMSC2, Staerz Decoder Programmer
Moba: H0 Mittelleiter, Fahrzeuge überwiegend Märklin aber auch einiges von Roco und Piko
Anlage: keine, z.Zt. nur größere Testaufbauten
Gleisprotokoll: bevorzugt nur SX (SX1/SX2). Teste oft aber auch den Mischbetrieb mit DCC und gelegentlich auch noch mit MM
Benutzeravatar
schnorpser
Administrator
Beiträge: 219
Registriert: 12. Dezember 2011, 11:43
Wohnort: Radeberg
Kontaktdaten:

Re: Gelöscht

Beitrag von schnorpser »

Hallo Werner und Wilhelm,

vielen Dank für Eure interessanten Beiträge rund ums Thema "SX2-Buserweiterung". Sehr gut erklärt!


Dankende Grüße,
SX1-Norbert
Admin Forum MEC Arnsdorf
Selbstbauelektronik für SX: http://www.norbert-martsch.de
Hardware: CC2000 (mit/ohne Update-Chip), FCC, RMX, MC2004, versch. Interfaces & Decoder sowie Encoder, Selbstbauelektronik, vorrangig D&H Lokdecoder, Software: TC, RocRail, MoBa in H0 und N
Digit-Electronic
Beiträge: 40
Registriert: 13. Juni 2016, 08:05
Kontaktdaten:

Re: Stärz WLAN-SX Modul

Beitrag von Digit-Electronic »

Hallo Werner,
Es geht hier einzig und alleine um die 4-Präambel-Bits.
Nicht allein um die 4Bit Präambel, sondern alle SX2-Erweiterung zwischen T1 und D lesen.
Alle anderen, weiteren Daten, (aktivierte Adresse und Nutzdaten) werden unmittelbar nach der Belegung einer SX2-Erweiterung von einer SX2-Zentrale von der D-Leitung übernommen und dann auf der T1-Leitung ausgegeben.
Nicht allein von der Zentrale, sondern vom Regler 1 und von der Zentrale.

Wenn der Regler 2 eine SX2- oder DCC-Lok vom Regler 1 annimmt, dann an die D-Leitung senden. Nicht an die T1-Leitung ausgeben.
Danach blinkt der Regler 1 die SX2- oder DCC-Lokadresse im Display auf.

Viel Spass an die SX2-Erweiterung experimentieren. :D :ugeek:

Hallo Norbert,

danke.

Gruß
Wilhelm
Zuletzt geändert von Digit-Electronic am 17. Juni 2020, 15:10, insgesamt 1-mal geändert.
sx2user
Beiträge: 21
Registriert: 25. Februar 2020, 16:20

Re: Stärz WLAN-SX Modul

Beitrag von sx2user »

Hallo Wilhelm und Interessierte,

das Thema inwieweit ein SX2-fähiges Steuergerät die D-Leitung bidirektional bedienen können muss/sollte, hat ganz offensichtlich doch noch einigen Diskussionsbedarf.

In meinen vorangegangenen Posts habe ich erläutert, dass diese Funktionalität für die Verwendung einer bereits verwendeten SX2-Buserweiterung (nennen wir es mal kürzer SX2-Kanal) immer dann erforderlich ist, wenn der geöffnete SX2-Kanal lediglich gesetzte Adresse-Bits aufweist. Alle Nutzdaten-Bits aber log. 0 sind. Exakt in dieser Konstellation steht die Info, für welchen Anwendungszweck der SX2-Kanal reserviert ist, nicht in den SX2-Präambel-Bits auf der T1-Leitung bereit und muss von der D-Leitung gelesen werden.

Ist einem SX2-Steuergerät der Verwendungszweck eines offenen SX2-Kanals nicht bekannt, so droht eine zusätzliche Belegung eines SX2-Kanals, wenn an einem weiteren SX2-Steuergerät die gleiche Adresse (exakter die gleichen Adress-Bits; SX2, DCC, MM kodieren diese ab 100 unterschiedlich in den SX2-Kanal) eingegeben wird, die auch schon in dem vorhanden SX2-Kanal zur Anwendung kommt.

Für den Fall, dass das zweite Gerät den gleichen Verwendungszweck (SX2, DCC kurz | lang, 28FS | 128 FS, MM, Prog., etc.) nutzen möchte, müsste es einfach den bereits vorhandenen SX2-Kanal bedienen. Für den Fall, dass zwar eine identische Adresse (s.o.) aber ein anderer Verwendungszweck vorgesehen ist (also Gerät 1 nutzt in einem SX2-Kanal bereits Adresse 17 und jetzt wird an Gerät 2 die Adresse 17 für eine DCC-Lok mit 28FS aufgerufen) müsste ein neuer bisher freier SX2-Kanal geöffnet werden. In diesem Fall droht Ungemach, falls ein SX2-Steuergerät nicht von der D-Leitung lesen kann. Nur dort liegt der Verwendungszweck eines SX2-Kanals im Gegensatz zur T1-Leitung immer vor.

Wilhelm brachte nun einen weiteren Aspekt in die Diskussion, indem er darlegte, dass das SX2-Steuergerät auch alle weiteren Bits eines SX2-Kanals von der D-Leitung lesen können muss.
Digit-Electronic hat geschrieben: 16. Juni 2020, 13:01 Nicht allein um die 4Bit Präambel, sondern alle SX2-Erweiterung zwischen T1 und D lesen.
Dies sehe ich nicht so. Ich muss allerdings gestehen, dass es von Vorteil ist, wenn es auch weitere Bits von der D-Leitung lesen kann. Exakter gesagt die Bits, die die SX2-Adresse enthalten. Warum denn das?

Dazu muss ich etwas ausholen. Der SX2-Anteil im SX-Bus unterscheidet sich von dem des SX1-Anteils dadurch, dass hier nicht pauschal für alle potentiellen Verwendungszwecke (16 Stk.) und alle Adressen (10.000) entsprechend viele Slots bereitgestellt werden. Dies würde zu gigantischen Busumlaufzeiten führen. Bei SX1 gibt es keinen speziellen Verwendungszweck eines Slots und es stehen ja nur 112 (0..111) Adressen bereit. Hier kann man sich noch den Luxus gönnen für jede Adresse einen Slot (also 112 Stk.) am SX-Bus bereitzustellen und einfach stur kreisen zu lassen.

Mit den SX2-Slots ist die Sache deutlich komplexer. Pro SX-Bus (typisch 2 Stk.) stehen nur 16 Slots zur Verfügung. Gute Zentralen hängen dazu an den 16 SX1-Fames zunächst nur 6 Bits an, in den dann die 4 Präambel-Bits liegen. Zunächst ist ein SX2-Slot also verdammt kurz und kann gar keine Nutzbits aufnehmen. Grundsätzlich steht die SX2-Funktionalität aber schon bereit und wartet nur auf ihre zweckdienliche Verwendung.

Dazu verlängern diese Zentralen den SX2-Slot unmittelbar um weitere 60 Bits, wenn sie von einem SX2-Steuergerät Präambel-Bits für eine bestimmte Betriebsart (Verwendungszweck) empfangen. Das "weiß" und nutzt das Steuergerät und schreibt dort direkt die SX2/DCC/MM-Adresse rein, die es ansprechen/adressieren möchte.

Jetzt zu der Frage, warum sollte das Gerät die Adress-Bits den lesen können, es weiß doch was es reinschreibt? Zudem liefert die Zentrale die Adresse doch im nächsten Buszyklus auf der T1-Leitung an.

Um dies besser zu verstehen, nehmen wir mal an, 15 der verfügbaren 16 SX2-Slots an einem SX-Bus wären schon belegt und somit nur noch einer frei. Jetzt gehen mehre Personen (im Modellbahn Club) hin und rufen an ihren Steuergeräten weitere SX2/DCC/MM-Adressen auf. Man ahnt es schon. Es kommt zu einem Wettlauf um den einen noch freien SX2-Slot. Wer wird gewinnen? Was wird passieren? Systemabsturz? Reboot der Steuergeräte?

Ich hoffe doch nichts von alldem. Das potentielle Chaos muss abgefangen werden. Dazu benötigt man eine Zugriffsverwaltung für die SX2-Slots. Also eine Administration die regelt, welches Gerät darf zu welchem Zeitpunkt welchen SX2-Slot verwenden. Für die SX1-Anteile ist sowas natürlich nicht erforderlich. Hier hat jede Adresse ja einen eigenen Slot und jedes Gerät darf lesend und/oder schreibend darauf zugreifen.

Wie könnte so eine Zugriffsverwaltung den aussehen? Nun eine Variante wäre, man checkt einfach ob bei dem SX2-Slot-Zugriff eine Kollision stattgefunden hat (ähnlich zu CSMA/CD bei Ethernet). In einer vorangegangenen Post habe ich bereits geschrieben, dass man dies z.B. daran erkennen kann, dass die Zentrale eine andere Adresse auf der T1-Leitung zurückgibt als jene, die die jeweiligen SX2-Steuergeräte dort eingetragen haben.

Eine elegantere Variante zu diesem Verfahren ist: Man prüft direkt, ob das jeweilige Bit was ein Gerät gerade geschrieben hat auf dem SX-Bus auch tatsächlich zur Wirkung kommt. Wie kann man das machen? Nun für eine log. 0 am SX-Bus zieht ein Gerät intern die D-Leitung auf nahezu 0V herunter und für eine log. 1 hebt es das Potential intern auf ~5V hoch und gibt diesen Pegel über einen 100 Ohm Widerstand dann aus.

Überwacht das Gerät nun hinter dem Ausgangswiderstand, also direkt auf der D-Leitung ob der Pegel dort auf high geht, dann wurde das Bit angenommen. Ist der Spannungspegel aber auf low, dann wurde die Leitung von einem anderen Gerät in diesem Moment auf low gezogen und das Bit somit überschrieben. Low (log. 0) ist also dominant gegenüber high (log. 1) {hatte ich in meinem vorangegangenen Post falschherum aufgeführt, habe es dort korrigiert].

Ein SX2-Steuergerät, welches die D-Leitung bidirektional nutzen kann, hat also den Vorteil, dass es unmittelbar nach der Ausgabe von jedem einzelnen Adressbit bereits erkennen kann, ob es bei der Reservierung eines SX2-Slots zu einer Kollision kam und kann damit seine weitere Datenausgabe direkt abbrechen. Dies hat nicht nur den Vorteil, dass eine derartige Kollision früher erkannt wird, sondern es gewährt einem anderen Gerät damit auch charmant den Vortritt. Dieses SX2-Busgerät kann damit mit der Belegung des in Konkurrenz stehenden SX2-Frames unbeeinflusst fortfahren. Dieses Verfahren ähnelt dem, welches auch z.B. beim CAN-Bus zum Einsatz kommt und als CSMA/CA bezeichnet wird.

Um es noch einmal deutlich zu sagen. Für bestimmte Situation ist es unabdingbar, dass ein SX2-Steuergerät von der D-Leitung lesen kann und für bestimmte andere Situation stellt es einen markanten Vorteil dar. Der WLAN-SX-Adapter von Stärz verfügt soweit erkennbar über keine Hardware, um von der D-Leitung lesen zu können.

Zu welchen Ungereimtheiten es dadurch bei der Belegung von SX2-Slots kommen kann, habe ich noch nicht untersucht, da ich derzeit nicht mit den SX2-Erweiterungen experimentiere 😉. Dem Thema werde ich mich aber bei nächster Gelegenheit noch zuwenden. Aktuell beschäftigen mich allerdings noch die anderen bereits kommunizierten Punkte bei diesem Gerät.
sx2user hat geschrieben:
Alle anderen, weiteren Daten, (aktivierte Adresse und Nutzdaten) werden unmittelbar nach der Belegung einer SX2-Erweiterung von einer SX2-Zentrale von der D-Leitung übernommen und dann auf der T1-Leitung ausgegeben.
Digit-Electronic hat geschrieben: 16. Juni 2020, 13:01 Nicht allein von der Zentrale, sondern vom Regler 1 und von der Zentrale.
Ein Regler (SX2-Steuergerät) schreibt auf die T1-Leitung!? Interessant. Verstehe ich nicht. Muss ich aber auch nicht. Welches SX2-Steuergerät hat denn die dazu erforderliche Hardware HR4000? Da muss ich doch mal nachsehen.

P.S.: Kleine Bitte an den Admin, falls er hier mitliest.
Wäre nett, wenn der Thread auf der Übersichtsseite nicht den Betreff „Gelöscht“ tragen würde.
Falls möglich und wenn keine schwerwiegenden Gründe dagegen sprechen sollte dieser zurück auf den Ursprungstitel „Stärz WLAN-SX Modul“ gesetzt werden. Danke.

Beste Grüße
Werner
SX Nutzer seit 1986
Komponenten von: Trix, D&H, MUET, Rautenhaus, Uwe Magnus, digit electronic, Stärz, Joachim Havekost
Software/Tools: Railroad & Co. (Demo, gold), D&H Tools, TMSC2, Staerz Decoder Programmer
Moba: H0 Mittelleiter, Fahrzeuge überwiegend Märklin aber auch einiges von Roco und Piko
Anlage: keine, z.Zt. nur größere Testaufbauten
Gleisprotokoll: bevorzugt nur SX (SX1/SX2). Teste oft aber auch den Mischbetrieb mit DCC und gelegentlich auch noch mit MM
Digit-Electronic
Beiträge: 40
Registriert: 13. Juni 2016, 08:05
Kontaktdaten:

Re: Stärz WLAN-SX Modul

Beitrag von Digit-Electronic »

Hallo Werner,

verstehen Sie nicht? Warum?
Ein Regler (SX2-Steuergerät) schreibt auf die T1-Leitung!? Interessant. Verstehe ich nicht.
Ich habe "auf die T1-Leitung" nicht geschrieben und glaube, dass Sie die Leitungen verwechseln haben?

Der Handregler im SX-Bus steht:
T0 = Nur Lesen
T1 = Nur Lesen
D = Beide Schreiben und Lesen (Bidirektional)

Die Zentrale im SX-Bus steht:
T0 = Nur Schreiben
T1 = Nur Schreiben
D = Nur Lesen (KEIN SCHREIBEN!)

Die beide Geräte HR4000 und TRIX CH2000 haben gleiche SX-Anschlüsse.

Gruß
Wilhelm
Zuletzt geändert von Digit-Electronic am 17. Juni 2020, 15:10, insgesamt 1-mal geändert.
sx2user
Beiträge: 21
Registriert: 25. Februar 2020, 16:20

Re: Stärz WLAN-SX Modul

Beitrag von sx2user »

Hallo zusammen,

Nachdem aus der hier geführten Diskussion ja klar hervorgeht, dass es ein großer Vorteil, um nicht zu sagen ein Muss ist, dass ein SX2-fähiges Steuergerät auch von der D-Leitung lesen kann, stelle ich nachfolgend mal einen Schaltplan ein, der aufzeigt wie die Busanschlussschaltung nach meiner Auffassung prinzipiell aufgebaut sein sollte/könnte.

Bild
Fehler links bei der SX-Bus Anschlussbezeichnung! Dort muss natürlich Stecker und nicht Buchse stehen.

Wichtig erscheint mir in diesem Kontext darauf hinzuweisen, dass die Auswertung des Signals auf der D-Leitung identisch erfolgt zu der, die auch für die T0- und T1-Leitung zur Anwendung kommt. Also der Eingang des Komperators ist über einen 22k Ohm Widerstand direkt mit der von außen zugeführte D-Leitung verbunden.

In den geradezu unendlichen Weiten des WWW findet man auch rudimentäre Darstellungen, bei denen der Komperatoreingang für das Lesen von der D-Leitung geräteintern das eigene Schreibsignal abgreift, bevor es über einen 100 Ohm Widerstand nach außen auf die D-Leitung gegeben wird. Damit funktioniert das Lesen von der D-Leitung zwar auch, aber die in meiner vorangegangenen Post beschriebene Kollisionserkennung (ähnlich zu CSMA/CA wie bei CAN) funktioniert damit nicht.

Auch liegt damit von außen betrachtet kein 22k Ohm Widerstand mehr vor dem Komperatoreingang sondern nur noch 100 Ohm. Das ist bei Anlagen mit umfassendem SX-Bus auch nicht gerade förderlich für die Qualität des Bussignals. Es hat schon einen Grund warum (zumindest alle mir bekannten SX-Geräte) 22k Ohm Widerstände an ihren Leseeingängen haben. Interessierte können ja mal oszillographieren, wie das Bussignal aussieht, wenn man die Widerstände vor den Komperatoreingängen überbrückt.

Beste Grüße
Werner
SX Nutzer seit 1986
Komponenten von: Trix, D&H, MUET, Rautenhaus, Uwe Magnus, digit electronic, Stärz, Joachim Havekost
Software/Tools: Railroad & Co. (Demo, gold), D&H Tools, TMSC2, Staerz Decoder Programmer
Moba: H0 Mittelleiter, Fahrzeuge überwiegend Märklin aber auch einiges von Roco und Piko
Anlage: keine, z.Zt. nur größere Testaufbauten
Gleisprotokoll: bevorzugt nur SX (SX1/SX2). Teste oft aber auch den Mischbetrieb mit DCC und gelegentlich auch noch mit MM
Antworten