SpDrS60 Stellwerkssimulation Stellwerkssimulation zu Verwendung in bliebigen Schienensystemen
Öffentliche Methoden | Aufstellung aller Elemente
Weiche Klassenreferenz

#include <Weiche.h>

Klassendiagramm für Weiche:
Inheritance graph
[Legende]
Zusammengehörigkeiten von Weiche:
Collaboration graph
[Legende]

Öffentliche Methoden

 Weiche (int wnr, int weichenPinGerade, int weichenPinKurve, int weichenLedPinGerade, int weichenLedPinGeradeRot, int weichenLedPinKurve, int weichenLedPinKurveRot, int adressWeichenposition, int weichentimeout, int wt, int wgt, int registerPins[4])
 
void weicheWechsel ()
 
void weicheGerade ()
 
void weicheKurve ()
 
void weicheRelaisHIGH ()
 
void weicheRelaisLOW ()
 
void weichenpositionEEPROM ()
 
void weicheSchalten ()
 
void setWeichenfestlegung (boolean festlegestatus, int fahrstrassennr)
 
boolean getWeichenfestlegung ()
 
void setFlankenschutz (boolean flankenschutzstatus, int fahrstrassennr)
 
boolean getFlankenschutz ()
 
boolean getWeichenposition ()
 
void setWeichenposition (boolean position)
 
void setWeichebesetzt (boolean besetztmelderstatus)
 
int getNr ()
 
- Öffentliche Methoden geerbt von Actor
 Actor (int anzahl, int sh, int st, int ds)
 
void blinken (int LedPin)
 
void digitalSchalten (int PinNr, boolean newPinStatus)
 
void setRegisterPins (int anzahl, int sh, int st, int ds)
 

Ausführliche Beschreibung

In dieser Klasse werden Weichen gesteuert. Die Klasse kann Weichen schalten und speichert deren Status im EEPROM und kann ihn abrufen, somit vergisst das Programm den Status einer Weiche auch nach dem Reset des Microcontrollers nicht.

Definiert in Zeile 22 der Datei Weiche.h.

Beschreibung der Konstruktoren und Destruktoren

◆ Weiche()

Weiche::Weiche ( int  wnr,
int  weichenPinGerade,
int  weichenPinKurve,
int  weichenLedPinGerade,
int  weichenLedPinGeradeRot,
int  weichenLedPinKurve,
int  weichenLedPinKurveRot,
int  adressWeichenposition,
int  weichentimeout,
int  wt,
int  wgt,
int  registerPins[4] 
)

Erstellt Weichen.

Parameter
[in]wnrNummer der Weiche.
[in]weichenPinGeradeSchaltet das Relais, welches einen Wechsel Geradelage auslöst.
[in]weichenPinKurveSchaltet das Relais, welches einen Wechsel in Kurvenlage auslöst.
[in]weichenLedPinGeradeSpeichert die Ledanschlüsse, über, die die Weiche, wenn sie gerade ist anzeigen kann, das sie nicht besetzt ist.
[in]weichenLedPinGeradeRotSpeichert die Anschlüsse, über, die die Weiche, wenn sie gerade ist die Besetztmeldung anzeigen kann.
[in]weichenLedPinKurveSpeichert die Anschlüsse, über, die die Weiche, wenn sie in Kurvenlage anzeigen kann, das sie nicht besetzt ist.
[in]weichenLedPinKurveRotSpeichert die Anschlüsse, über, die die Weiche, wenn sie in Kurvenlage ist die Besetztmeldung anzeigen kann.
[in]adressWeichenpositionAn dieser Speicherposition wird die Weichenlage gspeichert
[in]wtSpeichert die Anschlüsse, an der die Weichentaste angeschlossen ist.
[in]wgtSpeichert die Anschlüsse, an der die Weichengruppentaste angeschlossen ist.
[in]registerPinsDie Pins aus dem Array werden an die Oberklasse besetztmeldungControl/actors übergeben. Das Array besteht aus der Anzahl der Register, dem Pin SH_CP, ST_CP, DS in dieser Reihenfolge.
Siehe auch
actors(int anzahl, int sh, int st, int ds)
besetztmelder(int gleisPin, int ledGelb, int ledRot, int registerPin[4]);

Definiert in Zeile 14 der Datei Weiche.cpp.

Dokumentation der Elementfunktionen

◆ getFlankenschutz()

boolean Weiche::getFlankenschutz ( )

