Чтобы использовать файл A2L, создайте объект файла на своем сеансе MATLAB®. В подсказке Командного окна введите:
a2lfile = xcpA2L('filename.a2l')Здесь a2lfile переменная, присвоенная с объектом A2L и filename.a2l имя вашего файла A2L. Если ваш файл A2L не находится в текущей рабочей директории, задайте необходимый частичный или полный путь к файлу:
a2lfile = xcpA2L('path\filename.a2l');Имена файлов A2L, содержащие неалфавитно-цифровые символы, такие как знаки "равно" или амперсанды, не поддержаны. Можно использовать периоды на имя базы данных. Переименуйте любые файлы A2L с неалфавитно-цифровыми символами, прежде чем вы будете использовать их.
Эта команда возвращает объект A2L, который можно использовать в живой связи с ведомым модулем с помощью каналов XCP.
В этом примере показано, как открыть файл A2L и информацию об измерении доступа.
Откройте файл A2L:
a2lfile = xcpA2L('XCPSIM.a2l');Отобразите свойства объекта A2L:
a2lfile
A2L with properties:
FileName: 'XCPSIM.a2l'
FilePath: 'C:\work\XCPSIM.a2l'
SlaveName: 'CPP'
ProtocolLayerInfo: [1×1 xcp.ProtocolLayerInfo]
DAQInfo: [1×1 xcp.DAQInfo]
TransportLayerCANInfo: [1×1 xcp.TransportLayerCANInfo]
TransportLayerUDPInfo: [1×1 xcp.TransportLayerUDPInfo]
TransportLayerTCPInfo: []
Events: {'Key T' '10 ms' '100ms' '1ms' 'FilterBypassDaq' 'FilterBypassSt'}
Measurements: {1×45 cell}
Characteristics: {1×16 cell}
EventInfo: [1×6 xcp.Event]
MeasurementInfo: [45×1 containers.Map]
CharacteristicInfo: [16×1 containers.Map]
AxisInfo: [1×1 containers.Map]
RecordLayouts: [41×1 containers.Map]
CompuMethods: [16×1 containers.Map]
CompuTabs: [0×1 containers.Map]
CompuVTabs: [2×1 containers.Map]Просмотрите все доступные измерения:
a2lfile.Measurements
ans =
1×45 cell array
Columns 1 through 6
{'BitSlice'} {'BitSlice0'} {'BitSlice1'} {'BitSlice2'} {'Counter_B4'} {'Counter_B5'}
Columns 7 through 12
{'Counter_B6'} {'Counter_B7'} {'DtChannel1'} {'FW1'} {'KL1Output'} {'MaxChannel1'}
Columns 13 through 18
{'MinChannel1'} {'PWM'} {'PWMFiltered'} {'PWM_Level'} {'ShiftByte'} {'Shifter_B0'}
Columns 19 through 24
{'Shifter_B1'} {'Shifter_B2'} {'Shifter_B3'} {'TestStatus'} {'Triangle'} {'ampl'}
Columns 25 through 31
{'bit12Counter'} {'byte1'} {'byte2'} {'byte3'} {'byte4'} {'byteCounter'} {'bytePWMFilter'}
Columns 32 through 37
{'channel1'} {'channel2'} {'channel3'} {'dwordCounter'} {'limit'} {'map1InputX'}
Columns 38 through 44
{'map1InputY'} {'map1Output'} {'offset'} {'period'} {'sbytePWMLevel'} {'v'} {'vin'}
Column 45
{'wordCounter'}Получите информацию о 'Triangle' измерение:
getMeasurementInfo(a2lfile,'Triangle')ans =
Measurement with properties:
Resolution: 0
Accuracy: 0
LocDataType: 'SBYTE'
Layout: 'ROW_DIR'
Name: 'Triangle'
LongIdentifier: 'Triangle test signal used for PWM output PWM'
ECUAddress: 4951377
ECUAddressExtension: 0
Conversion: [1×1 xcp.CompuMethodRational]
Dimension: 1
LowerLimit: -50
UpperLimit: 50
BitMask: []В этом примере показано, как открыть файл A2L и информацию о событии доступа.
Откройте файл A2L:
a2lfile = xcpA2L('XCPSIM.a2l');Отобразите свойства объекта A2L:
a2lfile
A2L with properties:
FileName: 'XCPSIM.a2l'
FilePath: 'C:\work\XCPSIM.a2l'
SlaveName: 'CPP'
ProtocolLayerInfo: [1×1 xcp.ProtocolLayerInfo]
DAQInfo: [1×1 xcp.DAQInfo]
TransportLayerCANInfo: [1×1 xcp.TransportLayerCANInfo]
TransportLayerUDPInfo: [1×1 xcp.TransportLayerUDPInfo]
TransportLayerTCPInfo: []
Events: {'Key T' '10 ms' '100ms' '1ms' 'FilterBypassDaq' 'FilterBypassSt'}
Measurements: {1×45 cell}
Characteristics: {1×16 cell}
EventInfo: [1×6 xcp.Event]
MeasurementInfo: [45×1 containers.Map]
CharacteristicInfo: [16×1 containers.Map]
AxisInfo: [1×1 containers.Map]
RecordLayouts: [41×1 containers.Map]
CompuMethods: [16×1 containers.Map]
CompuTabs: [0×1 containers.Map]
CompuVTabs: [2×1 containers.Map]Просмотрите все доступные события:
a2lfile.Events
ans =
'Key T' '10 ms' '100ms' '1ms' 'FilterBypassDaq' 'FilterBypassSt'Получите информацию для '10 ms' событие:
getEventInfo(a2lfile,'10 ms')ans =
Name: '10 ms'
Direction: 'DAQ_STIM'
MaxDAQList: 255
ChannelNumber: 1
ChannelTimeCycle: 10
ChannelTimeUnit: 6
ChannelPriority: 0
ChannelTimeCycleInSeconds: 0.0100