Смотрите содержимое файла A2L

Доступ к файлу A2L

Чтобы использовать файл 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

Смотрите также

Функции

Для просмотра документации необходимо авторизоваться на сайте