Programmierung eines ESTW

Stand: 08.06.2016

Fortschritte

Neues Projekt für eine Version 2: In Planung befindet sich eine neue Version, die ohne die ISA-Steckkarte auskommen soll. Ich experimentiere nun mit der MpC-Hardware Steuerung via USB mit Windows XP bis Windows 10 und PCI-Karten.
Ausreichend schnelle USB-Module zu einem akzeptablem Preis habe ich bisher nicht gefunden. Aber Versuche mit einer PCIe-Karte waren erfolgreich!

18.04.2016 Es gibt eine neue Möglichkeit falls entsprechend verdrahtet: Ein Zug kann jetzt in einem Block geparkt werden, z.B. im Halteabschnitt. Die Stromzufuhr vom Block zum Belegtmelder muss in diesem Fall mittels (Kipp-) Schalter unterbrochen werden. Im Blockformular wird im Feld "Zug parken" ein Haken gesetzt, damit ist der Block zum Parken eingerichtet. Durch Anklicken der Zugnummer oder Betätigen der Taste "Zug Inaktiv" wird der Zug jetzt geparkt. Der Fahrstrom muss unterbrochen werden. Vom Programm wird neben den Haken die Zugnummer vermerkt und der Block für andere Züge freigegeben. Es sind aber mit Rangierstrassen möglich in den Block einzufahren weil der Block weiterhin besetzt bleibt.

Dann kann ein zweiter Zug in den Block einfahren, idealerweise von der entgegengesetzten Seite - Beispielanwendung ist der Lokwechsel im Kopfbahnhof wegen Richtungswechsel.

Die neue Lok kuppelt an und verlässt den Block. Nun die geparkte Lok durch durch Anklicken der Nummer (rot) wieder aktivieren und Fahrstrom einschalten. Im Blockformular wird vom Programm die Nummer des geparkten Zuges eingetragen.

Es gab noch ein paar kleine Korrekturen, unter anderem wurde in dieser Version ein Fehler abgefangen, der entstand wenn in Fahrstrassen unter Weichen Leerzeichen eingegeben wurden.

17.10.2015 Fahrplanmodul vollständig überarbeitet: Neue Befehle hinzugefügt, vereinfachtes Zuweisen der Fahrplannummern, Automatische Routenzuweisung auf Tastendruck. Dafür gibt es einen neuen Menüpunkt unter Fahrplan. Zusätzlich wurden verschiedene Optimierungen innerhalb des Programms vorgenommen.

14.08.2015 Kleine Korrektur für Doppeltrennstellen mit Richtungswechsel: Bei Wechsel der Fahrtrichtung wurde die Richtung innerhalb der Fahrstrasse nicht richtig umgesetzt. Beispieldateien neu umgesetzt, neue ini-Datei.

14.05.2015 Neu vereinfachte Ansteuerung des Paternoster: Am Stellpult kann nun einfach die Nummer des Paternostergleises eingegeben werden (456-599), wie Fahrreglerauswahl (001-400). Damit wird entweder die Fahrstrasse zum Paternoster gestellt, wenn das Gleis leer ist oder die Fahrstrasse aus dem Paternoster zur Anlage, wenn im Gleis ein Zug steht. Damit das Programm den zugehörigen Fahrstrassenbefehl konstruiert müssen in der Konfiguration auf der Sonstiges die Einträge für Paternoster eingegeben sein, z.B.: Bereich 30, Einfahrsignal PA, Ausfahrsignal PE, ergibt die Fahrstrassenbefehle (Kennung) 30PA.30501 oder 30501.30PE für Paternostergleis 501.

29.04.15 Eine wichtige Korrektur bei der Berechnung der Eingabedatenbytes, diese wurden unter bestimmten Bedingungen falsch berechnet, dadurch wurden Belegtmelder nicht ausgewertet.
Dann eine eine Änderung in der in der internen Warteliste, unter unglücklichen Bedingungen konnten hier Befehle mehrfach abgelegt werden - der Fehler wurde behoben. Zusätzlich gibt es einen neuen Menüpunkt unter "Reset", "Warteliste leeren": Damit wird die Warteliste ohne Rückfrage geleert, Fahrstrassen müssen evtl. neu gestellt werden. Der Fahrbetrieb wird sicherheitshalber angehalten.
Wenn ein Sperrsignal gesperrt wird, wird der Text nun ebenfalls rot hinterlegt.
In der Konfiguration wird jetzt beim Aufruf eines Zuges das zugehörige Bild angezeigt.

