Step 5 Lüfteranlage in der Fahrzeughalle

Zuviel Werbung?
-> Hier kostenlos registrieren
Der Vorschlag mit der Logo rührt daher:
1. Machts heute in der Regel keinen Sinn mehr, sich ewig in S5 einzuarbeiten
2. Wenn Du an der Bestands-S5 rumbastelst besteht die große Gefahr, dass die dann nicht mehr funktioniert

Aber egal, am besten nix hinterfragen und wenn jemand sagt spring in den Brunnen, dann sofort springen...

PS, das ist jetzt kein persönlicher Angriff, aber ich hör das in letzter Zeit nurnoch. Niemand macht sich mehr sinnvolle Gedanken sondern schiebt die Verantwortung einfach weiter.
"Ich hab das so programmiert, weil das so auf dem Zettel stand. Da kann ich doch nichts dafür, wenns nicht funktioniert. Und ausserdem ists mir doch egal. Und nebenbei ist jetzt Feierabend" ...
 
Zuletzt bearbeitet:
Die Formulierung gefällt mir, Dani! ;)
Also die SchnellLüftung im ersten Anlauf noch nicht einplanen bzw. bewusst ignorieren.
Das kann dazu führen, dass bei einer späteren Erweiterung der Funktionalität unerwartet viel umgekrempelt werden müsste, aber sei's drum.


Na ja, ich würde dem Lüfter nach einem 10 min Einsatz eine ZwangsPause von geringfügig mehr als 10 min einräumen, aber in erster Linie, damit die Leute, die die FahrzeugHalle bevölkern, nicht unnötig durch allzu offensichtliche/überraschende Zufälligkeiten genervt werden.

Apropos "Laufzeit max 10 min":
Angenommen die MotorSchutzSchalter von 2 der 3 Lüfter sind gefallen (oder bewusst ausgeschaltet worden) und das LüftungsAnforderungsSignal bleibt länger als 10 min anstehen. Gönnen wir dann dem einzig noch aktiven Lüfter eine Pause zwischen zwei unmittelbar aufeinander folgenden Einsätzen? Oder müssen wir im Gegenteil sogar verhindern, dass der Lüfter nach den absolvierten 10 min eine Pause von einigen ms oder s einlegt, um ein eigentlich unnötiges (und unerwünschtes) Austrudeln mit direkt anschliessendem Hochlauf zu unterbinden?


Aber die SPS soll weiter eingeschaltet bleiben, wenn die Anlage ausgeschaltet wird?

Wieviele Timer kannst Du für die Schaltung "spendieren"? Können wir grosszügig 2 Timer pro Lüfter einplanen (also insgesamt 6 Timer) oder ist das schon unverschämt?

Um 3 zusätzliche Eingänge für die Rückmeldungen der MotorSchutzSchalter würde ich die Schaltung unbedingt erweitern wollen.

Das leidige Thema "Zufälligkeit":
Man kann nicht grundsätzlich davon ausgehen, dass es nicht möglich ist, mit einer SPS ein gewisses Mass an "Zufälligkeit" zu erzeugen.
Ein Statistiker hätte an dem Ergebnis sicherlich viel herumzumäkeln, aber würde uns das stören?
Hallo Heinileini,
so wie ich die Anlage vorgestellt habe: Die Steuerung soll mit der vorhandenen Simatic S5 101U gelöst werden.
Eingänge und Timer sind vorhanden. Das Gerät ist nur für diese Steuerung vorgesehen.
Gruß Dani
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich möchte mich ausdrücklich bei allen Fachleuten bedanken, die sich weit über mein eigentliches Problem Gedanken gemacht haben. Mir geht es nicht um irgendwelche Verbesserungen oder Änderungen die nicht in Betracht gezogen werden können. Auch das alter der Komponenten ist für mich völlig irrelevant. Alle Sicherungsmaßnamen, Laufzeiten usw. werde ich selbstverständlich ohne weitere Aufforderung berücksichtigen. Eine Überlastung irgendwelcher Bauteile ist völlig ausgeschlossen. Da sich die Lüftung nicht im Arbeitsbereich von Mitarbeitern befindet, sind gesundheitliche Bedenken nicht zu erwarten. Es geht mir lediglich um das Kernproblem, worauf ich gerne zurückkommen würde....
Gruß Dani
 
