Hvad er MF4-filformatet?
.mf4 er filtypenavnet for ASAM MDF 4 (Measurement Data Format version 4), bilindustriens åbne standard til lagring af tidsseriemåledata fra ECU'er, CAN/LIN/Ethernet-busser og sensorer. Standarden vedligeholdes af ASAM e.V. og blev udviklet i samarbejde mellem Vector Informatik og Robert Bosch GmbH.
Hver .mf4-fil starter med en 64-byte ID-blok, der bærer ASCII-identifikatoren MDF (8 bytes med efterfølgende mellemrum), efterfulgt af en hierarkisk lænket liste af typedefinerede blokke: Header (HD), Data Groups (DG), Channel Groups (CG), Channel definitions (CN) og Data blocks (DT/DZ). Hver kanal indeholder sit signalnavn, fysiske enhed og værdikonverteringsformel i selve filen, hvilket gør .mf4 selvbeskrivende.
Datakomprimering - DEFLATE, LZ4 eller Transpose+DEFLATE - kan anvendes pr. datablok siden MDF 4.1. Formatet understøtter vedhæftningsblokke til indlejring af kalibreringsfiler eller billeder, og et finaliseringsflag markerer, om en optagelse blev afsluttet korrekt. Uafsluttede optagelser begynder med ASCII-strengen UnFinalizedMDF i stedet for den standard ID-blok.
.mf4 bruges i vid udstrækning til HIL/SIL-test, køretøjsdataindsamling og AUTOSAR-kalibreringsarbejdsgange. Filer kan nå op på titusindvis af gigabytes for fulde testkørselssessioner. Open source Python-biblioteket asammdf (pip install asammdf) giver hurtig læse-/skriveadgang; MATLAB, CANape og CANalyzer er de dominerende kommercielle værktøjer. Forgængeren .mdf-formatet (MDF 3.x, fra 1991) deler det samme fil-identifikationspræfiks, men bruger en anden blokstruktur.
Sikkerhed og tryghed
RISIKO: LOWMF4 er en binær datafil; ikke eksekverbar. Filer kan indeholde proprietære måledata fra køretøjer (køretøjssignaler, ECU-parametre), som er kommercielt følsomme. Deling af .mf4-filer eksternt kan afsløre fortrolige kalibrerings- eller ydelsesdata.
Formatdetaljer
kort fortaltProgrammer der åbner MF4-filer
Tekniske detaljer
dyb specifikation| Standardiseringsorgan | ASAM e.V. (Association for Standardization of Automation and Measuring Systems) |
| Fil-identifikator | 8-byte ASCII 'MDF ' (MDF + 5 mellemrum) ved offset 0 af den 64-byte ID-blok |
| Byte-rækkefølge | Little-endian (standard); big-endian tilladt af specifikationen, men bruges sjældent |
| Blokstruktur | Hierarkisk lænket liste: ID → HD → DG → CG/CN → DT/DZ blokke via absolutte byte-positionspegere |
| Komprimering | Valgfri DEFLATE (zlib), LZ4 eller Transpose+DEFLATE pr. datablok (MDF 4.1+) |
| Typisk filstørrelse | 1 MB - 10 GB (store ECU/CAN-logsessioner) |
| Signal-metadata | Signalnavn, fysisk enhed og værdikonverteringsformel gemt pr. kanal i filen |
| Versionskodning | 4-tegns ASCII-streng ved ID-blok offset 8 (f.eks. '4.10', '4.20') |
| Understøttelse af bus-logging | CAN, LIN, FlexRay og Ethernet frame-logging (tilføjet i MDF 4.1+) |
| Integritetskontrol | Valgfri MD5-checksum-vedhæftning; finaliseringsflag i MDF 4.1+; uafsluttede filer starter med 'UnFinalizedMDF' |
| Python-adgang | asammdf-bibliotek (pip install asammdf) - open source læsning/skrivning |
| Samplingshastighed | Metadata pr. kanal; CAN-bus typisk 1-1.000 Hz, sensordata op til MHz-området |
| Operativsystemer | Windows, Linux |
| Udgivet | 2009 (ASAM MDF 4.0 published as official standard) |
| Seneste version | ASAM MDF 4.2.0 (2019); 4.3.0 planned |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.asam.net |
MF4-konverteringer
Fællesskabets Q&A
spurgt af brugereOfte stillede spørgsmål
Hvad er en .mf4-fil?
Hvordan åbner jeg en .mf4-fil gratis?
Kan MATLAB åbne .mf4-filer?
Hvordan konverterer jeg .mf4 til CSV?
from asammdf import MDF; MDF('fil.mf4').export('csv'). Eller åbn i CANape og brug dens eksportfunktion.