Interpretation der CV-Daten der CS2 für Märklin 39321

#1 von Stummilein , 21.02.2023 10:52

Zitat von DiegoGarcia im Beitrag interpretation der CV-Daten der CS2 für Märklin 39321
Hallo liebe MoBa-Kollegen,

.....

Nun zu den Werkswerten des Decoders:
Name: V 320 001 WIEBE
User: <leer>, kann beschrieben werden.
MS1-Icon: 10 (Diesellok)
CS1-Icon: 128
Manufacturer: 131 (Märklin/Trix)
Idx 6: 0
Idx 7: 153
Idx 8: 153
Artikel-Nr: 39321

Firmware
Hersteller: manID = 131
Produkt: proID = 347463 (Decoder Teilenummer)
Produktionsdatum: pInfo = 0001, 2022.04.29
Bootloader: bCode = 6.2.0.0, 2020.02.15 6
Firmware: aCode = 3.2.2.1, 2020.10.13
Hardcode: 75.78.14.5.15.69.0.0, 255.255.255.255
Protokoll: 1.0
Group: 0.0.0.0

Command Analog
Anzahl Funktionen: 32
Anzahl Timer: 4
Anzahl Mapping: 5


Motor
Anfahrspannung = 4
Maximalgeschwindigkeit = 223
Beschleunigungszeit = 24 (6,00 sec.)
Bremszeit = 24 (6,00 sec.)
Vorwärts Trimm = 128
Rückwärts Trimm = 128
Regelungseinfluß = 255
Regelungsreferenz = 120
Regelungs-Parameter K = 58
Regelungs-Parameter I = 48
Regelungs-Parameter D = 0
Langsamgrenze = 115
Langsam K = 0
Langsam I = 0
Langsam D = 0
PWM Start = 220
EMK-Max = 2460
PWM Offset = 90
Regler analog = 1 (analog geregelt)
Regler-Typ/-Info = 2 (PID)
Fahrtrichtungsverhalten = 0
Bremsstrecke = 48
Typ = 5 (mLD/mSD: DC soft)
Tachoanzeige (Gear) = 160 km/h
Drehzahl-Offset = 8
Drehzahl-Steigung = 65
Getriebe-Übersetzung = 8
Radumfang [mm] = 33
Konstanter Bremsweg - Konfiguration = 0
Konstanter Bremsweg - vorwärts = 50 cm
Konstanter Bremsweg - rückwärts = 50 cm
Unknown 1Eh - 1 = 1
Unknown 1Eh - 2 = 0
Fahrstufenkurve = mLD Standard exponentiell
Mit diesen Motorparametern ab Werk hat mein Modell eine massstäbliche Vmax=190km/h.


Timer
Timer 1 (mSD3) = 24
Timer 2 (mSD3) = 16
Timer 3 (mSD3) = 26
Timer 4 (mSD3) = 30

Ausgänge
LV, LH, AUX1-AUX6, 11x Logic, 29x Soundslot

Mapping
genutzt werden LV, LH für Stirnlicht
genutzt werden AUX1, AUX2 für rotes Schlusslicht
genutzt wird AUX3 für Maschinenraumbeleuchtung
für Führerstandsbeleuchtung: SUSI F6, SUSI F8
für Lüfterdrehbewegung 1: SUSI F9, Sound 9, Sound 24, Sound 12
für Lüfterdrehbewegung 2: SUSI F10, Sound 10, Sound 24, Sound 12
genutzte Soundslots: Fahrgeräusch, 1, 2, 3, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21
keine versteckten Sounds.
Das originale Soundprojekt verbraucht 7402KB.


Analog
AC-Analog: aktiviert, Vmin=60, Vmax=250, F0=on
DC-analog: deaktiviert, Vmin=50, Vmax=250, F0=on

Legacy
MM: aktiviert, 2-Adr, V27, Adressen= 32, 255, 254, 253
DCC: aktiviert, 14/28-FS, Adresse kurz=3, CV17=192, CV18=128


Sound
Gesamtlautstärke = 245
Soundabstand der Dampfstöße bei Fahrstufe 1 = 1
Soundabstand der Dampfstöße ab Fahrstufe 2 = 0
Zufallssound, minimaler Abstand (in Sekunden) = 30
Zufallssound, maximaler Abstand (in Sekunden) = 50
Bremsgeräuschschwelle = 15
Richtungswechselsound = 0
Multibahnhofansage = 1
Synchronisation Pantograph = 0
Synchronisation Last = 0
Bandbreite Bremsgeräusch = 15
Auslaufkorrektur Bremsgeräusch = 35


