Modellbahn-Steuerungs-System WH_PC_CON Technische Beschreibung Erstellt am: 28.02.2009 Seite: 1/11
Einführung Das System WH_PC_CON ist ein Steuersystem für Modellbahnen, welches ich mit dem Ziel entwickelt habe, meine Modellbahn-Anlage mit möglichst wenig handelsüblichen Komponenten digital steuern zu können. Lediglich für die Steuerung der Triebfahrzeuge werden eine Digital-Zentrale und die entsprechenden Lok-Decoder benötigt. Alternativ kann auch auf die digitale Triebfahrzeugsteuerung verzichtet und nur das Zubehör per PC gesteuert werden. WH_PC_CON besteht aus folgenden Komponenten: PC_Software zur manuellen/automatischen Steuerung des Fahrbetriebes Modul(en) WH_RAILCON zum Steuern von Gleisen Modul(en) WH_SWITCHCON zum Stellen von Weichen,Form-Signalen und anderen elektromagnetischen und motorischen Zubehör-Artikeln Modul(en) WH_RAILWATCH für die stromfühlende Besetztmelde-Überwachung von Gleisabschnitten Modul(en) WH_SIGCON zum Ansteuern von Lichtsignalen Rs232 Rs232 Gleissteuerung WH_RAILCON Rs232 Weichensteuerung WH_SWITCHCON Digital-Zentrale Rs232 Gleisbesetztmldg. WH_RAILWATCH (Weitere Komponenten) Bild 1: Grundsätzlicher Aufbau des Systems WH_PC_CON Erstellt am: 28.02.2009 Seite: 2/11
Funktionsprinzip Der Anschluss und die Steuerung der Digital-Zentrale erfolgt auf herkömmliche Weise über eine RS232-Schnittstelle und soll hier nicht näher beschrieben werden, da entsprechende Informationen von den Herstellern der Digital-Zentralen zu bekommen sind. Die WH_XXX-Module werden ebenfalls über eine RS232-Schnittstelle an den PC angeschlossen. Hierbei wird ein sogenanntes BUS-System angewendet, d.h. die Komponenten befinden sich hintereinander an derselben Leitung. Sie werden jedoch nicht, wie bei vielen anderen Bus-Systemen üblich, parallel an die Leitung angeschlossen, sondern es wird eine Kette gebildet, d.h. jede Komponente besitzt einen Ein-und einen Ausgang und und regeneriert gleichzeitig die durchgeleiteten Signale. Dadurch kann eine grössere Reichweite erreicht werden. Bild2: Grundprinzip der Zusammenschaltung der Komponenten Bei den CPUs der Komponenten handelt es sich um PIC-Prozessoren vom Typ 16F627A. Vom PC gesendete Daten werden von allen Komponenten empfangen. Jede Komponente besitzt eine Adresse, mit der sie separat angesprochen wird. Wenn eine CPU zum PC sendet, so schaltet sie über den Schalter S (symbolisch, in der praktischen Ausführung logische Schaltung) die TX-Leitung auf ihren Sendeausgang und trennt die nachfolgenden Komponenten ab. Nach dem Sendevorgang wird S zurückgeschaltet und somit die Sendeleitung wieder durchgeschliffen. Eine Komponente sendet nur, wenn Sie vom PC dazu aufgefordert wurde, so dass keine Kollisionen u.ä. auf dem Daten-Bus auftreten können (s. auch Kapitel Protokoll ). Erstellt am: 28.02.2009 Seite: 3/11
System-Komponenten Modul WH_RAILCON Diese Komponente dient der Steuerung und Überwachung von jeweils 4 Gleisen. Das beinhaltet die stromfühlende Gleis-Besetztmeldung und das Abschalten bzw. Umschalten eines Gleises vom Fahr- auf den Brems-Booster bei Digitalem Fahrbetrieb. Über einen aktivierbaren Stop-Kontakt kann das punktgenaue Anhalten der Züge realisiert werden. Bild 3: Prinzipschaltung für 1 Gleis Hinweis: zur besseren Übersicht werden Hilfs-Komponenten wie Latches, Treibertransistoren etc. nicht dargestellt Funktionsweise: Besetzt-Erkennung: PC-Software pollt zyklisch die CPU (s. auch Kapitel Protokoll ), welche über den Strom- Indikator abfragt, ob sich ein Stromverbraucher (Lok/beleuchteter Wagen) auf dem Gleis- Abschnitt befindet. Abfahrt eines auf dem Gleis befindlichen Zuges: Die PC-Software schaltet per Befehl das Relais R auf den Fahrbooster/die Fahrspannung um und deaktiviert den Stop-Kontakt, so dass er beim Befahren unwirksam ist. Einfahrt eines Zuges: Beim Erkennen des Befahrens des Gleisabschnittes über die Besetztmeldung drosselt die PC- Software durch Senden einer niedrigen Fahrstufe an das entsprechende Triebfahrzeug die Geschwindigkeit des Zuges soweit, dass er bei Annäherung an den Stop-Kontakt nur noch eine geringe Geschwindigkeit besitzt (der Bremsweg des Lok-Decoders muss entsprechend dimensioniert werden). Gleichzeitig wird per Befehl der Stop-Kontakt aktiviert. Erreicht der Zug Diesen, so schaltet die CPU den Gleis-Abschnitt über R auf den Brems-Booster und der Zug kommt zum Stehen. Die Position des Stopkontaktes ist so zu wählen, dass sie sich einige Zentimeter vor dem gewünschten Haltepunkt befindet, da der Zug beim Bremsvorgang noch etwas nachläuft. Alternativ kann auf das Anschliessen eines Brems-Boosters verzichtet und stattdessen die komplette Abschaltung des Gleises herbeigeführt werden. Das ist z.b. in Schattenbahnhöfen sinnvoll, um dort Zug-Garnituren stromlos abstellen zu können. Hinweis: in diesem Falle ist die Besetzt-Meldung unwirksam, die PC-Software berücksichtigt das entsprechend. Erstellt am: 28.02.2009 Seite: 4/11
Modul WH_SWITCHCON Dieses Modul dient dem Stellen von jeweils 8 motorischen oder elektrischen Zubehör- Artikeln wie Weichen, Formsignalen etc. Als Schaltspannung wird die 16V~-Zubehörspannung verwendet. Pro Artikel besitzt das Modul einen Ausgang, welcher wahlweise mit der positiven oder der negativen Halbwelle geschaltet wird. Die Impulslänge ist per Software zwischen 62 ms und 15s in Schritten von 1/16s konfigurierbar. Bild 4: Prinzipschaltung für Motor- und Doppelspulen-Antriebe Hinweis: zur besseren Übersicht werden Hilfs-Komponenten wie Latches, Treibertransistoren, Vorwiderstände etc. nicht dargestellt. Modul WH_RAILWATCH Dieses Modul enthält Stromindikator-schaltungen für die stromfühlende Gleisbesetztmeldung von 8 Gleisabschnitten. Erstellt am: 28.02.2009 Seite: 5/11
Modul WH_SIGCON Dieses Modul besitzt 8 Ausgänge zum Steuern von Lichtsignalen. Es handelt sich hierbei um Low-Aktive Ausgänge mit TTL-Pegel. So können z.b. 8 2-begriffige Signale gesteuert werden. Bild5: Anschluss eines Lichtsignals an WH_SIGCON Software WH_PC_CON Die selbst-entwickelte Steuersoftware WH_PC_CON übernimmt die Verwaltung und Visualisierung sämtlicher Fahrstrassen und die Auswertung /Visualisierung der Gleisbesetztmeldung. Desweiteren steuert diese Software über die RS232-Schnittstelle und die Digitalzentrale im Automatikbetrieb die Triebfahrzeuge. Über die Fahrstrassen und die Gleisbesetztmeldung erfolgt auch die Verfolgung des Standortes der Triebfahrzeuge. Die Datenbank mit den verfügbaren Triebfahrzeugen wird automatisch von der DigitalZentrale eingelesen. Die Fahrstrassen werden über die Benutzer-Oberfläche von WH_PC_CON durch Anklicken des Start- und Zielgleises eingegeben. Nachdem das Start-Gleis angeklickt wurde, sind nur die Tasten aktiv, welche als Zielgleis erreichbar sind. Nach Auswahl des Zielgleises wird die entsprechende Fahrstrasse eingestellt und angezeigt. Fahrstrassen-Einstellung beinhaltet das Stellen der Weichen und Signale und das Visualisieren der betreffenden Fahrstrasse auf dem Bildschirm. Nach Beendigung der Zugfahrt wird die Fahrstrasse m.h. des entsprechenden Buttons gelöscht. Erstellt am: 28.02.2009 Seite: 6/11
Bild 6: Benutzeroberfläche WH_PC_CON Protokoll Die Kommunikation zwischen dem PC und den einzelnen Modulen erfolgt über die RS232- Schnittstelle m. H. eines von mir entwickelten Bus-Systems. Jedes Modul besitzt eine Adresse, über welche es vom PC angesprochen wird. Grundsätzliches Jedes Telegramm besteht aus 5 Byte: dem Anfangs-Byte (0xFF) und 4 Datenbytes. Unbenutzte Bytes werden mit 0x00 aufgefüllt. Die Übertragung erfolgt nach dem Echo-Prinzip. Das bedeutet, dass der Empfänger ein erhaltenes Telegramm 1:1 zurückschickt und auf die -Bestätigung wartet. Auch diese wird zurückgeschickt. Bleibt die -Bestätigung 3 s aus, wird das Telegramm verworfen, andernfalls ausgeführt. Ablauf: Sender schickt Telegramm zu Empfänger Empfänger merkt sich Telegramm und schickt Echo zurück Sender vergleicht Echo mit gesendetem Telegramm Wenn identisch, sendet er -Meldung -Meldung wird ebenfalls als Echo zurückgeschickt und dem Telegramm entsprechende Aktion ausgeführt (z.b. Stellen von Weichen). Erstellt am: 28.02.2009 Seite: 7/11
PC Kommandierung von Daten durch den PC Modul Daten Daten (Echo) (Echo) PC Pollen von Daten durch den PC Modul Poll-Message gepollte Daten gepollte Daten (Echo) (Echo) Bild 7: Ablauf-Diagramme Fehlerbehandlung: 1. Echo ungleich gesendetes Telegramm: Sender wiederholt Telegramm Empfänger verwirft altes Telegramm, da kein kam und echot neues Telegramm Weiterer Ablauf s.o. 2. Es kommt innerhalb von 3 s kein Echo Sendevorgang wird wiederholt 3. Echo der -Meldung ist falsch Erstellt am: 28.02.2009 Seite: 8/11
Sendevorgang muss wiederholt werden, da der Empfänger das Ursprungstelegramm verworfen hat, wenn der die Nachricht nicht als erkennt. 4. Es kommt innerhalb von 3 s kein -Echo -Meldung wird erneut gesendet Grundsätzlich wird jeder Sendevorgang bei Bedarf 3x wiederholt, anschliessend wird aufgegeben und eine Fehlermeldung auf dem Dektop des PC angezeigt. Aufbau der Telegramme für WH_RAILCON Telegramm Aufbau Erläuterung FF, O, K,00,00 Anf-Zeichen,-Token (beide Richtungen) Fahr-relais und Stop-Kontakte aktivieren FF, F,ADDR,00-FF,00 Anf-Zeichen,Token, Addresse,Wert,FüllByte Bit 0...3 Relais (1 = ON) Gleisbesetztmeldung und Fahrrelais- Stellung (Modul=>PC) Gleisbesetztmeldung pollen (Durch PC) Adresse setzen Adresse abfragen (get) FF, B, ADDR,00-FF,00 FF, B, ADDR,00,00 FF, A,ADDR,00,00 FF, G,00,00,00 Bit 4...7 Stop-Kontakte (1 = aktiv) Anf-Zeichen, Addresse,Wert,FüllByte Bit 0...3 Relais (1 = ON) Bit 4 7 Besetztmeldung (1 = besetzt) Addresse,FüllByte,FüllByte zu setzende Adresse,FüllByte,FüllByte FüllByte,FüllByte,FüllByte Erstellt am: 28.02.2009 Seite: 9/11
Aufbau der Telegramme für WH_SWITCHCON Telegramm Aufbau Erläuterung FF, O, K,00,00 Anf-Zeichen,-Token (beide Richtungen) Weichen stellen FF, F,ADDR,00-FF,00 Anf-Zeichen,Token, Addresse,Wert,FüllByte Bit 0...8 Weichenstellung (0 = gerade,1 = Abzweig ) Stellimpultzeit FF,T,ADDR,00-FF,00 Anf-Zeichen,Token, setzen (in ms) Adresse setzen Adresse abfragen (get) FF, A,ADDR,00,00 FF, G,00,00,00 Addresse,Wert,FüllByte zu setzende Adresse,FüllByte,FüllByte FüllByte,FüllByte,FüllByte Aufbau der Telegramme für WH_RAILWATCH Telegramm Aufbau Erläuterung (beide Richtungen) FF, O, K,00,00 Anf-Zeichen,-Token Gleisbesetztmeldung FF, B, ADDR,00-FF,00 Anf-Zeichen, Addresse,Wert,FüllByte (Modul=>PC) Bit 0 7 Besetztmeldung (1 = besetzt) Gleisbesetztmeldung FF, B, ADDR,00,00 pollen (Durch PC) Addresse,FüllByte,FüllByte Adresse setzen Adresse abfragen (get) FF, A,ADDR,00,00 FF, G,00,00,00 zu setzende Adresse,FüllByte,FüllByte FüllByte,FüllByte,FüllByte Erstellt am: 28.02.2009 Seite: 10/11
Aufbau der Telegramme für WH_SIGCON Telegramm Aufbau Erläuterung FF, O, K,00,00 Anf-Zeichen,-Token (beide Richtungen) Signale stellen FF, F,ADDR,00-FF,00 Anf-Zeichen,Token, Addresse,Wert,FüllByte Bit 0...8 Signal-Ausgänge (0 = aktiv ) Stellimpultzeit FF,T,ADDR,00-FF,00 Anf-Zeichen,Token, setzen (in ms) Adresse setzen Adresse abfragen (get) FF, A,ADDR,00,00 FF, G,00,00,00 Addresse,Wert,FüllByte zu setzende Adresse,FüllByte,FüllByte FüllByte,FüllByte,FüllByte Erstellt am: 28.02.2009 Seite: 11/11