29.10.11 Wichtiges Update für Versionen nach dem 12.08. Bei einer Änderung hatte sich ein Fehler eingeschlichen, der zu Unfällen führen kann. Das Hilfsblockrelais wurde nicht immer abgeschaltet, dadurch konnten Züge unkontrolliert fahren.

14.10.11 Diverse kleinere Anpassungen durchgeführt und einige Erweiterungen:
- Im Dateimenü: "Laden direkt" und "Sichern direkt" hinzugefügt, damit werden die letzten benutzten Dateien geladen und gespeichert (geht schneller)
- Bei Programmende wird nur noch nachgefragt, wenn vorher noch nicht gespeichert wurde, wenn noch Konfiguration aktiv war oder wenn der Zugbetrieb noch nicht beendet wurde.
- Ab einer ausreichenden Bildschirmgröße kann auf Wunsch (Eintrag "Fotos anzeigen" auf der Config-Seite) ein Bild angezeigt werden. Die Fotos müssen in einem separaten Unterverzeichnis mit dem Namen "Fotos" im Programmverzeichnis liegen liegen. Der Namen der Bilder müssen Z1.jpg bis Z399.jpg lauten, die Nummer ist die Fahrreglernummer ohne führende Nullen. Die Bilder haben 408 x 121 Pixel.
- Im Config-Menü können nun eigene Farben eingestellt werden, Schalter "Farben". Es gibt 6 Farben für Gelb, Blau, Grün, Rot, Hintergrund und Text (= Weiss).
- Im Stellpult wurde eine zusätzliche Taste und Led hinzugefügt "Zug inaktiv". Das ist die gleiche Funktion, die am Bildschirm mit dem Text "ZugNr." geschaltet wird. Mit einem Klick auf "ZugNr." wird ein Zug inaktiv geschaltet, der Text wird in rot angezeigt und die Led im Stellpult leuchtet. Ein neuer Klick schaltet den Zug wieder aktiv. Ein inaktiver Zug wird aus der Zugliste entfernt und steht im Zugspeicher (falls eingerichtet) und umgekehrt.
- Mit dem Befehl "ZN" im Popup-Menü eines Hauptgleises (Block) gefolgt von Taste "Verarbeiten" kann nun zusätzlich der Zug ausgewählt werden, der sich in diesem Block befindet, egal ob aktiv oder inaktiv.

14.09.11 Bahnübergang-Steuerung überarbeitet, getrennte Schaltpunkte je nach Fahrtrichtung eingebaut (fehlte bisher), die normale Ansteuerung über Fahrstrassen blieb davon unberührt.
Listenausgabe überarbeitet und ergänzt, besonders für Led und Taster.
Neu eingebaut Schalter (Taster) "Fahrstrasse halten": Die Fahrstrassen werden bei gesetztem Schalter nicht zugbewirkt aufgelöst, das erfolgt erst wenn der Schalter wieder zurückgestellt wird oder manuell. Das ist manchmal hilfreich, wenn in kurzen Blöcken rangiert wird.
Im Block kann nun eine Gleislänge in cm eingegeben werden, auch für die Züge, kann eine Länge angegeben werden. Wenn eine Gleislänge definiert ist, prüft das Programm, ob der Zug in den Zielblock passt. Wenn der Zug für diesen Block zu lang ist, bekommt er keine Fahrerlaubnis. Das ist nur für Schattenbahnhöfe und Paternosterblöcke gedacht. Es wird eine Meldung ausgegeben, wenn der Zug zu lang ist. Eine bereits eingestellte Fahrstrasse muss von Hand zurückgenommen werden.