Sonstige
Dauerhaft zu speichernde Zustände = 7
Verschiedene Zustände speichern = 1
Ports / Ausgänge v1 = 0
Motorstromschwelle - Analog = 120
Motorstromschwelle - Digital = 100
Motorstromschwelle - AUX = 100
Funktionenstromschwelle = 65


Spielewelt
Modus = 0
Aktuelle Betriebsstoffvorräte = 255 Wasser/Diesel, 0 Kohle / Öl, 255 Sand
Gesamtkapazität der Betriebsstoffe = 5000 Wasser/Diesel, 0 Kohle / Öl, 250 Sand
Verbrauchsfaktor der Betriebsstoffe = 23 Wasser/Diesel, 0 Kohle / Öl, 5 Sand
Verbrauchsintervall der Betriebsstoffe = 208 Wasser/Diesel, 208 Kohle / Öl
Notlaufschwelle / Reservebetriebsstoffe = 25 Wasser/Diesel, 25 Kohle / Öl, 25 Sand
Notlaufgeschwindigkeit = 10 wenn die Vorräte leer sind, 126 wenn die Vorräte auf Reserve sind
Fahrdauer = 138
Wegstrecke = 29281
Last = 32
Getriebe = 0
Fahrpulttyp = 38 (V160/V320)


Telemetrie
Betriebsdauer = 1650
Fahrdauer = 138
Wegstrecke = 29281
Empfangsfehler = 0


SUSI
SUSI-Teilnehmer-Nr = 2
SUSI CV #1020 = 0
SUSI CV #1021 = 0

SUSI-Modul Nr2:
CV #940 131 Hersteller
CV #941 2 Version
CV #942 14
CV #943 1
CV #944 32
CV #945 255
CV #946 1
CV #947 32
CV #948 255
CV #949 1
CV #950 255
CV #951 255
CV #952 1
CV #953 255
CV #954 255
CV #955 24
CV #956 48
CV #957 128
CV #958 1
CV #959 255
CV #960 255
CV #961 1
CV #962 255
CV #963 255
CV #964 1
CV #965 255
CV #966 255
CV #967 1
CV #968 255
CV #969 255
CV #970 1
CV #971 255
CV #972 255
CV #973 1
CV #974 255
CV #975 255
CV #976 1
CV #977 255
CV #978 255
CV #979 0

Ist sicher nicht jedermanns Sache, sich von dieser Liste langweilen zu lassen. Also erlaube ich mir ein kurzes Fazit:
- Die Funktionalität der Lüftermotoren wird über SUSI im Soundprojekt realisiert.
- Das originale Soundprojekt nutzt den Speicher des Decoders (8 MB) fast vollständig aus.
- Es lassen sich aber ein paar logische Funktionen wie z.B. "Mute" als Funktion nachrüsten.
- AUX4 wird nicht genutzt, aber der Werksdecoder hat AUX4 als verstärkten Ausgang.
- Setzt man "Maximalgeschwindigkeit = 189" liegt die massstäbliche Vmax des Modells vorbildgerecht bei 160km/h.

Ciao
Diego


Hallo Diego,

angeregt durch diesen Beitrag habe ich mich nun endlich dazu aufgerafft, mir die Lokdaten mit Hilfe der CS2 lesbarer zu machen.
Aber ich komme nicht auf Deine Datumsangaben wie diese hier:

Produktionsdatum: pInfo = 0001, 2022.04.29
Bootloader: bCode = 6.2.0.0, 2020.02.15 6
Firmware: aCode = 3.2.2.1, 2020.10.13

Ich komme auf
Produktionsdatum: 2022.04.26
Bootloader: 2020.02.13
Firmware: 2020.10.11

Was mache ich falsch?
Ich ermittel die Datumsangaben am Beispiel des Firmware-Datums wie folgt:
angezeigt auf der CS2: 655776000
Daten aus der VD-Datei: 39 22 89 0
Daraus errechne ich 39*256^3+22*256^2+89*256+0 = 655776000

Daraus ermittel ich das Datum mit Excel und der Formel 655776000 / 86400 + 36525
86400 = 3600 sec * 24 Std.
36525 = Anzahl Tage vom 1.1.1900 bis 1.1.2000, da die CS2 die Tage wohl ab dem 1.1.2000 ermittelt.