Es geht mir lediglich um das Kernproblem, worauf ich gerne zurückkommen würde....
Das leidige Thema "Zufälligkeit":
Man kann nicht grundsätzlich davon ausgehen, dass es nicht möglich ist, mit einer SPS ein gewisses Mass an "Zufälligkeit" zu erzeugen.
Ein Statistiker hätte an dem Ergebnis sicherlich viel herumzumäkeln, aber würde uns das stören?
Da gabs hier schonmal irgendwo nen Thema Zufallszahl in einer SPS...

 
Zuletzt bearbeitet:
Das leidige Thema "Zufälligkeit":
Man kann nicht grundsätzlich davon ausgehen, dass es nicht möglich ist, mit einer SPS ein gewisses Mass an "Zufälligkeit" zu erzeugen.
Ein Statistiker hätte an dem Ergebnis sicherlich viel herumzumäkeln, aber würde uns das stören?
Aber halt nur "ein gewisses Maß". Selbst mit genug Rechenpower und tollen Algorythmen ist nur "ein gewisses Maß" an Zufälligkeit möglich.
Aber das können Mathematiker besser erklären:
Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.
Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.

Echter Zufall kann nur durch QBits generiert werden. Allerdings ist das sicherlich ein bisschen "OverTheTop".

VG

MFreiberger
 
Es geht mir lediglich um das Kernproblem, worauf ich gerne zurückkommen würde....
Na denn ... hier eine an S5-AWL angelehnte "AbsichtsErklärung" (völlig ungetestet ausser in der LOGO!-Variante):
Code:
// "ZufallsGenerator": nacheinander 1 aus 3 Bits = TRUE
      U   M_Zuf_2
      =   M_Zuf_3

      U   M_Zuf_1
      R   M_Zuf_1
      =   M_Zuf_2

      UN  M_Zuf_2    // geändert
      UN  M_Zuf_3    // geändert
      =   M_Zuf_1

// mit pos. Flanke von Eingang Ein/Aus den Ein/Aus-Status umknippsen    
      ON  E_EinAus
      O   M_EinAus
      SPB SKIP
      UN  M_EIN
      =   M_EIN
SKIP: U   E_EinAus
      =   M_EinAus

// ggfs Aktiv-Timer 1..3 starten [10 min] bzw. rücksetzen
      L   KT 600.2

      U   M_Anf
      U   M_Zuf_1
      UN  T_Pse_1
      SA  T_Akt_1

      ON  E_MSS_1
      ON  M_EIN
      R   T_Akt_1
     
      U   M_Anf
      U   M_Zuf_2
      UN  T_Pse_2
      SA  T_Akt_2

      ON  E_MSS_2
      ON  M_EIN
      R   T_Akt_2
     
      U   M_Anf
      U   M_Zuf_3
      UN  T_Pse_3
      SA  T_Akt_3

      ON  E_MSS_3
      ON  M_EIN
      R   T_Akt_3

// ggfs Pause-Timer 1...3 starten [10 min 1 s]
      L   KT 601.2
     
      U   T_Akt_1
      =   M_Lüf_1
      SA  T_Pse_1
     
      U   T_Akt_2
      =   M_Lüf_2
      SA  T_Pse_2
     
      U   T_Akt_3
      =   M_Lüf_3
      SA  T_Pse_3
     
// wenn Eingang LüfterAnforderung ansteht und kein Lüfter aktiv ist ...
      UN  M_Lüf_1
      UN  M_Lüf_2
      UN  M_Lüf_3
      U   E_LüfAnf
      =   M_Anf

// Merker LüfterAktiv auf Ausgänge umsetzen
      U   M_Lüf_1
      =   A_Lüf_1

      U   M_Lüf_2
      =   A_Lüf_2

      U   M_Lüf_3
      =   A_Lüf_3
Die Leerzeilen dienen zur optischen "Auflockerung" - dürfen gerne entfallen!
Ob das mit dem Rücksetzen der Timer so klappt, wie ich es mir erhoffe ... keine Ahnung.