12.08.11 In die Eingleisige Strecke Led-Anzeige für Stellpult eingebaut (fehlte noch). Zusätzliche Abfragen eingebaut für Weichen und Melder - Menü Konfiguration.
Signalanzeige im Stellpult erweitert, Led für Einzelnothalt hinzugefügt: dafür musste die Datenstruktur erweitert werden, vorhandene Daten müssen deshalb mit der aktuellen Version des Datenumsetzters umgesetzt werden.
Die Fahrstrassenauflösung wurde erweitert; bei verschmutzen Schienen oder verlorenem Wagen konnten Fahrstrassen "hängen" bleiben. Diese werden nun nach Beseitigung der Ursache automatisch aufgelöst.
Ein interner Fehler bei der Rückstellung der Signale in bestimmten Situationen wurde behoben.
Anzeige der 2. Fahrstrasse wurde nicht immer aktualisiert.

04.08.11 Nummern für die Taster/Schalter der Hilfsblöcke an MpC angepasst, die Nummerierung begann bisher bei 201 und beginnt nun wie bei der MpC mit 257. Das war im Programm irreführend weil in der Statuszeile als Hilfe bereits Nummern ab 257 angezeigt wurden. Der Programmteil 'Fehler suchen' wurde entsprechend überarbeitet.
Ich habe außerdem die Befehle AZG überarbeitet.

04.12.09 Fehler bei Neuanlage Fahrstrassen behoben, war bei der letzten Änderung entstanden.

08.11.09 Weitere grundlegende Erweiterung und Optimierung, nach außen kaum sichtbar aber mit viel Programmieraufwand verbunden: Menüpunkt "Alles schließen" unter Daten ermöglicht es neue oder andere Dateien zu laden ohne Neustart des Programms. So nebenbei wurde die Handhabung des Zugspeichers verbessert.
Einstellungen für Lupe und Berü können nun ohne Neustart geändert werden, dabei wurde ein Fehler bei der Darstellung Eingleisiger Strecken beseitigt. Ab dieser Version ist es möglich zwei Monitore zu nutzen, dafür ist das Auswahlmenü ESTW auf der Konfiguration weggefallen, die Auswahl erfolgt nur noch über das Hauptmenü oder die Cursortasten.

02.11.09 Programm weitgehend überarbeitet, Befehle AZG, FAE und FHAE eingebaut und getestet, kleinere Fehler behoben, Handbuch überarbeitet und erweitert. Die Zugnummernanzeige zeigt nun den Zustand des Zuges an, Rot = Zug steht, Gelb = Zug fährt, Weiß = Gleisnummer - kein Zug. Der Editor gibt nun eine Wahrung aus, wenn Änderungen nicht gesichert wurden.
Dazu kommt eine große Änderung, die auch eine Umsetzung bisheriger Daten erforderlich macht: Die Anzeige der Weichen mit Flankenschutz wurde nun an das Vorbild angepasst. Ab dieser Version haben Weichen, die Schutz bekommen einen grünen Text, die Schutz gebenden Weichen zeigen die normale Textfarbe. Mit den Befehlen FAE und FHAE ist nun eine teilweise Auflösung von Fahrstrassen möglich. Dadurch kann der bereits aufgelöste Teil einer Fahrstrasse wieder von anderen Fahrstrassen belegt werden. Die Liste der Weichen in der Fahrstrasse muss dafür eine strickte Reihenfolge einhalten: Erst die Weiche, die Schutz bekommt gefolgt von einer Ziffer, die die Anzahl der nachfolgenden Schutzweichen angibt (meist 1 oder 2). Die Schutzweichen müssen unmittelbar hinter der zu schützenden Weiche aufgeführt werden mit kleinen Buchstaben für die Richtung. Eine Überarbeitung dieser Liste ist nur erforderlich, um die Befehle FAE und FHAE zu nutzten.
Die beiden Tabellen Überblöcke und die Weichenliste haben ein Popup-Menü bekommen, damit ist es möglich Zeilen einzufügen und zu entfernen.
Es gab auch noch eine Reihe weiterer Optimierungen, mehrere Fehler wurden behoben - z.B. im Simulationsteil.

