开始使用 MDF 文件
此示例说明如何访问关于 MDF 文件及其内容的信息。
查看文件详细信息
通过指定文件名,使用 mdfInfo
查看 MDF 文件的元数据。此示例文件是使用 Vector CANape™ 创建的。
fileInfo = mdfInfo("CANapeBasic.MF4")
fileInfo = MDFInfo with properties: File Details Name: "CANapeBasic.MF4" Path: "/tmp/Bdoc23b_2361005_1548966/tp60a7197f/vnt-ex51113426/CANapeBasic.MF4" Author: "Otmar Schneider" Department: "PMC @ Vector Informatik GmbH" Project: "Demo" Subject: "XCPSim" Comment: "Example file created with Vector CANape" Version: "4.10" InitialTimestamp: 2016-04-21 14:27:17.000010630 Creator Details ProgramIdentifier: "MCD14.02" CreatorVendorName: "Vector Informatik GmbH" CreatorToolName: "CANape" CreatorToolVersion: "14.0.20.2386" CreatorUserName: "visosr" CreatorComment: "created" File Contents Attachment: [0x7 table] ChannelGroupCount: 2
File Details
节中的属性提供了有关 MDF 文件的基本详细信息。
Creator Details
节提供了有关 MDF 文件的创建工具的信息。
File Contents
节提供了有关文件中的附件和通道组的信息。
查看通道组详细信息
MDF 文件中的数据存储在通道组包含的通道中。此示例文件包含两个通道组,如 ChannelGroupCount
属性中所示。
fileInfo.ChannelGroupCount
ans = uint64
2
使用 mdfChannelGroupInfo
查看此 MDF 文件中两个通道组的详细信息。
chanGrpInfo = mdfChannelGroupInfo("CANapeBasic.MF4")
chanGrpInfo=2×13 table
GroupNumber AcquisitionName Comment NumSamples DataSize Sorted SourceName SourcePath SourceComment SourceType SourceBusType SourceBusChannelNumber SourceSimulated
___________ _______________ _______ __________ ________ ______ ___________ __________ _____________ __________ _____________ ______________________ _______________
1 10 ms 10 ms 1993 153461 true <undefined> XCPsim <undefined> ECU CAN 1 false
2 100ms 100ms 199 23084 true <undefined> XCPsim <undefined> ECU CAN 1 false
查看通道详细信息
使用 mdfChannelInfo
查看此 MDF 文件中所有通道的详细信息。
chanInfoDefault = mdfChannelInfo("CANapeBasic.MF4")
chanInfoDefault=42×13 table
Name GroupNumber GroupNumSamples GroupAcquisitionName GroupComment GroupSourceName GroupSourcePath DisplayName Unit Comment ExtendedNamePrefix SourceName SourcePath
______________________________________ ___________ _______________ ____________________ ____________ _______________ _______________ ___________ ___________ _________________________________________________ __________________ ___________ __________
"Counter_B4" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim
"Counter_B5" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim
"Counter_B6" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim
"Counter_B7" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim
"PWM" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Pulse width signal from PWM_level and Triangle XCPsim <undefined> XCPsim
"PWMFiltered" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Low pass filtered PWM signal XCPsim <undefined> XCPsim
"PWM_Level" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim
"Triangle" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Triangle test signal used for PWM output PWM XCPsim <undefined> XCPsim
"ampl" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> Amplitude of channel 1-3 XCPsim <undefined> XCPsim
"channel1" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> FLOAT demo signal (sine wave) XCPsim <undefined> XCPsim
"map1_8_8_uc_measure" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> 8*8 fixed axis, permanently morphing XCPsim <undefined> XCPsim
"syncArrayStruct.mem_charArray[000]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim
"syncArrayStruct.mem_charArray[001]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim
"syncArrayStruct.mem_doubleArray[000]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim
"syncArrayStruct.mem_doubleArray[001]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim
"syncArrayStruct.mem_floatArray[000]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim
⋮
默认情况下,该函数返回最少的通道元数据。将 AdditionalMetadata
选项指定为 true
可以查看其他元数据。
chanInfoAdditional = mdfChannelInfo("CANapeBasic.MF4", AdditionalMetadata=true)
chanInfoAdditional=42×25 table
Name GroupNumber GroupNumSamples GroupAcquisitionName GroupComment GroupSourceName GroupSourcePath DisplayName Unit Comment ExtendedNamePrefix SourceName SourcePath Type SyncType DataType NumBits ComponentType CompositionType ConversionType SourceComment SourceType SourceBusType SourceBusChannelNumber SourceSimulated
______________________________________ ___________ _______________ ____________________ ____________ _______________ _______________ ___________ ___________ _________________________________________________ __________________ ___________ __________ ___________ ________ ___________________________ _______ _______________ _______________ ______________ _____________ __________ _____________ ______________________ _______________
"Counter_B4" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 1 None None ValueToText "" ECU CAN 0 false
"Counter_B5" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 1 None None ValueToText "" ECU CAN 0 false
"Counter_B6" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 1 None None ValueToText "" ECU CAN 0 false
"Counter_B7" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Single bit demo signal (bit from a byte shifting) XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 1 None None ValueToText "" ECU CAN 0 false
"PWM" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Pulse width signal from PWM_level and Triangle XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 8 None None ValueToText "" ECU CAN 0 false
"PWMFiltered" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Low pass filtered PWM signal XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 8 None None Unspecified "" ECU CAN 0 false
"PWM_Level" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim FixedLength None IntegerSignedLittleEndian 8 None None Unspecified "" ECU CAN 0 false
"Triangle" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Triangle test signal used for PWM output PWM XCPsim <undefined> XCPsim FixedLength None IntegerSignedLittleEndian 8 None None Unspecified "" ECU CAN 0 false
"ampl" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> Amplitude of channel 1-3 XCPsim <undefined> XCPsim FixedLength None RealLittleEndian 32 None None Unspecified "" ECU CAN 0 false
"channel1" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> FLOAT demo signal (sine wave) XCPsim <undefined> XCPsim FixedLength None RealLittleEndian 32 None None Unspecified "" ECU CAN 0 false
"map1_8_8_uc_measure" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> 8*8 fixed axis, permanently morphing XCPsim <undefined> XCPsim FixedLength None IntegerUnsignedLittleEndian 8 None Array Unspecified "" ECU CAN 0 false
"syncArrayStruct.mem_charArray[000]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim FixedLength None IntegerSignedLittleEndian 8 StructureMember None Unspecified "" ECU CAN 0 false
"syncArrayStruct.mem_charArray[001]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim FixedLength None IntegerSignedLittleEndian 8 StructureMember None Unspecified "" ECU CAN 0 false
"syncArrayStruct.mem_doubleArray[000]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim FixedLength None RealLittleEndian 64 StructureMember None Unspecified "" ECU CAN 0 false
"syncArrayStruct.mem_doubleArray[001]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim FixedLength None RealLittleEndian 64 StructureMember None Unspecified "" ECU CAN 0 false
"syncArrayStruct.mem_floatArray[000]" 2 199 100ms 100ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim FixedLength None RealLittleEndian 32 StructureMember None Unspecified "" ECU CAN 0 false
⋮
查找 MDF 文件中的通道
mdfChannelInfo
也可用于轻松查询 MDF 文件中的通道详细信息,前提是该名称是全部或部分已知的。该函数提供的选项 Channel
支持使用通配符查找字符串匹配项。
查找名称精确为“PWM”的通道:
pwmChanInfoExact = mdfChannelInfo("CANapeBasic.MF4", Channel="PWM")
pwmChanInfoExact=1×13 table
Name GroupNumber GroupNumSamples GroupAcquisitionName GroupComment GroupSourceName GroupSourcePath DisplayName Unit Comment ExtendedNamePrefix SourceName SourcePath
_____ ___________ _______________ ____________________ ____________ _______________ _______________ ___________ ___________ ______________________________________________ __________________ ___________ __________
"PWM" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Pulse width signal from PWM_level and Triangle XCPsim <undefined> XCPsim
查找名称包含子字符串“PWM”的通道:
pwmChanInfoWildcards = mdfChannelInfo("CANapeBasic.MF4", Channel="*PWM*")
pwmChanInfoWildcards=3×13 table
Name GroupNumber GroupNumSamples GroupAcquisitionName GroupComment GroupSourceName GroupSourcePath DisplayName Unit Comment ExtendedNamePrefix SourceName SourcePath
_____________ ___________ _______________ ____________________ ____________ _______________ _______________ ___________ ___________ ______________________________________________ __________________ ___________ __________
"PWM" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Pulse width signal from PWM_level and Triangle XCPsim <undefined> XCPsim
"PWMFiltered" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> Low pass filtered PWM signal XCPsim <undefined> XCPsim
"PWM_Level" 1 1993 10 ms 10 ms <undefined> XCPsim "" <undefined> <undefined> XCPsim <undefined> XCPsim