Erläuterungen zu den Variablen:
Code:
// Ausgänge    
A_Lüf_1  // MotorSchütz Lüfter-1
A_Lüf_2  // MotorSchütz Lüfter-2
A_Lüf_3  // MotorSchütz Lüfter-3

// Eingänge    
E_EinAus // Taster (S) Anlage EIN/AUS
E_LüfAnf // Sensor LüfterAnforderung
E_MSS_1  // MotorSchutzSchalter Lüfter-1
E_MSS_2  // MotorSchutzSchalter Lüfter-2
E_MSS_3  // MotorSchutzSchalter Lüfter-3

// Merker    
M_Anf    // LüfterAnforderung
M_EIN    // Anlage eingeschaltet
M_EinAus // FlankenMerker zu Eingang Ein/Aus
M_Lüf_1  // Merker Lüfter-1 aktiv
M_Lüf_2  // Merker Lüfter-2 aktiv
M_Lüf_3  // Merker Lüfter-3 aktiv
M_Zuf_1  // Merker zufällige Aktivierung von Lüfter-1
M_Zuf_2  // Merker zufällige Aktivierung von Lüfter-2
M_Zuf_3  // Merker zufällige Aktivierung von Lüfter-3

// Timer    
T_Akt_1  // Timer Lüfter-1 aktiv
T_Akt_2  // Timer Lüfter-2 aktiv
T_Akt_3  // Timer Lüfter-3 aktiv
T_Pse_1  // Timer Lüfter-1 Pause
T_Pse_2  // Timer Lüfter-2 Pause
T_Pse_3  // Timer Lüfter-3 Pause
 
Zuletzt bearbeitet:
da stimmt was nicht:
Code:
// "ZufallsGenerator": nacheinander 1 aus 3 Bits = TRUE
      U   M_Zuf_2
      =   M_Zuf_3

      U   M_Zuf_1
      R   M_Zuf_1
      =   M_Zuf_2

      UN  M_Zuf_1
      UN  M_Zuf_2
      =   M_Zuf_1

bei mir ist abwechselnd M_Zuf_1=true M_Zuf_2=false M_Zuf_3=true und im nächsten Zyklus M_Zuf_1=false M_Zuf_2=true M_Zuf_3=false

oder soll das so???
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
da stimmt was nicht:
Code:
// "ZufallsGenerator": nacheinander 1 aus 3 Bits = TRUE
      U   M_Zuf_2
      =   M_Zuf_3

      U   M_Zuf_1
      R   M_Zuf_1
      =   M_Zuf_2

      UN  M_Zuf_1
      UN  M_Zuf_2
      =   M_Zuf_1
Stimmt! Da stimmt was nicht.
Danke für's Mitdenken/Testen, ducati!
Das kommt davon, wenn man's nicht testen kann und einen Knoten in den Gehirnwindungen hat.

Hab's in #27 geändert (und wieder nicht getestet :mad: ).
Hoffentlich ist mir diesmal die Umstellung von der LOGO!-Denkweise auf die normale-SPS-Denkweise gelungen. ;)
(Aber Vorsicht, nach wie vor: ohne Gewähr)
 
das funktioniert:
Code:
// "ZufallsGenerator": nacheinander 1 aus 3 Bits = TRUE
      U   M_Zuf_2
      =   M_Zuf_3

      U   M_Zuf_1
      R   M_Zuf_1
      =   M_Zuf_2

      UN  M_Zuf_2    // geändert
      UN  M_Zuf_3    // geändert
      =   M_Zuf_1


heraus/hereinspringen aus/in Verknüpfungen ist gefährlich, wie das bei S5 ist, weiss ich nicht, bei S7 gabs da mal irgendwo nen Bug:
Code:
// mit pos. Flanke von Eingang Ein/Aus den Ein/Aus-Status umknippsen  
      ON  E_EinAus
      O   M_EinAus
      SPB SKIP
      UN  M_EIN
      =   M_EIN
SKIP: U   E_EinAus
      =   M_EinAus

 