14./08.10.09 Fehlermeldungen verfeinert, Hilfedatei und Handbuch leicht überarbeitet. Die Funktionen Gleise löschen, Signale löschen, Fahrstrassen löschen funktionierten noch nicht richtig, die Fehler wurden behoben und diese Funktionen komplettiert. Die Funktion Grundstellen wurde intern erweitert und komplettiert.

06.10.09 Kleinere Fehler in der Funktion FHA (Fahrstrassen hilfsweise auflösen) entdeckt und beseitigt: Die Zugtabelle wurde nicht korrekt zurückgesetzt und dadurch waren auch die Angaben im Fahrregler falsch. Bei eingestellter Abfahrverzögerung kombiniert mit Rangierfahrt fuhr der Zug nicht sauber.

30.09.09 Für Kreisspezialisten habe ich die Darstellungsmöglichkeiten erweitert: Nun können auch Signale der Typen 2 (Einfahrsignale) und 3 (Blocksignale) senkrecht dargestellt werden, auch die Vorsignale (Typ 9) können nun an senkrechten Gleisen platziert werden. Zusätzlich habe ich das Handbuch etwas ergänzt. In der Konfiguration auf Seite MPC 2 gibt es nun zusätzliche Anzeigeoptionen, um die Entwicklung neuer Stelltischbilder zu erleichtern (Siehe Handbuch Seite 48).
Die Möglichkeiten bei der Darstellung von Gleisen wurde verbessert und kleine Korrekturen vorgenommen. Im Handbuch gibt es dazu einige Beispiele im Kapitel 8.10. Ein einfaches Ausfahrsignal (Typ 1) kann nun auch ein Vorsignal am Mast haben.

