extended documentation

This commit is contained in:
Stephan Richter
2021-04-05 13:28:54 +02:00
parent fa87201ef8
commit 4750a68311
3 changed files with 60 additions and 1 deletions

View File

@@ -22,7 +22,7 @@ Das Signal für die Modellbahn wird mittels [SRCPD] erzeugt dieses Programm
## Entwicklungsstand
Das Programm befindet sich derzeit noch in der Entwicklung.
Die Programmentwicklung hat einen Stand erreicht, mit dem sich die Software stabil für die Steuerung von Modellbahnen einsetzen lässt. Dennoch ist das Programm nicht als „fertig“ zu betrachten es gibt immer Details zu verbessern!
## Links

View File

@@ -1,2 +1,30 @@
# grundlegende Funktionsweise
## Software-Ebenen
Bei der digitalen Modellbahn gibt es typischerweise drei Software-Ebenen:
1. Signal-Erzeugung:
Das Digital-Signal, welches durch einen Booster verstärkt an die Lokomotiven und Zubehör-Artikel geleitet wird, muss erzeugt werden.
Das kann durch eine speziell dafür ausgelegte Hardware(-Zentrale) erfolgen, oder eben durch ein Programm wie [SRCPD].
2. Funktionale Zentrale:
Diese Software-Schicht kümmert sich um die logische Steuerung. Das bedeutet, Programme in dieser Schicht verfolgen den Zustand von Modellbahnfahrzeugen (Position, Geschwindikeit, Status der Funktionen) und Zubehörartikeln (Weichen, Relais, Signale) und verwalten die Gleisanlage (Besetztmeldungen, Gleissperren, etc.).
3. Nutzer-Interaktionsschicht
Diese Software-Ebene stellt den Zustand der Modellbahn für den Nutzer dar und erlaubt dem Nutzer, mit der Modellbahn zu interagieren.
[Schema](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/srsoftware-de/Web4Rail/master/doc/schema.plantuml)
## Web4Rail
Web4Rail als Software stellt nun die Ebene 2 dieses Software-Stapels bereit:
Dazu werden in Web4Rail Züge und der Gleisplan gespeichert, sowie die Status aller Fahrzeuge, Zubehörartikel und anderen Teile einer Modellbahnanalage.
Immer wenn der Nutzer irgendwelche Aktionen in Web4Rail veranlasst, erzeugt dieses die Steuerbefehle, die an die Ebene-1-Software ([SRCPD]) gesendet werden.
Außerdem nimmt es natürlich auch Informationen (z.B. Rückmeldungen) von der Ebene-1-Software an und verarbeitet diese.
Daneben erzeugt es die Darstellungsinformationen für die Ebene-3-Software: es erzeugt quasi eine Website, so dass der Nutzer über einen beliebigen Webbrowser seine Modellbahn steuern kann.
[SRCPD]: http://srcpd.sourceforge.net/srcpd/

31
doc/schema.plantuml Normal file
View File

@@ -0,0 +1,31 @@
@startuml
actor Benutzer
node "Benutzer-Oberfläche" as Iface
node Steuerung
package Zentrale {
node Signalerzeuger
node Booster
}
node Hardware
Benutzer -right-> Iface
Iface <--> Steuerung : Htt-Protokoll (Website)
Steuerung <--> Signalerzeuger : SRC-Protokoll (SRCP)
Signalerzeuger --> Booster : Digitalsignal
Booster -right-> Hardware : Digitalsignal
Hardware --> Signalerzeuger : Rückmeldungen
note right of Iface : Webbrowser
note right of Steuerung
Web4Rail,
Rocrail,
JSRCP,
end note
note right of Signalerzeuger : SRCPD
note right of Hardware : die Modellbahn
@enduml