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

Этот пример показывает, как получить доступ к информации, хранившей в файлах A2L для использования со связями XCP. Это использует ведомое средство моделирования XCP в свободном доступе от Вектора.

Запустите ведомое средство моделирования

Этот пример требует установки свободной, сторонней реализации XCP от Вектора. Пакет включает ведомое средство моделирования XCP и файл A2L. Чтобы установить этот драйвер, следуйте этим инструкциям:

  1. Перейдите к www.vector.com и перейдите к странице "DOWNLOADS".

  2. Ищите "Демонстрации" под "Категориями" и "XCP" в соответствии со "Стандартами".

  3. Загрузите и установите доступную версию "Демонстрационной Реализации XCP".

  4. В MATLAB перейдите туда, где вы установили демонстрационный пакет, и затем перейдите к.\Samples\XCPSim\CANape.

  5. Примеры XCP MATLAB будут использовать файл XCPSIM.a2l и ведомое средство моделирования XCPsim.exe. Запустите XCPsim.exe.

Откройте файл A2L

Откройте файл A2L, чтобы проанализировать и осмотреть содержимое и сделать его применимым для последующих действий XCP.

a2lObj = xcpA2L('XCPSIM.a2l')
a2lObj = 

  A2L with properties:

                 FileName: 'XCPSIM.a2l'
                 FilePath: '\\central-mi\home\jpyle\documents\MATLAB\examples\vnt-ex15095408\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: {1×6 cell}
             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]

Осмотрите информацию A2L

Свойства объекта файла A2L позволяют вам осматривать много параметров конфигурации, содержавших в файле. Из специального замечания свойство Measurements, которое содержит имена всех доступных измерений для использования в списках DAQ/STIM.

a2lObj.Measurements
ans =

  1×45 cell array

  Columns 1 through 4

    {'BitSlice'}    {'BitSlice0'}    {'BitSlice1'}    {'BitSlice2'}

  Columns 5 through 8

    {'Counter_B4'}    {'Counter_B5'}    {'Counter_B6'}    {'Counter_B7'}

  Columns 9 through 12

    {'DtChannel1'}    {'FW1'}    {'KL1Output'}    {'MaxChannel1'}

  Columns 13 through 16

    {'MinChannel1'}    {'PWM'}    {'PWMFiltered'}    {'PWM_Level'}

  Columns 17 through 20

    {'ShiftByte'}    {'Shifter_B0'}    {'Shifter_B1'}    {'Shifter_B2'}

  Columns 21 through 24

    {'Shifter_B3'}    {'TestStatus'}    {'Triangle'}    {'ampl'}

  Columns 25 through 29

    {'bit12Counter'}    {'byte1'}    {'byte2'}    {'byte3'}    {'byte4'}

  Columns 30 through 33

    {'byteCounter'}    {'bytePWMFilter'}    {'channel1'}    {'channel2'}

  Columns 34 through 37

    {'channel3'}    {'dwordCounter'}    {'limit'}    {'map1InputX'}

  Columns 38 through 41

    {'map1InputY'}    {'map1Output'}    {'offset'}    {'period'}

  Columns 42 through 45

    {'sbytePWMLevel'}    {'v'}    {'vin'}    {'wordCounter'}

Запросите для получения информации о событии

Используйте команду getEventInfo, чтобы получить подробную информацию о событии по наименованию.

getEventInfo(a2lObj, '10 ms')
ans = 

  Event with properties:

                         Name: '10 ms'
                    Direction: 'DAQ_STIM'
                   MaxDAQList: 255
                ChannelNumber: 1
             ChannelTimeCycle: 10
              ChannelTimeUnit: 6
              ChannelPriority: 0
    ChannelTimeCycleInSeconds: 0.0100

Запросите для получения информации об измерении

Используйте команду getMeasurementInfo, чтобы получить подробную информацию об измерении по наименованию.

getMeasurementInfo(a2lObj, 'Triangle')
ans = 

  Measurement with properties:

             Resolution: 0
               Accuracy: 0
            LocDataType: 'SBYTE'
                   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: []