Es wird ausgegeben, ob die Weiche eine Flankenschutzweiche ist, oder nicht

Definiert in Zeile 199 der Datei Weiche.cpp.

◆ getNr()

int Weiche::getNr ( )

Definiert in Zeile 281 der Datei Weiche.cpp.

◆ getWeichenfestlegung()

boolean Weiche::getWeichenfestlegung ( )

Es wird ausgegeben, ob die Weiche festgelegt ist, oder nicht

Definiert in Zeile 180 der Datei Weiche.cpp.

◆ getWeichenposition()

boolean Weiche::getWeichenposition ( )

Gibt die Weichenposition aus, wenn die Weiche umgelaufen ist.

Definiert in Zeile 204 der Datei Weiche.cpp.

◆ setFlankenschutz()

void Weiche::setFlankenschutz ( boolean  flankenschutzstatus,
int  fahrstrassennr 
)

Weichen werden zu Flankenschutzweichen und können bis zur auslösung der Fahrstraße nicht mehr geschaltet werden.

Definiert in Zeile 185 der Datei Weiche.cpp.

◆ setWeichebesetzt()

void Weiche::setWeichebesetzt ( boolean  besetztmelderstatus)

Ändert die Weichenausleuchtung auf die RotenLeds um die Besetztmeldung anzuzeigen. Da die Weichen mit WeichenControl erstellt werden, benötigt es keine Zugriffseinschränkung, diese findet sich in WeichenControl, nur Besetztmelder können von dort auf diese Methode von Weiche zugreifen.

Definiert in Zeile 216 der Datei Weiche.cpp.

◆ setWeichenfestlegung()

void Weiche::setWeichenfestlegung ( boolean  festlegestatus,
int  fahrstrassennr 
)

Kann die Festlegung der Weichen aktivieren. Die Weichenlage kann nicht mehr verändert werden, bis die Festlegung durch die Fahrstraße ausfgelöst wird.

Definiert in Zeile 166 der Datei Weiche.cpp.

◆ setWeichenposition()

void Weiche::setWeichenposition ( boolean  position)

veränderung der Weichenposition, weiche Kurve und WeicheGerade wird so aufgelöst

Definiert in Zeile 209 der Datei Weiche.cpp.

◆ weicheGerade()

void Weiche::weicheGerade ( )

Funktion um die Weiche in Geradeweichenlage zu versetzen. Dies ist nur möglich wenn die Weiche nicht von einer Fahrstraße beansprucht wird.

Definiert in Zeile 59 der Datei Weiche.cpp.

◆ weicheKurve()

void Weiche::weicheKurve ( )

Funktion um die Weiche in Kurvenlage zu versetzten. Dies ist nur möglich wenn die Weiche nicht von einer Fahrstraße beansprucht wird.

Definiert in Zeile 73 der Datei Weiche.cpp.

◆ weichenpositionEEPROM()

void Weiche::weichenpositionEEPROM ( )

Die Weichenposition wird aus dem EEPROM abgerufen und ausgeführt. Die Methode wird am Anfang benötigt, so wird sicher gestellt, das alle Weichen in der vom Stellpult ange-nommenen Lage sind

Definiert in Zeile 117 der Datei Weiche.cpp.

◆ weicheRelaisHIGH()

void Weiche::weicheRelaisHIGH ( )

Alle Weichenrelais werden auf HIGH gesetzt. Die Relais sind alle inaktiv.

Definiert in Zeile 105 der Datei Weiche.cpp.

◆ weicheRelaisLOW()

void Weiche::weicheRelaisLOW ( )

Alle Weichenrelais werden auf LOW gesetzt. Die Relais sind alle aktiv.

Definiert in Zeile 111 der Datei Weiche.cpp.

◆ weicheSchalten()

void Weiche::weicheSchalten ( )

Beendet nach der zuvor im Konstruktor definierten Zeit das Schalten des Relais.(je nach Weichenantrieb und Schaltdauer) Methode muss für jedes Objekt der Klasse einmal im Loop vorhanden sein.

Definiert in Zeile 132 der Datei Weiche.cpp.

◆ weicheWechsel()

void Weiche::weicheWechsel ( )

Funktion zum Wechseln der Weiche mit Weichengruppentaste und Weichentaste in Kombination. Dies ist nur möglich wenn die Weiche nicht von einer Fahrstraße beansprucht wird.

Definiert in Zeile 41 der Datei Weiche.cpp.