Zuletzt bearbeitet:
heraus/hereinspringen aus/in Verknüpfungen ist gefährlich, wie das bei S5 ist, weiss ich nicht, bei S7 gabs da mal irgendwo nen Bug:
Code:
// mit pos. Flanke von Eingang Ein/Aus den Ein/Aus-Status umknippsen 
      ON  E_EinAus    // ErstVerküpfung, sofern zuvor VKE-begrenzend abgeschlossen
      O   M_EinAus
      SPB SKIP        // VKE-begrenzend
      UN  M_EIN       // ErstVerküpfung
      =   M_EIN       // VKE-begrenzend
SKIP: U   E_EinAus    // ErstVerküpfung
      =   M_EinAus    // VKE-begrenzend
Hier wird aber nicht aus Verknüpfungen heraus und nicht in Verknüpfungen hinein gesprungen, ducati.
Das Problem bzw. die Gefahr, die Du ansprichst, betrifft das Kapitel "VKE-begrenzendes Abschliessen einer Vernüpfung" bzw. "ErstVerküpfung".
Der bedingte Sprung SPB wirkt VKE-begrenzend (im Gegensatz zum unbedingten Sprung SPA!).
Und der Sprung im obigen Beispiel erfolgt auf den ersten Befehl einer (neuen) Verknüpfung und nicht "als QuerEinsteiger" mitten hinein .
"Zuwiderhandlungen" sind übrigens nur dann gefährlich, wenn man sich nicht bewusst ist, was man tut.
Wendet man solche "Tricks" an, dann erschwert man damit allerdings die Fehlersuche für Inbetriebnehmer, die vielleicht nicht ganz so firm in der Materie sind.
Der "Bug", den Du ansprichst, ist darin begründet, dass es in S5 und in S7 keinen speziellen OP-Code für das Laden eines Bits (ohne es logisch zu verknüpfen) gibt und Siemens die nötige Unterscheidung durch das ErstabfrageBit "automatisch regelt".
In anderen AWL-Sprachen gibt es dafür eigene OP-Codes und somit das "Problem" nicht.
Bei S5 waren die Möglichkeiten, wo ein Programm durch AlarmBearbeitung unterbrochen werden konnte, nicht so vielfältig, wie bei S7 - wenn ich mich richtig erinnere. Meines Wissens ist deshalb S7 nicht so immun gegen unerwünschte Nebenwirkungen durch AlarmBearbeitung wie S5.
Ich habe aber auch bei S5 schon die leidige Erfahrung gemacht, dass die CPU bewusst eingebaute InterruptSperren einfach ignoriert hat.
Genauer: es gab einen nicht dokumentierten (oder mehrere?) InterruptTyp, der nicht durch die zur Verfügung stehenden InterruptSperren gesperrt werden konnte.
Aber sorry, damit schweife ich schon ziemlich vom eigentlichen Thema ab.
 
Zuletzt bearbeitet:
Ja stimmt, Du hast wie immer Recht.
Unsinn, ducati!
Ich habe absolut nicht immer Recht. Nicht mit meinen Behauptungen und erst recht nicht mit meinen Vermutungen. Meine Glaskugel versagt auch oft genug kläglich.
Und rechthaberisch bin ich nur in ganz wenigen Fällen, z.B. was die korrekte/fehlerhafte Auswertung von AB-Signalen betrifft oder die Bedeutung des D-Anteils bei PID-Reglern - dann aber umso hartnäckiger! :ROFLMAO:
 
Hallo Heinileini,
vielen Dank für die Mühe und den ausführlichen Code, ich habe ihn heute sofort getestet.
Im Simulator läuft es wie gewünscht, in der U101 gibt es noch eine Fehlermeldung die ich mir später noch ansehen muss.
Grundsätzlich ist damit mein Problem gelöst, super!
Ein Kriterium wird aber leider noch nicht erfüllt:
Der zufällig ausgewählte Lüfter sollte eigentlich bei der nächsten Anforderung nicht in Betracht gezogen werden. Der nächste zufällig ausgewählte Lüfter sollte diese Blockierung wieder aufheben. Da es nicht vorkommen sollte, dass ein Lüfter zweimal nacheinander eingesetzt wird. Bei dieser kleinen Auswahl (1/3) ist es eben doch leicht möglich. Diese Funktion ist nur gegeben, wenn die Anforderung in der Pausenzeit liegt. Es kommt aber oft vor, dass über längere Zeit keine Anforderung erforderlich wird.
Gruß Dani
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier noch die LOGO!-Variante:
3xQuerLüft-2.jpg

