Fahrzeugantrieb-dll
- Leif K.
- Beiträge: 430
- Registriert: 30.04.2023 10:33:53
- Aktuelle Projekte: Fahrplaneditor lernen und verstehen
- Wohnort: KKUZ (kennt das noch jemand?), am Wochenende EDG
Re: Fahrzeugantrieb-dll
Und das Ergebnis vom Schnelltest: die bemängelten Punkte sind behoben, herzlichen Dank noch einmal. Für systematische Tests vor allem bei der 111 brauche ich aber noch ein paar Tage Zeit …
„Die Neugier steht immer an erster Stelle des Problems, das gelöst werden soll.“ (Galileo Galilei). Oder schlichter gesagt: Bei ehrlicher Neugier gibt es keine dummen Fragen.
Danke & Beste Grüße, Leif
Danke & Beste Grüße, Leif
Re: Fahrzeugantrieb-dll
@Carsten: Ich würde an der Stelle gerne das AddOn 204 nutzen, um da noch ein paar Vorbereitungen zu machen. Kannst du schon was zu meinem Beitrag #30 sagen? Wenn es komplizierter ist, können wir es auch direkt besprechen.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Leif K.
- Beiträge: 430
- Registriert: 30.04.2023 10:33:53
- Aktuelle Projekte: Fahrplaneditor lernen und verstehen
- Wohnort: KKUZ (kennt das noch jemand?), am Wochenende EDG
Re: Fahrzeugantrieb-dll
Kurze Anmerkung aus der zwischenzeitlichen Betriebserfahrung mit der 111 (Version 2023-09-26):
Mittlerweile zeigt die Fahrstufenanzeige wieder beharrlich "00". Das wäre zwar bei meiner brachialen Fahrweise im Test ein sachlich richtiger Kommentar der Fahrgäste, aber für den Führertisch eigentlich nicht erwartungskompatibel. Dummerweise kann ich Dir nicht sagen, mit welcher beta das wieder reingekommen ist, ich habe am Wochenende den gesamten beta-Strang auf einmal installiert.
Das Grenzwertüberwachungsgerät stellt zwar sachlich richtig fest, dass die Lok schleudert (von mir provoziert), ich stelle aber weder durch die Automatik noch durch manuelles Einschalten des Schleuderschutzes (Taste U) eine Wirkung fest.
Trotzdem sind die ersten Antriebs-dll schöne Experimente geworden und ein guter Beginn eines wahrscheinlich noch sehr langen Wegs. Daher soll auch mein 200. Beitrag bitte nicht als Gemecker aufgefasst werden sondern nur als sachliche Rückmeldung meiner Beobachtungen.
Mittlerweile zeigt die Fahrstufenanzeige wieder beharrlich "00". Das wäre zwar bei meiner brachialen Fahrweise im Test ein sachlich richtiger Kommentar der Fahrgäste, aber für den Führertisch eigentlich nicht erwartungskompatibel. Dummerweise kann ich Dir nicht sagen, mit welcher beta das wieder reingekommen ist, ich habe am Wochenende den gesamten beta-Strang auf einmal installiert.
Das Grenzwertüberwachungsgerät stellt zwar sachlich richtig fest, dass die Lok schleudert (von mir provoziert), ich stelle aber weder durch die Automatik noch durch manuelles Einschalten des Schleuderschutzes (Taste U) eine Wirkung fest.
Trotzdem sind die ersten Antriebs-dll schöne Experimente geworden und ein guter Beginn eines wahrscheinlich noch sehr langen Wegs. Daher soll auch mein 200. Beitrag bitte nicht als Gemecker aufgefasst werden sondern nur als sachliche Rückmeldung meiner Beobachtungen.
„Die Neugier steht immer an erster Stelle des Problems, das gelöst werden soll.“ (Galileo Galilei). Oder schlichter gesagt: Bei ehrlicher Neugier gibt es keine dummen Fragen.
Danke & Beste Grüße, Leif
Danke & Beste Grüße, Leif
- Carsten Hölscher
- Administrator
- Beiträge: 33847
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Fahrzeugantrieb-dll
Das Thema liegt gerade noch auf dem Aufgabenstapel.
Carsten
Carsten
Re: Fahrzeugantrieb-dll
Alles klar, Vielen Dank für die Info.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
Re: Fahrzeugantrieb-dll
NB: Das erwartbare ist jetzt eingetreten. Also ich kann die DLL bei Bedarf noch mal updaten, aber ich würde da ehrlich gesagt warten, bis Carsten Zeit für die Anfrage hat. In der Zwischenzeit kann jeder, der es probiert hat, die Tec-Demo wieder bei sich rauslöschen.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Carsten Hölscher
- Administrator
- Beiträge: 33847
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Fahrzeugantrieb-dll
Hier noch der aktuelle Stand, da hatte sich wohl was geädnert, ohne dass ich es hier vemerkt hatte
Code: Alles auswählen
TProtokollFst = record
Fbv: TKombischalterFkt;
Zbv: TKombischalterFkt;
Rischa: TKombischalterFkt;
SandEin: Boolean; //fahrzeug sandet, wie auch immer es zustande gekommen ist
LuefterEin: Boolean;
MgManuellEin: Boolean;
AntriebAbregelnEin:Boolean; // für Eingriffe Schleuderschutz usw.
Traktionssperren:TTraktionssperren;
BetriebszwangsbremsungEin: Boolean;
ZwangshaltEin: Boolean;
SchaltstufenSteller: TKombischalterFkt;
DynBremsSteller: TKombischalterFkt;
ComputerBremsSteller: TKombischalterFkt;
ZugkraftSteller: TKombischalterFkt;
Wandlerfuellung:TKombischalterFkt;
AFBvSollSteller: TKombischalterFkt;
Ganghebel: TKombischalterFkt;
Stufenschalter: TKombischalterFkt;
Gruppenschalter: TKombischalterFkt;
Hauptschalter: TKombischalterFkt;
Stromabnehmer: TKombischalterFkt;
BatterieHS: TKombischalterFkt;
DynBremseLSSAus: Boolean;
FahrschalterLSSAus: Byte; // 1:deaktiviert 2:Normalzustand 3:gestört
AFBEin: Boolean; // Lage des Schalters
AFBvSollNullstellungszwang:Boolean; // wird gf. von LZB aktiviert
AFBspMax:single; // 160 oder fzg-vmax und Beachtung Zugdaten
AFBsppMax:single; // max. Beschl, default 0.5
TAVHaltebremse:Boolean;
AFBHaltebremseTrotzFahrschalter:Boolean;
TempomatEin: Boolean; // Lage des Schalters
Angleicher: Boolean;
LuftpresserAus: Boolean;
LokBremseEntlueften: Boolean;
Automatischfahren:Boolean;
Individuell:array[1..40] of single;
Federspeicher: TKombischalterFkt;
BremsprobeStatus:Word;
SchleuderschutzElektronischWirksam:Boolean;
FtdIntern:array[1..20] of single;
FuehrertischDeaktiviert: TKombischalterFkt;
Antriebsaktivierung: TKombischalterFkt;
Schleifleistenzustand:Byte;
OberstromvorgabeFzg:Boolean;
end;
Re: Fahrzeugantrieb-dll
Du hast dort eine neue record TTraktionssperren verwendet. Kannst du die auch noch posten?
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Carsten Hölscher
- Administrator
- Beiträge: 33847
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Fahrzeugantrieb-dll
Das ist ein enum, ich such es noch raus.
Carsten
Carsten
- Carsten Hölscher
- Administrator
- Beiträge: 33847
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Fahrzeugantrieb-dll
Nicht alles wird bisher von Zusi bedient, da hatte ich mal irgendeine Vorbildliste in der Hand und hab die Fälle übernommen.
Code: Alles auswählen
TTraktionssperrengrund = ( Trak_Nichts,
Trak_Federspeicher,
Trak_Tueren,
Trak_Bremsprobe,
Trak_SifaHS,
Trak_AufschliessenFahrschalter, // Fahr-/Bremshebel vor Besetzen des Führerraums bereits ausgelenkt
Trak_AufschliessenRischa, // Fahrtrichtungsschalter vor Besetzen des Führerraums ausgelenkt
Trak_KeinAntrieb, // kein verfügbarer Antrieb
Trak_KeineRichtung, // keine oder ungültige Vorgabe der Sollfahrtrichtung
Trak_vMax, // Überschreitung der maximal zulässigen Geschwindigkeit
Trak_BetriebsbremsevMax, // Betriebsbremse: Überschreitung der maximal zulässigen Geschwindigkeit
Trak_FahrbremsQuitt, // Fahr-/Bremshebel ausgelenkt ohne Sifa-Taster-Betätigung
Trak_TempomatAFBEnde, // Traktionssperre/Nullstellungszwang beim Beenden der Geschwindigkeitsregelung/Tempomat
Trak_SifaZB, // SiFa-Eingriff aktiv (Vollbremsung)
Trak_Dynbremse, // Bei Ausgabe eines Sollbremswertes (Ausnahme bei aktivem Tempomat) an ASG und/ oder BSG
Trak_HBLDruck, // HBL-Druck zu niedrig
Trak_HLDruck, // HL-Druck zu niedrig
Trak_Bremsvermoegen, // Bremsvermögen unbrauchbare Bremsen > 75% in einem Triebzug
Trak_MgBremse,
Trak_CDruck,
Trak_Notaus,
Trak_HS,
Trak_Oberspannung,
Trak_Nullstellungszwang
);
Re: Fahrzeugantrieb-dll
Oben in der Klasse hast du TTraktionssperren verwendet. Hast du TTraktionssperren noch mal kurzfristig in TTraktionssperrengrund umbenannt, oder ist TTraktionssperren irgend ein Datentyp, der auf TTraktionssperrengrund basiert?
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Carsten Hölscher
- Administrator
- Beiträge: 33847
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Fahrzeugantrieb-dll
ah, sorry
Carsten
Code: Alles auswählen
TTraktionssperren = int64; // bitweise TTraktionssperrengrund
Re: Fahrzeugantrieb-dll
Ok, Danke.
Ich muss mal schauen, das könnte an dieser Stelle kompliziert sein.
Ich müsste mich dann jetzt einlesen, bevor ich das mache würde ich daher folgenden Gegenvorschlag machen, der dürfte für mich einfacher sein (und nebenbei auch weitgehend Kompatibel mit der Version 3.5.8.0):Geht das so in Ordnung? Wenn nicht müsste ich mich wie gesagt einlesen.
Der Schleifenzustand und die Oberstromvorgabe sollten am besten noch dokumentiert werden.
Ich muss mal schauen, das könnte an dieser Stelle kompliziert sein.
Ich müsste mich dann jetzt einlesen, bevor ich das mache würde ich daher folgenden Gegenvorschlag machen, der dürfte für mich einfacher sein (und nebenbei auch weitgehend Kompatibel mit der Version 3.5.8.0):
Code: Alles auswählen
TProtokollFst = record
Fbv: TKombischalterFkt;
Zbv: TKombischalterFkt;
Rischa: TKombischalterFkt;
SandEin: Boolean; //fahrzeug sandet, wie auch immer es zustande gekommen ist
LuefterEin: Boolean;
MgManuellEin: Boolean;
AntriebAbregelnEin:Boolean; // für Eingriffe Schleuderschutz usw.
Schleifleistenzustand:Byte;
OberstromvorgabeFzg:Boolean;
BetriebszwangsbremsungEin: Boolean;
ZwangshaltEin: Boolean;
SchaltstufenSteller: TKombischalterFkt;
DynBremsSteller: TKombischalterFkt;
ComputerBremsSteller: TKombischalterFkt;
ZugkraftSteller: TKombischalterFkt;
Wandlerfuellung:TKombischalterFkt;
AFBvSollSteller: TKombischalterFkt;
Ganghebel: TKombischalterFkt;
Stufenschalter: TKombischalterFkt;
Gruppenschalter: TKombischalterFkt;
Hauptschalter: TKombischalterFkt;
Stromabnehmer: TKombischalterFkt;
BatterieHS: TKombischalterFkt;
DynBremseLSSAus: Boolean;
FahrschalterLSSAus: Byte; // 1:deaktiviert 2:Normalzustand 3:gestört
AFBEin: Boolean; // Lage des Schalters
AFBvSollNullstellungszwang:Boolean; // wird gf. von LZB aktiviert
AFBspMax:single; // 160 oder fzg-vmax und Beachtung Zugdaten
AFBsppMax:single; // max. Beschl, default 0.5
TAVHaltebremse:Boolean;
AFBHaltebremseTrotzFahrschalter:Boolean;
TempomatEin: Boolean; // Lage des Schalters
Angleicher: Boolean;
LuftpresserAus: Boolean;
LokBremseEntlueften: Boolean;
Automatischfahren:Boolean;
ReserviertFuerByteBoolOderEnum1:Byte;
Individuell:array[1..40] of single;
Federspeicher: TKombischalterFkt;
BremsprobeStatus:Word;
SchleuderschutzElektronischWirksam:Boolean;
ReserviertFuerByteBoolOderEnum2:Byte;
FtdIntern:array[1..20] of single;
FuehrertischDeaktiviert: TKombischalterFkt;
Antriebsaktivierung: TKombischalterFkt;
Traktionssperren:TTraktionssperren;
end;
Der Schleifenzustand und die Oberstromvorgabe sollten am besten noch dokumentiert werden.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat
- Carsten Hölscher
- Administrator
- Beiträge: 33847
- Registriert: 04.07.2002 00:14:42
- Wohnort: Braunschweig
- Kontaktdaten:
Re: Fahrzeugantrieb-dll
Etwas Erklärung dazu wär schon nicht schlecht.
Carsten
Carsten
Re: Fahrzeugantrieb-dll
So, ich habe mich mal eingelesen und das Thema mal hier allgemein behandelt: viewtopic.php?p=360861#p360861
So, was schlage ich im Gegenvorschlag vor: Ich ersetzte das Word von TraktionssperreGrund nicht durch den wesentlich größeren int64 Traktionssperren, sondern durch die zwei 1-Byte-Werte Schleifleistenzustand und OberstromvorgabeFzg, die in der Summe genauso groß wie das Word sind. Dadurch wäre mein Gegenvorschlag für alle DLLs 1:1 kompatibel, und er Verursacht auch weniger Nachdenken, wenn man sich wie ich bei meiner Implementierung von Hand mit dem Alignment beschäftigen muss.
So, was schlage ich im Gegenvorschlag vor: Ich ersetzte das Word von TraktionssperreGrund nicht durch den wesentlich größeren int64 Traktionssperren, sondern durch die zwei 1-Byte-Werte Schleifleistenzustand und OberstromvorgabeFzg, die in der Summe genauso groß wie das Word sind. Dadurch wäre mein Gegenvorschlag für alle DLLs 1:1 kompatibel, und er Verursacht auch weniger Nachdenken, wenn man sich wie ich bei meiner Implementierung von Hand mit dem Alignment beschäftigen muss.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat