주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

blfread

Vector BLF 파일에서 데이터 읽기

설명

mdata = blfread(blfFile)는 지정된 BLF 파일의 모든 데이터를 읽고, 변수 bdata에 timetable형으로 구성된 셀형 배열을 반환합니다. 셀 배열의 각 요소에 대한 인덱스는 파일 내 데이터의 채널 번호에 대응합니다.

bdata = blfread(blfFile,chanID)는 지정된 채널에 대한 메시지 데이터를 BLF 파일에서 읽고 타임테이블을 반환합니다.

bdata = blfread(___,Name,Value)는 CAN 데이터베이스 및 메시지 ID에 대한 파라미터 옵션으로 필터링된 메시지 데이터를 읽습니다.

예제

예제

모두 축소

CAN 데이터베이스를 사용하여 BLF 파일에서 채널 2 메시지 데이터를 읽습니다.

blfData = blfread("Logging_BLF.blf", 2, "Database", canDB)
blfData = 7575×8 timetable
       Time        ID     Extended           Name                        Data                 Length      Signals       Error    Remote
    __________    ____    ________    __________________    ______________________________    ______    ____________    _____    ______

    2.2601 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.2801 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3002 sec     100     false      {'EngineData'    }    {[      238 2 25 1 0 0 238 2]}      8       {1x1 struct}    false    false 
    2.3005 sec     102     false      {'EngineDataIEEE'}    {[       0 128 59 68 0 0 0 0]}      8       {1x1 struct}    false    false 
    2.3006 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3008 sec     201     false      {'ABSdata'       }    {[            0 0 0 0 172 38]}      6       {1x1 struct}    false    false 
    2.3009 sec    1020     false      {'GearBoxInfo'   }    {[                         1]}      1       {1x1 struct}    false    false 
    2.3201 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3401 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3502 sec     100     false      {'EngineData'    }    {[      4 0 25 2 119 1 238 2]}      8       {1x1 struct}    false    false 
    2.3505 sec     102     false      {'EngineDataIEEE'}    {[53 127 119 64 0 128 187 67]}      8       {1x1 struct}    false    false 
    2.3507 sec     201     false      {'ABSdata'       }    {[             0 0 0 0 35 40]}      6       {1x1 struct}    false    false 
    2.3508 sec    1020     false      {'GearBoxInfo'   }    {[                         1]}      1       {1x1 struct}    false    false 
    2.3601 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3801 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.4002 sec     100     false      {'EngineData'    }    {[     10 0 25 3 119 1 238 2]}      8       {1x1 struct}    false    false 
      ⋮

선택적 필터를 적용하는 구문의 다른 형태는 다음과 같습니다.

data = blfread("myfile.blf",2)
candb = canDatabase("testdb.dbc");

data = blfread("myfile.blf", "Database", candb)
data = blfread("myfile.blf", "Database", candb, "CANStandardFilter", 1:10)
data = blfread("myfile.blf", "Database", candb, "CANExtendedFilter", 3:7)
data = blfread("myfile.blf", "Database", candb, "CANStandardFilter", 1:10, ...
                                                "CANExtendedFilter", 3:7)
data = blfread("myfile.blf", "CANStandardFilter", 1:10, "CANExtendedFilter", 3:7)

입력 인수

모두 축소

BLF 파일 경로로, 문자열 또는 문자형 벡터로 지정됩니다. 이 값으로 현재 폴더 내의 파일, 상대 경로 또는 전체 경로 이름을 지정할 수 있습니다.

예: "MultipleChannelFile.blf"

데이터형: string | char

BLF 파일에서 데이터를 읽을 채널 ID로, 숫자형 스칼라 값으로 지정됩니다. 지정되지 않은 경우 모든 채널이 읽힙니다.

예: 2

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: "CANStandardFilter",1:8

메시지 디코딩에 사용할 데이터베이스로, CAN, ARXML 또는 LIN Database 객체로 지정됩니다. 이 객체는 canDatabase, arxmlDatabase 또는 linDatabase 함수를 사용하여 생성할 수 있습니다.

메시지 Standard ID로, 가져올 메시지를 식별하는 숫자형 값으로 구성된 배열로 지정됩니다. 메시지 ID는 범용 ID이며, CAN 및 CAN FD 버스 유형 모두에 적용됩니다. 값은 범위 또는 비연속 ID의 스칼라나 배열로 지정할 수 있습니다. 기본적으로 모든 Standard ID 메시지를 가져옵니다.

예: [1:10 45 100:123]

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

메시지 Extended ID로, 가져올 메시지를 식별하는 숫자형 값으로 구성된 배열로 지정됩니다. 메시지 ID는 범용 ID이며, CAN 및 CAN FD 버스 유형 모두에 적용됩니다. 값은 범위 또는 비연속 ID의 스칼라나 배열로 지정할 수 있습니다. 기본적으로 모든 Extended ID 메시지를 가져옵니다.

예: [1 8:10 1001:1080]

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

true 또는 false로 지정된 절대적 타임스탬프를 반환합니다. true가 지정된 경우, 반환된 타임테이블은 datetime 형식의 절대적 타임스탬프를 가집니다. false가 지정된 경우, 반환된 타임테이블은 파일의 초기 타임스탬프로부터 경과된 상대적 타임스탬프를 포함합니다. 디폴트 값은 false로, 상대적 타임스탬프를 반환합니다.

예: AbsoluteTime=true

데이터형: logical

데이터를 읽을 구간의 시작 시간과 종료 시간으로, 2개 요소 벡터로 지정됩니다. AbsoluteTime=true인 경우, TimeRange를 datetime형 벡터로 지정하십시오. AbsoluteTime=false (기본값)인 경우, duration형 벡터로 TimeRange를 지정하십시오. 지정되지 않은 경우, 모든 데이터 샘플이 읽힙니다. 이 옵션은 IndexRange와 함께 사용할 수 없습니다.

예: TimeRange=seconds([0,60])

데이터형: datetime | duration

데이터를 읽을 구간의 시작 인덱스와 끝 인덱스로, 2개 요소 벡터로 지정됩니다. 인덱스는 포괄적입니다. 지정되지 않은 경우, 모든 데이터 샘플이 읽힙니다. 이 옵션은 TimeRange와 함께 사용할 수 없습니다.

예: IndexRange=[65:128]

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

메시지 형식, "CAN" 또는 "LIN"로 지정됨. 디폴트 값은 "CAN"입니다. 메시지 디코딩을 위해 데이터베이스 인수를 지정하는 경우, 이 프로토콜과 일관성이 있어야 합니다.

예: ProtocolMode="LIN"

데이터형: char | string

출력 인수

모두 축소

BLF 파일의 메시지 데이터를 timetimetable형으로 구성된 셀형 배열로 반환합니다. 읽을 단일 채널을 지정하면, 이 함수는 타임테이블을 반환합니다.

버전 내역

R2019a에 개발됨

모두 확장