Wo liegt mein Fehler?

Ansonsten war es für mich schon eine recht mühsame Arbeit, die mich schon ein paar Stunden kostete

Auch sind Deine Texte manchmal anders als auf der CS2 wie z.B.
Du schreibst: Vorwärts Trimm
Auf der CS2 steht: Korrekturfaktor Vorw.


Beste Grüße Ralf


 
Stummilein
Administrator / Foreninhaber
Beiträge: 7.308
Registriert am: 26.04.2005
Homepage: Link
Spurweite H0
Stromart AC, Digital, Analog

zuletzt bearbeitet 21.02.2023 | Top

RE: Interpretation der CV-Daten der CS2 für Märklin 39321

#2 von TT800 , 21.02.2023 16:09

Hallo Ralf,

Das Firmwaredatum habe ich nachgerechnet: unter Berücksichtigung einer wegen der Sommerzeit eingesparten Stunde sind 655776000 Sekunden genau die Zeit zwischen 1.1.2000, 00:00 und 11.10.2020, 24:00. Wenn man aber im Internet herumschaut, gibt es tools, die den 13. 10. auswerfen - was aber sicher nicht richtig ist.


Viele Grüße,
Stephan
__________________________________________________________________________
[60211{60128connected}+60215{GUI:4.2.13|GFP:3.81}+60216{GUI3:2.4.1(0)|GFP3:12.113}+CS3webApp]
Insider seit 1993 - HeimatBf: MIST Wien - http://www.insider-stammtisch.net/


DiegoGarcia hat sich bedankt!
TT800  
TT800
Metropolitan (MET)
Beiträge: 3.897
Registriert am: 31.07.2009
Ort: Weinviertel, Niederösterreich
Spurweite H0
Steuerung Märklin
Stromart Digital


RE: Interpretation der CV-Daten der CS2 für Märklin 39321

#3 von DiegoGarcia , 21.02.2023 19:01

Hallo Ralf und Stephan,

habe ich da einen Bug drin, ist mir selber aber noch nicht aufgefallen:

das entsprechende Unterprogramm wird aufgerufen aus:

1
2
3
4
5
6
7
8
9
10
11
12
 
....
for i = cColFirmwareData4 to cColFirmwareData7
v = (v * 256) + Val(ListboxM4VersionStrings.Cell( 3, i ))
next
if (ListboxM4VersionStrings.Cell( 0, cColFirmwareData3 ) = cESUid) or (v > 40000000) then // ESU mfx/M4 und Märklin mSD3 ab Oktober 2015 (ab Firmware 3.0.0.28)
// Sekunden seit 2000.01.01
ListboxM4VersionStrings.Cell( 3, cColFirmwareDate ) = SecondsSince2000ToDate( v )
else // Märklin, BCD, z.B. Werksdecoder, Insolvenzdecoder, mLD1/mSD1
s = Str(v)
ListboxM4VersionStrings.Cell( 3, cColFirmwareDate ) = Left(s,4) + "." + Mid(s,5,2) + "." + Mid(s,7,2)
end
 
 



...und sieht wie folgt aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
Function SecondsSince2000ToDate( thisSeconds As double ) As String
begin
// ein Tag hat 86400 Sekunden
// das Jahr 2000 (kein Schaltjahr) hatte 15768000 Sekunden
 
const cSecsPerYear = 31536000
const cSecsPerDay = 86400
const cSecsPerMonth28 = 2419200
const cSecsPerMonth29 = 2505600
const cSecsPerMonth30 = 2592000
const cSecsPerMonth31 = 2678400
 
dim Jahr, Monat, Tag As Integer
dim rest As double
 
rest = thisSeconds
Jahr = 2000
 
while ((rest > cSecsPerYear) and ((Jahr MOD 4) <> 0)) or ((rest > (cSecsPerYear + cSecsPerDay)) and ((Jahr MOD 4) = 0))
// gültig für Schaltjahre bis 2099, da 2100 kein Schaltjahr ist
rest = rest - cSecsPerYear
if (Jahr MOD 4) = 0 then
rest = rest - 43200 // 1 Tag mehr abziehen bei Schaltjahr bezgl. 29 Feb.
end
Jahr = Jahr + 1
wend
 
Monat = 1
 