24.09.09 Eine kleine Erweiterung ist hinzugekommen: Die Weichen vom Typ 4 bis 7 können nun auch mit einem Abstand von 3 angelegt werden. Dadurch kann die Weiche einen Abstand von 2 Gleisen überwinden, bisher war nur ein einfacher Abstand möglich. Für die Signale von Typ 2,3,4 (Ausfahr-, Einfahr- und Blocksignale war es bisher möglich auch Rangierstrasse zu beginnen (blauer Rahmen), wenn das Programm im Rangierstrassenmodus war, jetzt sind nur noch Fahrstrassen möglich (grüne Markierung).

07.03.09 Nun ist das Programm auch Vista-tauglich. Mein Computer hatte schlappgemacht, dadurch war ich gezwungen mir einen neuen anzuschaffen und auch Vista zu akzeptieren. Meine Programmierumgebung war aber bereits für Vista ausgelegt, so dass die Umstellung kein Problem war, lediglich der Porttreiber musste upgedatet werden.
Hinzugekommen ist außerdem eine individuelle Zeiteinstellung der Weichenkarten auf der Konfigseite der Weichen zu erreichen - dadurch die größere Ini.

04.1.09. In den letzten zwei Tagen habe ich die Möglichkeit eingebaut für die Weichenkarten unterschiedliche Schaltzeiten eingeben zu können. Zu den Einstellungen kommt man in der Konfiguration auf der Seite Weichen. Der Schalter "Details" zeigt die neuen Eingabemöglichkeiten.
Ob das auch mit der Hardware funktioniert konnte ich noch nicht austesten - es könnte noch eine kleine Anpassung des Schaltmoduls erforderlich werden. Ich bitte um diesbezügliche Rückmeldung, speziell für motorisch angetriebene Weichen.

16.4.08. Nachdem die Version 1 fertig ist und auch funktioniert, habe ich erst mal eine Pause gemacht. Aber nun geht es weiter mit den
Automatiken. Was alles geplant ist habe ich auf einer neuen Seite beschrieben, das Konzept nimmt so langsam Formen an.

16.01.08. Das Programm wurde auf die aktuelle Delphi Version portiert und ist damit für die Zukunft gerüstet: Es ist damit auch für Vista geeignet - es gibt aber noch keinen Test mit Vista da mir kein geeigneter Rechner zur Verfügung steht. Mit der Umstellung auf Delphi 2007 hat sich die Optik etwas verändert, auch intern hat sich einiges getan.
Das Laufzeitverhalten wurde erstmalig nach Engpässen untersucht und sehr stark optimiert: Es gibt fast keine Geschwindigkeitseinbußen mehr, wenn mehrere Züge gleichzeitig laufen. Die angezeigten Umläufe (im Leerlauf) liegen auf meinem System immer zwischen 40000 und 60000 Umläufen mit der ISA-Karte. Mit der LPT-Karte liegt diese Zahl zwischen 20 und 30, das hängt mit der Eigenart der LPT-Schnittstelle zusammen.
Durch die neue Delphi-Version benötigt das Programm mehr Zeit zum runter fahren, deshalb wird das Fenster dabei minimiert angezeigt.
Es gibt noch weiteres Potential für mehr Tempo im Programm, für künftige Entwicklungen ist somit noch reichlich Platz.

06.01.08. Die Messeanlage der MPC wurde beispielhaft einmal konfiguriert. Die Simulation wurde vollständig überarbeitet und bei der Konfiguration der Messeanlage gefundene Fehler beseitigt. Es gab kleinere Verbesserungen, die gefundenen Fehler waren im Selbststellbetrieb mit gleichzeitiger Doppeltrennstelle und Richtungswechsel. Außerdem konnte eine Hauptblock unter bestimmten Umständen für zwei Züge zuständig sein.

30.12.07 Version 1.0. Es hat noch einmal einige Änderungen gegeben: So sind jetzt Vorsignale für komplexe Situationen enthalten, dafür musste die Datenstruktur noch einmal erweitert werden. Zu Anpassung bereits existierender Daten gibt es den Umsetzter1. Einige Programmteile wurden überarbeitet. Das Handbuch ist überarbeitet, trägt aber noch die Aufschrift 'Entwurf'. Der Hilfedatei wurde erweitert, enthält aber weniger Informationen als das Handbuch.

18.11.07 Die LPT-Schnittstelle funktioniert nun auch, die angezeigte Lizenznummer sollte für die ISA-Karte korrekt sein, ohne Karte wird im Moment 165535 angezeigt. Ein paar kleine Fehler wurde bereinigt. Die Anleitung für die Portumstellung fehlt noch, ist aber selbsterklärend. Für ISA kann noch keine andere Adresse eingestellt werden.
Der nächste Projektpunkt sind jetzt die Vorsignale: Die sollen wie alle anderen Signale ebenfalls über die Fahrstrasse angesteuert werden (anders als bei der MPC). Das bedingt eine größere Programmumstellung, um möglichst alle Varianten zu erfassen.

13.11.07 Neu hinzugekommen sind Automatikfunktionen wie Ausweichautomatik, Ausfahrautomatik (auch Staffellauf), Aufrückautomatik, Selbststellbetrieb gab es schon. Schalter können nun auch verarbeitet werden. Vereinfachter Fahrbetrieb für Nebengleise z.B. eine Fabrik. Es gibt nun 2 Arten von Rangierfahrstrassen mit und ohne automatische Fahrstrassenauflösung. Der Bereich Links suchen wurde überarbeitet und vervollständigt. Die Löschfunktionen wurden komplettiert. Solltempo wird nun auch im Fahrpult angezeigt (analog MPC). Außerdem sind verschiedene Optimierung erfolgt und kleinere Fehler beseitigt.
Erstmals steht jetzt auch ein kleines Umsetzprogramm für Daten der Vorgängerversion zum Download zur Verfügung, da sich die Datenstruktur geändert hat.
Das Handbuch wurde ebenfalls erweitert und aktualisiert.

12.10.07 Erstes Handbuch im PDF-Format, der Bereich Beispiele wird noch erweitert.

07.10.07 Drehregler funktioniert nun. Rangiermodus überarbeitet, weniger Restriktionen, und Verbesserungen in Details. Inzwischen sind für meine Anlage 430 Fahrstrassen angelegt und funktionieren. Zurzeit arbeitet ich an einem Handbuch.

01.10.07 Die Struktur dieser Homepage wurde überarbeitet. Neu im Programm: Entkuppler steuern (unter Sonstiges), dazu überarbeitet: Daten laden, Lok umsetzten über Mittelweiche (Beschreibung in der Hilfedatei), Fahrstrassen zusätzlich Bedingungen eingerichtet (Melder 1 und 2 frei), Signal Typ 7 auch Ziel für Rangierstrassen, Geschwindigkeit +/- Tasten funktionieren nun, betätigte Taster werden auf der Konfigseite angezeigt, einige Korrekturen und Optimierungen. Hilfedatei angepasst und erweitert.

26.09.07 Inzwischen hat sich eine Menge getan: Alle Elemente wurden noch einmal überprüft und hinsichtlich ihrer Positionierung auf der Berü überarbeitet, dadurch müssen bereits vorhandene Konfigurationen überarbeitet werden. Die noch fehlenden Elemente für die Weichen (DKW) sind hinzugekommen. Neu sind für die Weichen Typen 0-3 und 10-13 erweiterte Gleisabstände, diese können nunmehr zwischen 0 und 10 eingestellt werden.
Es ist jetzt möglich ein Raster mit Hilfslinien einzublenden. Außerdem kann die Positionierung der Elemente auch mit den Cursortasten erfolgen. Beide Optionen sind über die Configseite aktivierbar. (mehr dazu in der Hilfedatei) Hinzu gekommen ist auch noch ein neuer Block Typ 3: Damit ist die Darstellung einer Modellbahnanlage abweichend zum Vorbild als Kreis möglich.
Für weitere Tests habe ich die Beispiel-Anlage im MPC-Handbuch für die ESTW-Steuerung konfiguriert. Einige kleinere Optimierungen und Korrekturen, z.B. Weichen löschen ist nun auch möglich.
Position der Lokeigenschaften war bei höheren Bildschirmauflösungen falsch.

23/24.07. Vieles ist hinzugekommen: In der Hilfe die Beschreibung der Menü's; Prüffunktionen zur Fehlersuche für die Konfiguration; Datentransfer der Zugstandorte zwischen MPC und ESTW; die Funktionen "Kurzzug", "Hp2" und Einzelnothalt; einige Optionen; langsames Abbremsen, Wartezeit und langsames Anfahren bei Umschalten der Fahrtrichtung; stehender Zug bleibt auf Wunsch auch bei Wechsel der Fahrtrichtung am Blockende stehen; genauere Zuordnung von Gleisen zu Blöcken, Fahrstrassen und Belegtmeldern; Signalhaltfall überarbeitet; Blockliste des Zuges kann bei Störung manuell aufgelöst werden; weitere Tests durchgeführt und diverse Probleme beseitigt. Im Fahrpult habe ich noch die Tempoanzeige ausgetauscht und Hp2-Meldung zugefügt. Als Alarme kommen jetzt auch die WL und die VA-Meldung. Sh1 erscheint nun immer auf der Berü.

09.07.07 Nun steht auch erstes Tutorial zur Verfügung, gleichzeitig wurde die Hilfedatei erweitert und kleinere Korrekturen durchgeführt, es ist jetzt die Version 0.9. Die Beispieldaten für das Tutorial sind im Download weiter unten enthalten.

01.07./02.07/06.07. Ich habe in der letzten Zeit viel mit mehreren Zügen getestet, dabei sind einige Fehler aufgefallen und beseitigt worden - insbesondere bei einer kurzen Zugfolge. Der Selbststellbetrieb wurde verfeinert. Neu sind folgende Punkte: Fahrt nach ext., Paternoster Ein- und Ausfahrt und der Zugspeicher. Der virtuelle Zugspeicher beherbergt alle meine Loks, das sind die Loks im analogen Bereich (BW) und "inaktiv" geschaltete Loks (abgestellt) sowie die Loks im Paternoster. DKW fertiggestellt.
Zwischenzeitlich konnten keine Blöcke angelegt werden, der Fehler ist behoben. Die Menü's wurden ausgebaut und mit Funktionen bestückt. Bedienhinweise sind hinzugekommen, sowie die Tasten KF1 und KF2.

26.06.07 Es ist vieles fertig geworden bzw. hinzugekommen: Der Paternoster ist fertig gestellt, Züge können deaktiviert werden, einige Befehle wurden hinzugefügt und funktioniert über die Tastatur und das Stellpult, Weichen wurden um LED für die Spitze erweitert, die Popup-Menüs für Signale, Weichen und Gleise sind komplett aber noch nicht alle Funktionen hinterlegt.

18.06.07 Jetzt hat sich eine Menge getan: Umfangreiche Tests mit Fehlerbereinigung; die Ansteuerung der Bahnübergänge ist fertig, einschließlich einer "Anrückmeldung", die für mehrgleisige Übergänge ein vorzeitiges Öffnen verhindert; das Zeit-Management wurde vollständig überarbeitet, auf der Configseite können die Intervalle eingestellt werden; im Editor-Fenster gibt es in der Statuszeile Hinweise auf Grenzwerte, die Eingabewerte werden zusätzlich auf Min/Max begrenzt; die Fahreigenschaften sind überarbeitet und verfeinert; die Initialisierung neuer Elemente ist fertig.
Außerdem habe ich meine Anlage weiter konfiguriert, einige Befehle direkt vom Stellpult funktionieren: Vorwärts/rückwärts, Geschwindigkeitstasten, Rangiertaste, Generalnothalt, Anwahl Zug im Block, diverse Leds leuchten und die 7-Segmentanzeige zeigt den angewählten Zug.
Die Züge können nun auch vom Stellpult aus gefahren werden.

07.06.07 Bahnübergänge begonnen: Manuelle Ansteuerung funktioniert bereits. Dadurch hat sich die Datenstruktur noch einmal verändert. Automatik für BÜ ist vorbereitet, diese Programmierung wird aber noch etwas dauern, weil wegen zu berücksichtigender Zeitabläufe einige Änderungen im Programm notwendig werden.

05.06.07 Fahrpultseite hinzugefügt, Einige Tasten und die 7-Segmentanzeige funktionieren bereits. Programm intern einige Bereiche überarbeitet.

01.06.07 Tasten für Signale zugefügt, Sperren und Entsperren von Signalen hinzugefügt, Selbststellbetrieb jetzt auch über Stellpult möglich, Befehle FA/FAH überarbeitet, Led-Anzeigen im Stellpult fortgeführt, Tastenabfragen funktioniert jetzt auch mit Drehregler (Drehreglertasten müssen auf der neuen Stellpultseite eingetragen werden, Drehregler selbst funktioniert vorläufig noch nicht).
Das Programm läuft jetzt (hoffentlich) auch ohne Porttreiber und ohne Hardware, es erkennt jetzt ob der Treiber installiert ist. Für den Betrieb mit Hardware muss der Porttreiber installiert sein, sonst kommt die Fehlermeldung "Priviligierte Anweisung". Datensätze für Fahrpult sind bereits vorbereitet.
Signal-Leds werden jetzt bei Aufnahme des Fahrbetriebs auf Halt gestellt.

30.05.07 Information in der Statuszeile der Konfiguration eingefügt. Taster für Signale ergänzt. Version steht jetzt in den Daten- und den Betriebs-Dateien.

29.05.07 Einige Details überarbeitet, Hilfedatei erweitert, SNT funktioniert jetzt, Rangiermodus hinzugefügt, Rangierstrassen eingefügt und bearbeitet (die besonderen Bedingungen für Rangierstrassen werden jetzt berücksichtigt: Fahren in besetztes Gleis, Wagen am Start zurücklassen, Teilauflösung bei Wenderangierstrassen), Fahreigenschaften überarbeitet, Geschwindigkeitsregelung über das Mausrad hinzugefügt, Fahrstrassen können jetzt am Monitor und am Stellpult eingestellt werden (Start/Zieltaste in der Reihenfolge), Leds im Stellpult werden weitgehend angesteuert.
Simulationen sind möglich über die Konfiguration Seite MPC2, Schalter Hardware=True drücken und auf der Hauptseite "MPC ein" schalten. entfernt, Fahrstrassenschaltung nur noch mit Betrieb

17.05.07 Jetzt werden auch Taster ausgewertet, eine Hilfedatei entsteht, die Datensicherung wurde um den Betriebszustand erweitert uvm.

Anfang und Motivation

Ich habe im Mai 2006 mit der Programmierung eines Elektronischen Stellwerks für die MPC-Hardware begonnen. Auf dieser Seite möchte ich den aktuellen Stand zeigen. Als Basis für die Programmierung dienen Versuche aus 2003, da hatte ich ein Testprogramm für Windows XP entwickelt und Studien für ein Steuerungsprogramm gemacht. Inzwischen fahren einige Züge über die Anlage, alle Zugstrassen sind definiert, Rangierstrassen sind erst zum einem kleinen Teil angelegt. Ich habe jetzt mit umfangreichen Tests begonnen, dabei erkannte Fehler werden sofort beseitigt. Die Eingabe der Stellbefehle erfolgt entweder mit der Maus oder direkt über die Tastatur. Parallel kann die Anlage auch über das vorhandene Gleisbildstellpult bedient werden.

Das ganze ist nur ein Hobby, bis die erste Version 1.0 als Beta vorliegt, dauert sicher noch mindestens 1 Jahr. Die Fahreigenschaften sind jetzt auch schon ok, auch langsames Anfahren und Bremsen funktionieren.

Es sind schon mehrere Züge gleichzeitig gefahren - es funktioniert. Beim Bildaufbau gab es starke Verzögerungen, die sind aber schon behoben. Das Programm läuft zurzeit auf meinen MPC-Rechner mit ca. 1200 Umläufen bei 2 Zügen. Meine Hauptstrecke kann nun in beiden Richtungen im Test befahren werden, ebenfalls die komplette Nebenstrecke. Das Überfahren der Doppeltrennstellen mit Richtungswechsel ist jetzt auch möglich. Die Signalhardware wird inzwischen auch angesteuert. Die Verwaltung der Hauptblöcke ist fertig.

Ein Problem ist inzwischen behoben: Das Programm arbeitet mit Threads und muss deswegen "Threadsicher" sein, denn es tritt gelegentlich ein gleichzeitiger Datenzugriff auf. Die wesentliche Fehlerursache ist inzwischen behoben, das war der bis dato verwendete Schieber für die Tempoeinstellung und Anzeige. Ich habe andere Elemente eingesetzt. Viele mögliche Fehler werden nun im Vorfeld vom Programm abgefangen und bearbeitet, was für den User nicht sichtbar ist. Bisher hatte ich keinen "sichtbaren" Programmabsturz mehr. "Sichtbar" deswegen, weil ein Absturz des Thread "Fahren" zwar vorkommen kann, aber vom Programm behandelt wird: Dieser Thread startet sofort neu.

Hier liegt die aktuelle Programmversion (läuft auch unter XP/Vista/7), Versuche mit der MPC-Hardware erfolgen auf eigenes Risiko !!!
Alle älteren Versionen habe ich nun entfernt.
Version 1.2.8 mit Fahrplanmodul vom 14.08.2015 ca. 3,0 MB.,
Version 1.2.7 mit Fahrplanmodul vom 14.08.2015 ca. 3,0 MB.,
Datenumsetzer 1.2.7 auf aktuelle Programm-Version (0,55 MB Stand 14.09.15),
Datenumsetzer 1.2.5 auf aktuelle Programm-Version (0,55 MB Stand 20.06.15),
Datenumsetzer 1.2.3 auf aktuelle Programm-Version (0,55 MB Stand 10.09.11),
Datenumsetzer 1.2.2 auf aktuelle Programm-Version (0,55 MB Stand 07.08.11)

Hilfedatei (0,71 MB) noch einmal extra.
Ein aktualisiertes Handbuch steht ebenfalls zur Verfügung MPC-ESTW.pdf (1,8 MB vom 10.05.2015)

Sollte sich ein MPC-User ernsthaft für dieses Programm interessieren und eine Anlage entwerfen, so bitte ich um Rückmeldungen und Anregungen für die weitere Entwicklung per Mail.

  Modellbahn

counter