Im ersten Anlauf hatte ich noch eine aufwändigere Form für den Zufall verwendet: ein SchiebeRegister, in dem das eine 1-Bit aber nur in jedem zweiten Zyklus um eine Position weitergerollt wurde. In S5 war mir der Aufwand mit dem Schieben zu gross und dort habe ich's mit den drei BitVerküpfungen realisiert (befand mich dabei aber gedanklich noch zu sehr in der LOGO!-Welt ;) ).

'3xQuerLüft-2.lsc.pdf' ist die als pdf-Datei getarnte lsc-Datei. Nach dem Herunterladen einfach nur '.pdf' entfernen!

Da es nicht vorkommen sollte, dass ein Lüfter zweimal nacheinander eingesetzt wird. Bei dieser kleinen Auswahl (1/3) ist es eben doch leicht möglich. Diese Funktion ist nur gegeben, wenn die Anforderung in der Pausenzeit liegt. Es kommt aber oft vor, dass über längere Zeit keine Anforderung erforderlich wird.
Das wird bei meiner Schaltung in der Tat nicht verhindert. Ich hatte gehofft, dass durch die langen PausenZeiten das Problem zumindest nicht so ganz oft auftreten würde. Ich werde mich noch mal daran begeben ...

... in der U101 gibt es noch eine Fehlermeldung die ich mir später noch ansehen muss.
Würde mich mal interessieren, was die U101 zu meckern hat.
Hast Du's in einem FB oder im OB programmiert? Der OB kann - glaube ich - den bedingten Sprung (SPB) nicht.
 

Anhänge

Würde mich mal interessieren, was die U101 zu meckern hat. => Muss ich heute Abend mal nachschauen, geht sofort in Stop ...
Hast Du's in einem FB oder im OB programmiert? =>
Die U101 kann leider nur einen Baustein, ich habe FB benutzt !
Der OB kann - glaube ich - den bedingten Sprung (SPB) nicht. =>
Ich könnte ja auch mal OB versuchen, aber FB kennt den ges. Befehlssatz, oder ?
Leider muss ich jetzt noch zu einer anderen Baustelle (ohne SPS :) ) aber ich mache heute Abend weiter .....
Gruß Dani
 
Die U101 kann leider nur einen Baustein, ich habe FB benutzt !
Das erinnert mich stark an die 810er CNC. Deren PLC war auch so minimalistisch ausgestattet.
Bleib beim FB!

"Aufgebohrt":
Code:
// "ZufallsGenerator": nacheinander 1 aus 3 Bits = TRUE
      U   M_Zuf_2                                       
      =   M_Zuf_3                                       
                                                        
      U   M_Zuf_1                                       
      R   M_Zuf_1                                       
      =   M_Zuf_2

      UN  M_Zuf_2
      UN  M_Zuf_3
      =   M_Zuf_1

// mit pos. Flanke von Eingang Ein/Aus den Ein/Aus-Status umknippsen     
      ON  E_EinAus
      O   M_EinAus
      SPB SKIP
      UN  M_EIN
      =   M_EIN
SKIP: U   E_EinAus
      =   M_EinAus

// ggfs Aktiv-Timer 1..3 starten [10 min] bzw. rücksetzen
      L   KT 600.2

      U   M_Anf
      U   M_Zuf_1
      UN  M_Lst_1  // hinzu
      UN  T_Pse_1
      SA  T_Akt_1

      ON  E_MSS_1
      ON  M_EIN
      R   T_Akt_1
      
      U   M_Anf
      U   M_Zuf_2
      UN  M_Lst_2  // hinzu
      UN  T_Pse_2
      SA  T_Akt_2

      ON  E_MSS_2
      ON  M_EIN
      R   T_Akt_2
      
      U   M_Anf
      U   M_Zuf_3
      UN  M_Lst_3  // hinzu
      UN  T_Pse_3
      SA  T_Akt_3

      ON  E_MSS_3
      ON  M_EIN
      R   T_Akt_3

// ggfs Pause-Timer 1...3 starten [10 min 1 s]
      L   KT 601.2
      
      U   T_Akt_1
      =   M_Lüf_1
      SA  T_Pse_1
      
      U   T_Akt_2
      =   M_Lüf_2
      SA  T_Pse_2
      
      U   T_Akt_3
      =   M_Lüf_3
      SA  T_Pse_3
      
// wenn Eingang LüfterAnforderung ansteht und kein Lüfter aktiv ist ...
      UN  M_Lüf_1
      UN  M_Lüf_2
      UN  M_Lüf_3
      U   E_LüfAnf
      =   M_Anf

// merken, welcher Lüfter zuletzt aktiv war
      U   M_Lüf_1  // hinzu
      UN  A_Lüf_1  // hinzu
      S   M_Lst_1  // hinzu
      R   M_Lst_2  // hinzu
      R   M_Lst_3  // hinzu

      U   M_Lüf_2  // hinzu
      UN  A_Lüf_2  // hinzu
      R   M_Lst_1  // hinzu
      S   M_Lst_2  // hinzu
      R   M_Lst_3  // hinzu

      U   M_Lüf_3  // hinzu
      UN  A_Lüf_3  // hinzu
      R   M_Lst_1  // hinzu
      R   M_Lst_2  // hinzu
      S   M_Lst_3  // hinzu

// Merker LüfterAktiv auf Ausgänge umsetzen
      U   M_Lüf_1
      =   A_Lüf_1

      U   M_Lüf_2
      =   A_Lüf_2

      U   M_Lüf_3
      =   A_Lüf_3

Code:
// Ausgänge     
A_Lüf_1  // MotorSchütz Lüfter-1
A_Lüf_2  // MotorSchütz Lüfter-2
A_Lüf_3  // MotorSchütz Lüfter-3

// Eingänge     
E_EinAus // Taster (S) Anlage EIN/AUS
E_LüfAnf // Sensor LüfterAnforderung
E_MSS_1  // MotorSchutzSchalter Lüfter-1
E_MSS_2  // MotorSchutzSchalter Lüfter-2
E_MSS_3  // MotorSchutzSchalter Lüfter-3

// Merker     
M_Anf    // LüfterAnforderung
M_EIN    // Anlage eingeschaltet
M_EinAus // FlankenMerker zu Eingang Ein/Aus
M_Lüf_1  // Merker Lüfter-1 aktiv
M_Lüf_2  // Merker Lüfter-2 aktiv
M_Lüf_3  // Merker Lüfter-3 aktiv
M_Zuf_1  // Merker zufällige Aktivierung von Lüfter-1
M_Zuf_2  // Merker zufällige Aktivierung von Lüfter-2
M_Zuf_3  // Merker zufällige Aktivierung von Lüfter-3
M_Lst_1  // Merker Lüfter-1 war zuletzt aktiv  // hinzu
M_Lst_2  // Merker Lüfter-2 war zuletzt aktiv  // hinzu
M_Lst_3  // Merker Lüfter-3 war zuletzt aktiv  // hinzu


// Timer     
T_Akt_1  // Timer Lüfter-1 aktiv
T_Akt_2  // Timer Lüfter-2 aktiv
T_Akt_3  // Timer Lüfter-3 aktiv
T_Pse_1  // Timer Lüfter-1 Pause
T_Pse_2  // Timer Lüfter-2 Pause
T_Pse_3  // Timer Lüfter-3 Pause
 
Zuletzt bearbeitet:
Würde mich mal interessieren, was die U101 zu meckern hat. => Muss ich heute Abend mal nachschauen, geht sofort in Stop ...
Hast Du's in einem FB oder im OB programmiert? =>
Die U101 kann leider nur einen Baustein, ich habe FB benutzt !
Der OB kann - glaube ich - den bedingten Sprung (SPB) nicht. =>
Ich könnte ja auch mal OB versuchen, aber FB kennt den ges. Befehlssatz, oder ?
Leider muss ich jetzt noch zu einer anderen Baustelle (ohne SPS :) ) aber ich mache heute Abend weiter .....
Gruß Dani
FB 1 oder PB1 geht. Kein OB oder andere Bausteine.
Anbei die Doku zur S5.
Sprungbefehle gehen nur im FB1.
 

Anhänge

Zurück
Oben