if (rest <= cSecsPerMonth31) then // Januar
else
rest = rest - cSecsPerMonth31
Monat = Monat + 1
if (rest <= cSecsPerMonth28) or ((rest <= cSecsPerMonth29) and ((Jahr MOD 4) = 0)) then // Februar
else
if ((Jahr MOD 4) = 0) then
rest = rest - cSecsPerMonth29
else
rest = rest - cSecsPerMonth28
end
Monat = Monat + 1
if (rest <= cSecsPerMonth31) then // März
else
rest = rest - cSecsPerMonth31
Monat = Monat + 1
if (rest <= cSecsPerMonth30) then // April
else
rest = rest - cSecsPerMonth30
Monat = Monat + 1
if (rest <= cSecsPerMonth31) then // Mai
else
rest = rest - cSecsPerMonth31
Monat = Monat + 1
if (rest <= cSecsPerMonth30) then // Juni
else
rest = rest - cSecsPerMonth30
Monat = Monat + 1
if (rest <= cSecsPerMonth31) then // Juli
else
rest = rest - cSecsPerMonth31
Monat = Monat + 1
if (rest <= cSecsPerMonth31) then // August
else
rest = rest - cSecsPerMonth31
Monat = Monat + 1
if (rest <= cSecsPerMonth30) then // Sept
else
rest = rest - cSecsPerMonth30
Monat = Monat + 1
if (rest <= cSecsPerMonth31) then // Okt
else
rest = rest - cSecsPerMonth31
Monat = Monat + 1
if (rest <= cSecsPerMonth30) then // Nov
else
rest = rest - cSecsPerMonth30
Monat = Monat + 1
// Dezember
end
end
end
end
end
end
end
end
end
end
end
 
Tag = rest \ cSecsPerDay
 
Return Str(Jahr) + "." + Format(Monat, "00") + "." + Format(Tag, "00")
 
end
 



Da muss ich erstmal selber eine Weile drüber grübeln. Danke für den Hinweis. Ein Fehler ist wohl schon mal das Jahr 2000, was doch ein Schaltjahr war (Ausnahmeschaltjahr, weil durch 400 teilbar). Der nächste Fehler wird wohl die numerische Konstante "43200" beim Berücksichtigen des Schaltages sein. Muß richtigerweise wahrscheinlich "86200" sein, sonst wird nur ein halber Tag abgezogen). Damit hätten wir für Daten bis 2015 schon einen Fehler von 2 Tagen erzeugt.... !


Bezüglich der Bezeichnungen: ich denke ich habe die alten ESU-Bezeichnungen beibehalten. Ist auch die Frage, ob mal die GUI der CS3 oder des mDT3-Tools zu Grunde legen soll. Außerdem habe ich da auch noch die Dokumente von Stephan Krauss mit berücksichtigt:
http://www.skrauss.de/modellbahn/mdigital.html

Ciao
Diego


EDIT: 05.03.2023: Bug überprüft, wird mit der nächsten Version korrigiert


talks are cheap, and they don't mean much .…


vikr hat sich bedankt!
 
DiegoGarcia
Metropolitan (MET)
Beiträge: 2.801
Registriert am: 15.04.2007
Steuerung mfx

zuletzt bearbeitet 05.03.2023 | Top

RE: Interpretation der CV-Daten der CS2 für Märklin 39321

#4 von Stummilein , 21.02.2023 19:25

Hallo,

danke für Eure Antworten und Hilfen.
Somit lag ich mit meiner Berechnungsart nicht so falsch.

Jetzt werde ich mich über den Rest der Daten hermachen.


Beste Grüße Ralf


 
Stummilein
Administrator / Foreninhaber
Beiträge: 7.308
Registriert am: 26.04.2005
Homepage: Link
Spurweite H0
Stromart AC, Digital, Analog


RE: Interpretation der CV-Daten der CS2 für Märklin 39321

#5 von Stummilein , 21.02.2023 22:47

Hallo Diego,

bin ganz stolz auf mich, da ich Deine Daten fast alle auch aus der CV-Datei meiner Wiebe-Lok extrahieren konnte.
Aber ich habe noch keine Automatik, die das per Knopfdruck macht.
Macht aber Spaß, für alle meine Loks so einen Liste automatisch zu bekommen; werde da wohl mal ein kleines Progrämmelchen erstellen.


Beste Grüße Ralf


 
Stummilein
Administrator / Foreninhaber
Beiträge: 7.308
Registriert am: 26.04.2005
Homepage: Link
Spurweite H0
Stromart AC, Digital, Analog


   

Lemaco Rabde 12/12
RE: Gealterte Wagen und Loks von Märklin

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz