Fahrzeugantrieb-dll

Das Unterforum für Diskussionen rund um die Technik, Bedienung, Konfiguration usw. Das ist auch die erste Anlaufstelle für Bastler mit Fragen zu den Editoren.
Nachricht
Autor
Benutzeravatar
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

#41 Beitrag von Leif K. »

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

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#42 Beitrag von F. Schn. »

@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

Benutzeravatar
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

#43 Beitrag von Leif K. »

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. :respekt 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

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33847
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrzeugantrieb-dll

#44 Beitrag von Carsten Hölscher »

Das Thema liegt gerade noch auf dem Aufgabenstapel.

Carsten

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#45 Beitrag von F. Schn. »

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

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#46 Beitrag von F. Schn. »

F. Schn. hat geschrieben: 24.09.2023 22:21:33 Aber generell ist halt das keine sinnvolle Vorgehensweise, das ist ja denke ich klar.
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

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33847
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrzeugantrieb-dll

#47 Beitrag von Carsten Hölscher »

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;

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#48 Beitrag von F. Schn. »

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

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33847
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrzeugantrieb-dll

#49 Beitrag von Carsten Hölscher »

Das ist ein enum, ich such es noch raus.

Carsten

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33847
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrzeugantrieb-dll

#50 Beitrag von Carsten Hölscher »

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
                               );

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#51 Beitrag von F. Schn. »

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

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33847
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrzeugantrieb-dll

#52 Beitrag von Carsten Hölscher »

ah, sorry

Code: Alles auswählen

TTraktionssperren = int64;   // bitweise TTraktionssperrengrund 
Carsten

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#53 Beitrag von F. Schn. »

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):

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;
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.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33847
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Fahrzeugantrieb-dll

#54 Beitrag von Carsten Hölscher »

Etwas Erklärung dazu wär schon nicht schlecht.

Carsten

Benutzeravatar
F. Schn.
Beiträge: 7225
Registriert: 24.10.2011 18:58:26

Re: Fahrzeugantrieb-dll

#55 Beitrag von F. Schn. »

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.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Antworten