Amperematic deluxe
Moderatoren: Andreas Damm, Jens Haupert
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Amperematic deluxe
Seit heute existiert auf meinem Rechner ein nettes kleines Werkzeug, das die Funktionen von Zusi2 ein bisschen erweitert. Die Idee dafür ist mir schon seit einiger Zeit im Kopf herumgegeistert. Ich hab nämlich mal festgestellt, dass bei Dieselloks mit klassisch elektrischer Kraftübertragung die Fahrmotorspannung nicht nur durch die Drehzahl des Dieselmotors bestimmt wird, sondern noch durch ein Schaltwerk, das die Spannung (oder zumindest den Motorstrom, ich vermute Feldschwächung hinter dem Prinzip) fein regeln kann.
Der Lokführer bedient dann also einen Fahrschalter mit nur acht Fahrstufen und regelt damit die Drehzahl des Fahrdiesels. Parallel dazu läuft besagtes Schaltwerk mit und ermöglicht, dass innerhalb gewisser Grenzen ein trotz steigender Geschwindigkeit einigermaßen konstantes Motorstromniveau gehalten wird.
Das ist in Zusi momentan so direkt aber nicht möglich. Man gibt hier die Dieseldrehzahl vor, daraus wird die Spannung berechnet und der entsprechende Motorstrom und eben die Zugkraft dazu. Das ist kein Problem, solange die Regelungsmöglichkeiten genügend fein abgestuft sind, wie zum Beispiel bei der Ludmilla (BR 232). Sobald man aber versucht, nach amerikanischem Vorbild den Fahrschalter auf wenige Stufen zu reduzieren, stößt man knallhart auf gewisse Grenzen:
Gewaltige Sprünge bei Strom und Zugkraft zwischen den einzelnen Stufen. Möchte man den Strom in gewissen Grenzen halten, um Überlastung vorzubeugen, muss man sehr vorsichtig aufschalten, was bedeutet, dass man unter Umständen ewig mit einer minimalen Zugkraft vor sich hinkrebbsen muss, bevor man in die nächste Stufe schalten kann, wo die Lok wieder ordentlich durchzieht. Macht besonders viel Spaß, wenn man versucht, nach Winterberg hochzufahren, weil man da gar nicht dazu kommt, hochzuschalten.
Nun, jedenfalls hab ich beschlossen, die Problematik am Schopf zu packen und ein kleines Extraprogramm zu schreiben. Es simuliert einen eigenen Fahrschalter, an dem es sich orientiert und mit dem es dann den Zusi-eigenen Fahrschalter steuert. Dem Zusi-Fahrzeug werden dann entsprechend viele Fahrstufen verpasst. Mein Programm verhält sich dann entsprechend einem frei programmierbaren Schema, welche Grenzen in welcher Programm-Fahrstufe einzuhalten sind. Man kann Soll-Ströme angeben, die unter Einbeziehung einer einstellbaren Hysterese gehalten werden, oder auch Grenzen für den Zusi-Fahrschalter, die nicht verlassen werden dürfen.
Eine Spezialität ist die Beschleunigerfunktion.
Für diejenigen, die mit dem Begriff nicht vertraut sind:
Ein Beschleunigerschaltwerk kennt nur die Befehle "Aufschalten" und "Aus". Entsprechend bedient man sie wie zum Beispiel bei den alten Berliner S-Bahn-Fahrzeugen über einen dicken, fetten Knopf. Ist der runtergedrückt, rattert das Schaltwerk hoch, bis es seinen Grenzstrom erreicht. Wird der unterschritten, schaltet es in die nächste Stufe hoch und so weiter. Lässt der Lokführer den Knopf los, macht es Karums, die Motoren werden schlagartig abgeschaltet und das Schaltwerk knallt in einem Rutsch in die Aus-Stellung zurück.
Sehr eindrucksvolle Sache im 475, bei dem das Schaltwerk bei jeder Stufe ein lautstarkes Ra-Klack von sich gibt. Besonders schön ist dann der Abschaltvorgang, weil dann per Druckluft ein ziemlich dicker, blauer Lichtbogen seitlich am Fahrzeug rausgepustet wird. Nachts und im Tunnel herrlich.
Der Amperematic deluxe ist nun auch in der Lage, ein solches Schaltwerk zu steuern. Es unterscheidet sich von der anderen Steuervariante im Wesentlichen ja dadurch, dass die Anzahl der einstellbaren Fahrstufen ins Extrem getrieben wird (Nämlich eine, genaugenommen zwei, wenn man die wählbare Anfahrbeschleunigung mit einbezieht) und dass nicht stufenweise abgeregelt wird, sondern einfach sofort auf Null geknallt wird.
Den 475 hab ich schon entsprechend umgerüstet - fährt sich interessant.
Wenn ich dann die andere Regelungsart neu umgesetzt hab (Ich strukturier' das Programm grade etwas um), gibts hier ne Beta.
Angedacht ist, auch eine Zugkraftsteuerung umzusetzen, für Fahrzeuge, bei denen das im Zusi noch nicht möglich ist, eventuell mit Ausweitung des Ganzen auf die dynamische Bremse. Wenn ich dann noch die Muße hab, kommt da außenrum noch ne optionale Auf-Ab-Regelung, müsste eigentlich keine große Sache sein, aber das muss ich sehen.
So. Das Ganz Kranke Extrem: Wenn ich wirklich absolut nichts besseres mehr mit meiner Zeit anzufangen weiß, könnte ich noch AFB-Regelkreise implementieren, wie sie in der 143 oder der 1044 umgesetzt sind. Aber das nur ganz am Rande und mit einem dicken, fetten "vielleicht".
Ich kenn mich gut genug, um nicht zu sagen "mach ich bestimmt"...
Edit (19.08.06):
Aktuelles Amperematic-Release hier
Der Lokführer bedient dann also einen Fahrschalter mit nur acht Fahrstufen und regelt damit die Drehzahl des Fahrdiesels. Parallel dazu läuft besagtes Schaltwerk mit und ermöglicht, dass innerhalb gewisser Grenzen ein trotz steigender Geschwindigkeit einigermaßen konstantes Motorstromniveau gehalten wird.
Das ist in Zusi momentan so direkt aber nicht möglich. Man gibt hier die Dieseldrehzahl vor, daraus wird die Spannung berechnet und der entsprechende Motorstrom und eben die Zugkraft dazu. Das ist kein Problem, solange die Regelungsmöglichkeiten genügend fein abgestuft sind, wie zum Beispiel bei der Ludmilla (BR 232). Sobald man aber versucht, nach amerikanischem Vorbild den Fahrschalter auf wenige Stufen zu reduzieren, stößt man knallhart auf gewisse Grenzen:
Gewaltige Sprünge bei Strom und Zugkraft zwischen den einzelnen Stufen. Möchte man den Strom in gewissen Grenzen halten, um Überlastung vorzubeugen, muss man sehr vorsichtig aufschalten, was bedeutet, dass man unter Umständen ewig mit einer minimalen Zugkraft vor sich hinkrebbsen muss, bevor man in die nächste Stufe schalten kann, wo die Lok wieder ordentlich durchzieht. Macht besonders viel Spaß, wenn man versucht, nach Winterberg hochzufahren, weil man da gar nicht dazu kommt, hochzuschalten.
Nun, jedenfalls hab ich beschlossen, die Problematik am Schopf zu packen und ein kleines Extraprogramm zu schreiben. Es simuliert einen eigenen Fahrschalter, an dem es sich orientiert und mit dem es dann den Zusi-eigenen Fahrschalter steuert. Dem Zusi-Fahrzeug werden dann entsprechend viele Fahrstufen verpasst. Mein Programm verhält sich dann entsprechend einem frei programmierbaren Schema, welche Grenzen in welcher Programm-Fahrstufe einzuhalten sind. Man kann Soll-Ströme angeben, die unter Einbeziehung einer einstellbaren Hysterese gehalten werden, oder auch Grenzen für den Zusi-Fahrschalter, die nicht verlassen werden dürfen.
Eine Spezialität ist die Beschleunigerfunktion.
Für diejenigen, die mit dem Begriff nicht vertraut sind:
Ein Beschleunigerschaltwerk kennt nur die Befehle "Aufschalten" und "Aus". Entsprechend bedient man sie wie zum Beispiel bei den alten Berliner S-Bahn-Fahrzeugen über einen dicken, fetten Knopf. Ist der runtergedrückt, rattert das Schaltwerk hoch, bis es seinen Grenzstrom erreicht. Wird der unterschritten, schaltet es in die nächste Stufe hoch und so weiter. Lässt der Lokführer den Knopf los, macht es Karums, die Motoren werden schlagartig abgeschaltet und das Schaltwerk knallt in einem Rutsch in die Aus-Stellung zurück.
Sehr eindrucksvolle Sache im 475, bei dem das Schaltwerk bei jeder Stufe ein lautstarkes Ra-Klack von sich gibt. Besonders schön ist dann der Abschaltvorgang, weil dann per Druckluft ein ziemlich dicker, blauer Lichtbogen seitlich am Fahrzeug rausgepustet wird. Nachts und im Tunnel herrlich.
Der Amperematic deluxe ist nun auch in der Lage, ein solches Schaltwerk zu steuern. Es unterscheidet sich von der anderen Steuervariante im Wesentlichen ja dadurch, dass die Anzahl der einstellbaren Fahrstufen ins Extrem getrieben wird (Nämlich eine, genaugenommen zwei, wenn man die wählbare Anfahrbeschleunigung mit einbezieht) und dass nicht stufenweise abgeregelt wird, sondern einfach sofort auf Null geknallt wird.
Den 475 hab ich schon entsprechend umgerüstet - fährt sich interessant.
Wenn ich dann die andere Regelungsart neu umgesetzt hab (Ich strukturier' das Programm grade etwas um), gibts hier ne Beta.
Angedacht ist, auch eine Zugkraftsteuerung umzusetzen, für Fahrzeuge, bei denen das im Zusi noch nicht möglich ist, eventuell mit Ausweitung des Ganzen auf die dynamische Bremse. Wenn ich dann noch die Muße hab, kommt da außenrum noch ne optionale Auf-Ab-Regelung, müsste eigentlich keine große Sache sein, aber das muss ich sehen.
So. Das Ganz Kranke Extrem: Wenn ich wirklich absolut nichts besseres mehr mit meiner Zeit anzufangen weiß, könnte ich noch AFB-Regelkreise implementieren, wie sie in der 143 oder der 1044 umgesetzt sind. Aber das nur ganz am Rande und mit einem dicken, fetten "vielleicht".
Ich kenn mich gut genug, um nicht zu sagen "mach ich bestimmt"...
Edit (19.08.06):
Aktuelles Amperematic-Release hier
Zuletzt geändert von Andreas Karg am 19.08.2006 23:52:48, insgesamt 1-mal geändert.
-
- Beiträge: 3410
- Registriert: 04.11.2001 20:39:16
- Aktuelle Projekte: Nothing in particular
- Wohnort: Erftstadt
- Kontaktdaten:
Re: Amperematic deluxe
DANKEEE!!!!!!AndiK hat geschrieben:Eine Spezialität ist die Beschleunigerfunktion.
Man sollte sich immer gut überlegen, was man sich wünscht. Manchmal passiert es, dass man es kriegt (Meat Loaf)
- Carsten Hölscher
- Administrator
- Beiträge: 33450
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Carsten: Wenn du nicht vorhast, übermorgen eine Beta von Zusi3 rauszuhauen, schon. Zumindest der Teil, der bisher implementiert ist. Die Prozedur mit den Regelkreisen drin umfasst momentan exakt 65 Zeilen und besteht größtenteils aus ifs. Besonders viel Entwicklungsenergie ist das nicht.
Der andere "aufwändige" Teil war die Routine zum Einlesen der XML, und die ist reine Routine.
Als Spielerei nebenher glangts jedenfalls schon.
Aber gut, dass du mich dran erinnerst - das mit der 143 sollte ich dann doch lieber lassen. :}
Der andere "aufwändige" Teil war die Routine zum Einlesen der XML, und die ist reine Routine.
Als Spielerei nebenher glangts jedenfalls schon.
Aber gut, dass du mich dran erinnerst - das mit der 143 sollte ich dann doch lieber lassen. :}
- Carsten Hölscher
- Administrator
- Beiträge: 33450
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Nene, ich hab gestern damit angefangen.
Ich war übrigens selber überrascht, wie einfach das umzusetzen ist.
Ich war übrigens selber überrascht, wie einfach das umzusetzen ist.
Zuletzt geändert von Andreas Karg am 05.06.2006 21:18:45, insgesamt 1-mal geändert.
- Jörg Petri
- Beiträge: 921
- Registriert: 04.11.2001 19:06:35
- Aktuelle Projekte: S-Bahnen Berlin & diverse Straßenbahnen . [zusätzlich auch ZusiFunkTool & Schmalspurbereich(D & CH)]
- Wohnort: Saaleplatte/Thüringen (ex.Leipzig/Sachsen) zw. Seelze/Niedersachsen
- Kontaktdaten:
Wieso, mich würde es schon freuen. Bestimmt wäre ich nicht der Einzigste.AndiK hat geschrieben:... Aber gut, dass du mich dran erinnerst - das mit der 143 sollte ich dann doch lieber lassen. :}
Jörg Petri
Fdl FuB-Netz Hannover
Zusi-Signal-&-Fahrzeugbau Saaleplatte / Standort Saaleplatte und Seelze
schmalspur(AT)zpa(DOT)zusi(DOT)de - ZPA-Abteilung Schmalspur
Fdl FuB-Netz Hannover
Zusi-Signal-&-Fahrzeugbau Saaleplatte / Standort Saaleplatte und Seelze
schmalspur(AT)zpa(DOT)zusi(DOT)de - ZPA-Abteilung Schmalspur
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Naja, die wär dann vielleicht doch etwas aufwändiger. Aber mal gucken. Hier ist jedenfalls erst mal ein erstes Release. Angepasste 475 und 218 liegen bei. Die 218 ist etwas aufgemotzt und auf dieselelektrisch umgerüstet. Dazu passend ein umgebastelter Führerstand, bei dem der Drehzahlmesser jetzt Ampere anzeigt und das Ausgleichsbehältermanometer die Zugkraft.
Viel Spaß damit - und Anmerkungen und Kritik bitte ohne Umschweife hierher.
Download: http://andik.g3th.net/amperematic_050606_2121.zip
Viel Spaß damit - und Anmerkungen und Kritik bitte ohne Umschweife hierher.
Download: http://andik.g3th.net/amperematic_050606_2121.zip
Zuletzt geändert von Andreas Karg am 05.06.2006 21:27:28, insgesamt 1-mal geändert.
-
- Beiträge: 708
- Registriert: 04.12.2002 20:44:14
- Wohnort: Zwijndrecht (NL)
- Kontaktdaten:
Eine interessantes Programm, Andi. Die Regelung finde ich etwas merkwürdig, aber die Zugkraft lässt sich wohl über Zusi nicht anders reglen als über den Drehzahl.
Das "Schaltwerk" in die klassische Gleichstrom-DE-Lok besteht aus einige unabhängige Einheiten:
Hauptstrom NS DE-Lokomotive Reihe 2200
hg: Hilfsgenerator - EF: Erregungsschalter - LR: Load Regulator - H*: Hump Control - O: Erreger - GS: Startschalter - G: Hauptgenerator - M: Shuntschalter - S: Serienschalter - P: Parallelschalter.
Die 2200 hat 4 Fahrmotore (Seriemotore) M1...M4, die in zwei Gruppen identisch geschaltet sind.
Leistungsdaten: DM: 662 kW - G: 550 kW - M: 184 kW - Fmax: 185 kN - DM-Drehzahl: 520, 575, 670, 810, 800, 850, 1055, 1100 /min.
Leistungskurven
Der Load Regulator beschränkt der Generatorfeldstrom zwischen S und T.
Diverse Kurven
Schaltet man der Fahrschalter ein, schaltet S1 ein. Die Motore sind jetzt seriell geschaltet.
T1: auf 550 V - ab 410 V
T2: auf 570 V - ab 440 V
T3: auf 590 V - ab 400 V
Jedes Loktype ist aber underschiedlich: die belgische HLD 62 hat z.B. die Motore ständig parallel und nur eine Shuntstufe (60 km/h). Bei der sechsachsige HLD 55 und CFL 1800 hat man einen zusätzlichen Wähler serie/auto/parallel. Shunting ist immer automatisch. Der Tf muss aber selbst den Strom überwachen. Dafür haben belgische Loks eine kleine Tabelle im Fst, die 55 z.B:SP: serie-parallel - P: parallel - PS: parallel+shunt - 4 TM: 4 Fahrmotore
Gruss, Arie
Das "Schaltwerk" in die klassische Gleichstrom-DE-Lok besteht aus einige unabhängige Einheiten:
- Der Load Regulator regelt den Erregungsstrom des Hauptgeneratorfeldes (einigermassen verzögert) so dass der Generator nicht mehr Leistung fragt als der Dieselmotor liefern kann, also wo sich in das Diagramm die Generator-Kurve G und die DM-Kurve M sich überschneiden.
- Der Shunt- und ggf. Serie/Parallelschaltung, der über die Generatorspannung geschaltet werden.
Hauptstrom NS DE-Lokomotive Reihe 2200
hg: Hilfsgenerator - EF: Erregungsschalter - LR: Load Regulator - H*: Hump Control - O: Erreger - GS: Startschalter - G: Hauptgenerator - M: Shuntschalter - S: Serienschalter - P: Parallelschalter.
Die 2200 hat 4 Fahrmotore (Seriemotore) M1...M4, die in zwei Gruppen identisch geschaltet sind.
Leistungsdaten: DM: 662 kW - G: 550 kW - M: 184 kW - Fmax: 185 kN - DM-Drehzahl: 520, 575, 670, 810, 800, 850, 1055, 1100 /min.
Leistungskurven
Der Load Regulator beschränkt der Generatorfeldstrom zwischen S und T.
Diverse Kurven
Schaltet man der Fahrschalter ein, schaltet S1 ein. Die Motore sind jetzt seriell geschaltet.
- Bei etwa 24 km/h beträgt die Generatorspannung 550 V (Punkt A) und die Shuntschalter M1 und M2 werden über Spannungsrelais T1 eingeschaltet (Punkt B).
- Bei etwa 34 km/h beträgt die Generatorspannung 570 V (Punkt C) und die Shuntschalter M5 und M6 werden über Spannungsrelais T2 eingeschaltet (Punkt D).
- Bei etwa 52 km/h beträgt die Generatorspannung 590 V (Punkt E), das Spannungsrelais T3 schaltet S1 aus, P1 und P2 ein (parallel). T1 und T2 sind jetzt wieder abgeschaltet. Wir haben jetzt Punkt F erreicht. In der Praxis schaltet die Lok einige Male zwischen E und F weil das Woodward-Motorregelgerät träger ist als T3 und die Spannung zu lange unterhalb 400 V senkt.
- Bei etwa 65 km/h beträgt die Generatorspannung wieder 550 V und die Shuntschalter M1 und M2 werden über Spannungsrelais T1 wieder eingeschaltet (Punkt G). 570 V wird in der Praxis nie erreicht.
T1: auf 550 V - ab 410 V
T2: auf 570 V - ab 440 V
T3: auf 590 V - ab 400 V
Jedes Loktype ist aber underschiedlich: die belgische HLD 62 hat z.B. die Motore ständig parallel und nur eine Shuntstufe (60 km/h). Bei der sechsachsige HLD 55 und CFL 1800 hat man einen zusätzlichen Wähler serie/auto/parallel. Shunting ist immer automatisch. Der Tf muss aber selbst den Strom überwachen. Dafür haben belgische Loks eine kleine Tabelle im Fst, die 55 z.B:
Code: Alles auswählen
SP P/PS 4 TM
Continu 1350 2400 1800
60 min 1455 2400 1940
30 min 1530 2400 2040
15 min 1635 2400 2180
1 min 2100 2400 2400
Gruss, Arie
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Hmm. Interessante Diagramme...
Eine Sache, von der ich schon ewig träume, das is eine modulare Simulation einer Diesel-Antriebsanlage. Ich wollte das ja bisher immer schon in den Soundthesizer implementieren. Mit "modular" meinte ich, dass der gesamte Antriebsstrang aufgeteilt wird in Baugruppen, die untereinander gewisse Betriebsparameter hin- und herschieben.
Im Wesentlichen für den Soundthesizer interessant wäre der Dieselmotor selber, den ich in Form einer Reihe von Regelkreisen simulieren wollte:
- Der "Motorblock", selber, also Luft+Diesel rein, Drehmoment, Drehzahl und Abgas raus, das Ganze unter Einbeziehung der Trägheit der bewegten Massen.
- Die "Einspritzpumpe", sprich, Regelsystem für die eingespritzte Treibstoffmenge
- Ansaugsystem, gegebenenfalls mit einem einfachen Turbolader, der mit einer gewissen Trägheit aus der Abgasmenge den Unterdruck im Ansaugtrakt senkt. Die Daseinsberechtigung hierfür besteht eigentlich nur darin, dass man passende Rauchwolken erzeugen kann, wenn man ordentlich am Gaszug rumreißt, solang der Turbo noch nicht auf Touren ist.
An den Dieselmotor angeschlossen kämen dann optional ein Wandlergetriebe, bei dem ich absolut keine Ahnung habe, wie man es berechnet, oder ein Generator, der in Abhängigkeit der vom Diesel erzeugten Werte (Drehzahl / Drehmoment) und der zusätzlich eingeführten Feldstärke wiederum eine Spannung für die Fahrmotoren erzeugt. Hier wirds wahrscheinlich kompliziert, weil die Parameter des Generators ja auch den Diesel beeinflussen.
Auf den Generator würde dann eine große schwarze Kiste mit vielen Anschlüssen und ganz viel KLACK drin folgen, die ungefähr das enthält, was Arie so schön in Diagrammform hier abgebildet hat. Da dran angeschlossen sind die Fahrmotoren und damit wär der Antriebsstrang eigentlich schon fertig. Quasi.
Ich weiß, ich bin größenwahnsinnig. Aber man wird ja wohl noch träumen dürfen.
Eine Sache, von der ich schon ewig träume, das is eine modulare Simulation einer Diesel-Antriebsanlage. Ich wollte das ja bisher immer schon in den Soundthesizer implementieren. Mit "modular" meinte ich, dass der gesamte Antriebsstrang aufgeteilt wird in Baugruppen, die untereinander gewisse Betriebsparameter hin- und herschieben.
Im Wesentlichen für den Soundthesizer interessant wäre der Dieselmotor selber, den ich in Form einer Reihe von Regelkreisen simulieren wollte:
- Der "Motorblock", selber, also Luft+Diesel rein, Drehmoment, Drehzahl und Abgas raus, das Ganze unter Einbeziehung der Trägheit der bewegten Massen.
- Die "Einspritzpumpe", sprich, Regelsystem für die eingespritzte Treibstoffmenge
- Ansaugsystem, gegebenenfalls mit einem einfachen Turbolader, der mit einer gewissen Trägheit aus der Abgasmenge den Unterdruck im Ansaugtrakt senkt. Die Daseinsberechtigung hierfür besteht eigentlich nur darin, dass man passende Rauchwolken erzeugen kann, wenn man ordentlich am Gaszug rumreißt, solang der Turbo noch nicht auf Touren ist.
An den Dieselmotor angeschlossen kämen dann optional ein Wandlergetriebe, bei dem ich absolut keine Ahnung habe, wie man es berechnet, oder ein Generator, der in Abhängigkeit der vom Diesel erzeugten Werte (Drehzahl / Drehmoment) und der zusätzlich eingeführten Feldstärke wiederum eine Spannung für die Fahrmotoren erzeugt. Hier wirds wahrscheinlich kompliziert, weil die Parameter des Generators ja auch den Diesel beeinflussen.
Auf den Generator würde dann eine große schwarze Kiste mit vielen Anschlüssen und ganz viel KLACK drin folgen, die ungefähr das enthält, was Arie so schön in Diagrammform hier abgebildet hat. Da dran angeschlossen sind die Fahrmotoren und damit wär der Antriebsstrang eigentlich schon fertig. Quasi.
Ich weiß, ich bin größenwahnsinnig. Aber man wird ja wohl noch träumen dürfen.
Zuletzt geändert von Andreas Karg am 06.06.2006 16:18:28, insgesamt 1-mal geändert.
- (Ar-) T-Rex
- Beiträge: 4795
- Registriert: 19.02.2003 21:07:56
- Aktuelle Projekte: Seit 65 Millionen Jahren die Entwicklung der Eisenbahn beobachten
- Wohnort: Österreich
- Kontaktdaten:
- Carsten Hölscher
- Administrator
- Beiträge: 33450
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
-
- Beiträge: 775
- Registriert: 26.01.2005 16:10:18
- Wohnort: Darmstadt
Dein Programm bekommt den aktuellen Fahrzustand von Zusi über den TCP-Server -- soweit ist mir das Funktionsprinzip klar.
Wie funktioniert das Feedback, also die Steuerung des Schaltwerks durch "Amperematic Deluxe"?
Ich vermute, die Tastatureingabe wird abgefangen und das Programm erzeugt neue Tastaturereignisse .
Ich denke nämlich darüber nach, mich einmal an einem besseren Zusi-Autopiloten zu versuchen...
- Christopher
Wie funktioniert das Feedback, also die Steuerung des Schaltwerks durch "Amperematic Deluxe"?
Ich vermute, die Tastatureingabe wird abgefangen und das Programm erzeugt neue Tastaturereignisse .
Ich denke nämlich darüber nach, mich einmal an einem besseren Zusi-Autopiloten zu versuchen...
- Christopher
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Richtig, Christopher. Ich verwende die nette Funktion "SendKeyToZusi" von Daniel Schuhmann, die genau das tut, wonach sie benannt ist - einen Tastaturbefehl an Zusi schicken.
Edit zwecks der andren Posts:
Gut, wenn mich hier alle so ermutigen, werd ich mir mal genauer überlegen, wie ich das Ding zusammensetzen müsste. Hauptaufgabe erstmal dürfte ein Welt-Emulator sein, innerhalb dessen Zeit vergeht und wo ich einen Zug drin fahren lassen kann, eben das, was auch beim Dampfloksimulator um die Lok herum passiert.
Wenn ich dann erst mal die Möglichkeit hab, Regelkreise nicht grob schrittweise zu steuern, sondern sie in Abhängigkeit von der Zeit zu setzen, kann ich vielleicht anfangen zu überlegen, da nen simplen Motor reinzusetzen.
Übrigens, wenn man das Ganze auf die Spitze treibt, bekommt man eigentlich sowas wie ein komplett generisches Antriebssystem. Wenn man noch nen Stromabnehmer und vielleicht nen Trafomodul hat, mit entsprechend angepassten Schaltwerksmodulen, kann man sich sein Antriebssystem zusammenbasteln, wie man will.
Vielleicht sogar wie diese eine frühe Drehstromlok, wo ein großer Elektromotor einen Drehstromgenerator angetrieben hat, an dessen drei Phasen jeweils wiederum ein Einphasen-Wechselstrommotor hing. So hab ichs jedenfalls verstanden, als Arthur mir damals vor langer, langer Zeit davon erzählt hat.
Ich befürchte bloß, dass man irgendwann an die Grenzen der Simulation stößt - immerhin handelt es sich hier um eine Kette von ständig miteinander wechselwirkenden Teilen, also wie beim neuen Bremssystem auch. Und bekanntlich gabs da besonders in der Frühphase Konfigurationen, wo sich das ganze System aufgeschaukelt hat, um irgendwann quasi zu explodieren.
Außerdem bin ich mit der Berechnung solcher Wechselwirkungen rein gar nicht vertraut. Carsten hat da mal was von Differentialgleichungen erzählt, was meine mathematische Kompetenz momentan noch deutlich übersteigt. Aber mal gucken, man will dabei ja auch noch was lernen.
Edit zwecks der andren Posts:
Gut, wenn mich hier alle so ermutigen, werd ich mir mal genauer überlegen, wie ich das Ding zusammensetzen müsste. Hauptaufgabe erstmal dürfte ein Welt-Emulator sein, innerhalb dessen Zeit vergeht und wo ich einen Zug drin fahren lassen kann, eben das, was auch beim Dampfloksimulator um die Lok herum passiert.
Wenn ich dann erst mal die Möglichkeit hab, Regelkreise nicht grob schrittweise zu steuern, sondern sie in Abhängigkeit von der Zeit zu setzen, kann ich vielleicht anfangen zu überlegen, da nen simplen Motor reinzusetzen.
Übrigens, wenn man das Ganze auf die Spitze treibt, bekommt man eigentlich sowas wie ein komplett generisches Antriebssystem. Wenn man noch nen Stromabnehmer und vielleicht nen Trafomodul hat, mit entsprechend angepassten Schaltwerksmodulen, kann man sich sein Antriebssystem zusammenbasteln, wie man will.
Vielleicht sogar wie diese eine frühe Drehstromlok, wo ein großer Elektromotor einen Drehstromgenerator angetrieben hat, an dessen drei Phasen jeweils wiederum ein Einphasen-Wechselstrommotor hing. So hab ichs jedenfalls verstanden, als Arthur mir damals vor langer, langer Zeit davon erzählt hat.
Ich befürchte bloß, dass man irgendwann an die Grenzen der Simulation stößt - immerhin handelt es sich hier um eine Kette von ständig miteinander wechselwirkenden Teilen, also wie beim neuen Bremssystem auch. Und bekanntlich gabs da besonders in der Frühphase Konfigurationen, wo sich das ganze System aufgeschaukelt hat, um irgendwann quasi zu explodieren.
Außerdem bin ich mit der Berechnung solcher Wechselwirkungen rein gar nicht vertraut. Carsten hat da mal was von Differentialgleichungen erzählt, was meine mathematische Kompetenz momentan noch deutlich übersteigt. Aber mal gucken, man will dabei ja auch noch was lernen.
Zuletzt geändert von Andreas Karg am 06.06.2006 19:19:01, insgesamt 1-mal geändert.
-
- Beiträge: 708
- Registriert: 04.12.2002 20:44:14
- Wohnort: Zwijndrecht (NL)
- Kontaktdaten:
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
So. Ich hab heute mal angefangen, in Grundzügen eine Engine für blockorientierte Regelkreise zusammenzusetzen. Im Moment ist da noch nicht viel mit Regeln, aber das Grundkonzept sieht so aus:
Es gibt ein "Mutter-Modul", das die Infrastruktur stellt, also einen leeren Block mit Klassen für Ein- und Ausgänge sowie die Verbindungen dazwischen. Ein- und Ausgänge können nur Zahlen enthalten. Weiterhin kann jeder Block beliebige Eigenschaften besitzen.
Ansonsten stellt diese Unit eine Verwaltungsklasse, die alle Blöcke enthält und die die Blöcke intern so sortiert, dass sie in der richtigen Reihenfolge abgearbeitet werden. Eine visuelle Repäsentation des Ganzen ist noch nicht vorgesehen, aber vielleicht bau ich das noch ein.
Für eventuelle Entwickler von Blöcken ist eigentlich nur das Mutter-Modul interessant - Um einen neuen Block zu erstellen reicht es, eine Klasse von besagtem Modul abzuleiten. Das einzige, was dann noch zwingend vorhanden sein muss ist die Methode, die bei jedem Rechendurchlauf aufgerufen wird. Ansonsten ist man frei wie ein Vogel - wer mag, kann sich einen regelkreisgesteuerten Internetbrowser bauen.
Für ein Benutzerinterface hat man Zugriff auf die Eigenschaften jedes Blockes. Jeder Rechenschritt wird durch einen Befehl an die Verwaltungsklasse initiiert, zusammen mit einem Parameter, der die Anzahl der Ticks seit Start des Regelsystems enthält - enthalten sollte.
Insgesamt jedenfalls mal wieder ein ziemlich flexibles System. Allerdings kann man Blöcke auch verschachteln. Würde im Klartext heißen, dass man sich zum Beispiel einen Regelkreis für einen Dieselmotor oder so aus mehreren Blöcken zusammenbastelt. Um später die Übersicht zu behalten, fasst man diese Blöcke dann zu einem zusammen, der nur die relevanten Ein- und Ausgänge besitzt.
Ich werd heut mal noch ein bisschen rumspielen und gucken, ob ich das Ganze wenigstens zum Laufen bringe.
Das Ganze ist übrigens komplett in Delphi.NET geschrieben und ist gleichzeitig mein erstes .NET-Programm überhaupt.
Freiwillige GUI-Designer dürfen sich hier übrigens melden, mit Benutzerinterfaces hab ichs bekanntlich nicht so.
Es gibt ein "Mutter-Modul", das die Infrastruktur stellt, also einen leeren Block mit Klassen für Ein- und Ausgänge sowie die Verbindungen dazwischen. Ein- und Ausgänge können nur Zahlen enthalten. Weiterhin kann jeder Block beliebige Eigenschaften besitzen.
Ansonsten stellt diese Unit eine Verwaltungsklasse, die alle Blöcke enthält und die die Blöcke intern so sortiert, dass sie in der richtigen Reihenfolge abgearbeitet werden. Eine visuelle Repäsentation des Ganzen ist noch nicht vorgesehen, aber vielleicht bau ich das noch ein.
Für eventuelle Entwickler von Blöcken ist eigentlich nur das Mutter-Modul interessant - Um einen neuen Block zu erstellen reicht es, eine Klasse von besagtem Modul abzuleiten. Das einzige, was dann noch zwingend vorhanden sein muss ist die Methode, die bei jedem Rechendurchlauf aufgerufen wird. Ansonsten ist man frei wie ein Vogel - wer mag, kann sich einen regelkreisgesteuerten Internetbrowser bauen.
Für ein Benutzerinterface hat man Zugriff auf die Eigenschaften jedes Blockes. Jeder Rechenschritt wird durch einen Befehl an die Verwaltungsklasse initiiert, zusammen mit einem Parameter, der die Anzahl der Ticks seit Start des Regelsystems enthält - enthalten sollte.
Insgesamt jedenfalls mal wieder ein ziemlich flexibles System. Allerdings kann man Blöcke auch verschachteln. Würde im Klartext heißen, dass man sich zum Beispiel einen Regelkreis für einen Dieselmotor oder so aus mehreren Blöcken zusammenbastelt. Um später die Übersicht zu behalten, fasst man diese Blöcke dann zu einem zusammen, der nur die relevanten Ein- und Ausgänge besitzt.
Ich werd heut mal noch ein bisschen rumspielen und gucken, ob ich das Ganze wenigstens zum Laufen bringe.
Das Ganze ist übrigens komplett in Delphi.NET geschrieben und ist gleichzeitig mein erstes .NET-Programm überhaupt.
Freiwillige GUI-Designer dürfen sich hier übrigens melden, mit Benutzerinterfaces hab ichs bekanntlich nicht so.
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
Okkääääy.
Trotz anhaltender Müdigkeit (Mein Spieß war der Ansicht, es sei an der Zeit, dass die Kompanie mal um 4:30 aufsteht, um Stuben und Reviere zu reinigen, weil am Vortag viele Leute um 6:15 noch in den Betten waren... und das bei Dienstbeginn um 7 Uhr!! Hat immer wunderbar geklappt, aber naja.) hab ich nu mal ein paar Zeilen programmiert und kann folgende Feststellung feststellen tun:
Es läuft. Man kann ein funktionsfähiges Netzwerk von Zellen aufbauen. Was noch nicht existiert, das ist die tolle Sortierfunktion für die Blöcke, da muss ich mir noch was überlegen.
Jedenfalls existiert das Grundgerüst, und sobald ich in der Lage bin, mein Gehirn wieder zu verwenden, spiel ich mal mit dem Einlesen von Kennlinien rum (Wird wohl auf XML rauslaufen...) und mit anderen etwas komplizierteren Dingen. Oder so. Weiß ja nicht, wie groß hier das Interesse an einem Amperematic² ist.
Trotz anhaltender Müdigkeit (Mein Spieß war der Ansicht, es sei an der Zeit, dass die Kompanie mal um 4:30 aufsteht, um Stuben und Reviere zu reinigen, weil am Vortag viele Leute um 6:15 noch in den Betten waren... und das bei Dienstbeginn um 7 Uhr!! Hat immer wunderbar geklappt, aber naja.) hab ich nu mal ein paar Zeilen programmiert und kann folgende Feststellung feststellen tun:
Es läuft. Man kann ein funktionsfähiges Netzwerk von Zellen aufbauen. Was noch nicht existiert, das ist die tolle Sortierfunktion für die Blöcke, da muss ich mir noch was überlegen.
Jedenfalls existiert das Grundgerüst, und sobald ich in der Lage bin, mein Gehirn wieder zu verwenden, spiel ich mal mit dem Einlesen von Kennlinien rum (Wird wohl auf XML rauslaufen...) und mit anderen etwas komplizierteren Dingen. Oder so. Weiß ja nicht, wie groß hier das Interesse an einem Amperematic² ist.
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten:
So. Es gibt mal was neues.
Ich hab das Ur-Programm nochmal ein bisschen erweitert.
Es kann jetzt als Alternative zum Oberstrom auch nach Zugkraft regeln. Bringt für Dieselfahrzeuge eigentlich nichts, weil bei denen der Oberstrom identisch ist mit dem Motorstrom und der wiederum ist meines Wissens proportional zur Zugkraft. Wo es aber was bringt, das ist bei richtigen Elektrofahrzeugen, wo man eine Zugkraft oder Beschleunigung vorgeben kann und wo Zusi das noch nicht selber kann.
Noch was Neues: Auf Wunsch kann man die Schaltgeschwindigkeiten des Schaltwerks jetzt für jede Fahrschalterstufe einzeln wählen. Es scheint da, grade bei Beschleunigerschaltwerken, üblich zu sein, statt bestimmter Zugkraftgrenzen einfach eine Aufschaltzeit einzustellen.
Und noch was: Der Amperematic kann jetzt auch dynamisch bremsen. Hab ich eingebaut, weil es mich schon immer ein wenig gestört hat, dass Reihenschluss-Elektroloks ihre maximale Bremskraft im Zusi immer nur bei Höchstgeschwindigkeit haben. Die echten Loks haben in der Regel aber noch ein lustiges Extragerät, das die Motoren so regelt, dass die maximale Bremskraft bis weit unter Höchstgeschwindigkeit gehalten werden kann. Die 110 hab ich mir so umgebaut, dass die 65kN zwischen 140 und 60km/h gehalten werden, darunter fällt die Bremskraft rapide ab.
Download gibts irgendwann anders heute. Durch die Extraspielereien ist das Programm nämlich nicht grad schöner geworden. Muss also noch ein wenig testfahren, um etwaige Fehler zu finden.
Ich hab das Ur-Programm nochmal ein bisschen erweitert.
Es kann jetzt als Alternative zum Oberstrom auch nach Zugkraft regeln. Bringt für Dieselfahrzeuge eigentlich nichts, weil bei denen der Oberstrom identisch ist mit dem Motorstrom und der wiederum ist meines Wissens proportional zur Zugkraft. Wo es aber was bringt, das ist bei richtigen Elektrofahrzeugen, wo man eine Zugkraft oder Beschleunigung vorgeben kann und wo Zusi das noch nicht selber kann.
Noch was Neues: Auf Wunsch kann man die Schaltgeschwindigkeiten des Schaltwerks jetzt für jede Fahrschalterstufe einzeln wählen. Es scheint da, grade bei Beschleunigerschaltwerken, üblich zu sein, statt bestimmter Zugkraftgrenzen einfach eine Aufschaltzeit einzustellen.
Und noch was: Der Amperematic kann jetzt auch dynamisch bremsen. Hab ich eingebaut, weil es mich schon immer ein wenig gestört hat, dass Reihenschluss-Elektroloks ihre maximale Bremskraft im Zusi immer nur bei Höchstgeschwindigkeit haben. Die echten Loks haben in der Regel aber noch ein lustiges Extragerät, das die Motoren so regelt, dass die maximale Bremskraft bis weit unter Höchstgeschwindigkeit gehalten werden kann. Die 110 hab ich mir so umgebaut, dass die 65kN zwischen 140 und 60km/h gehalten werden, darunter fällt die Bremskraft rapide ab.
Download gibts irgendwann anders heute. Durch die Extraspielereien ist das Programm nämlich nicht grad schöner geworden. Muss also noch ein wenig testfahren, um etwaige Fehler zu finden.
-
- Beiträge: 4718
- Registriert: 28.04.2002 12:56:00
- Kontaktdaten: