ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • blf & dbc --> mdf or csv 변환
    application 2026. 3. 10. 12:18

    시작하기 전에 

    blf & dbc --> mdf 변환 :: hsl's tsmaster 사용기에서 blf 파일에서 dbc 파일에 정의된 신호들을 선택하여 mdf 파일을 생성하는 프로그램을 개발의 요점들을 설명하였다.

    디렉토리를 선택하면, 그 디렉토리에 있는 모든 blf 파일들을 표시하여 사용자가 선택할 수 있도록 하고, 선택된 파일들을 변환하여 csv 파일들을 생성하는 기능을 추가하였다. 

     

     

    사용법

    파일 입력

    • blf 파일을 파싱할 dbc 파일을 선택한다.
    • 단일 파일을 변환할 것인지 디렉토리를 변환할 것인지 선택한다.
    • 파일 혹은 디렉토리를 선택한다.
    • 디렉토리를 선택한 경우, 파일 목록에서 변환할 파일들을 선택한다.
    • 파싱 버튼을 클릭한다. 
      • blf 파일에서 일정 크기를 읽는다. 일정 크기는 설정 탭의 "BLF 파싱 크기"에서 설정할 수 있다.  
      • 프로그램은 blf 파일에 어떤 메시지들이 있는 지 확인한다. 이 정보는 신호 선택 탭에서 이용된다. 

     

     

    신호 선택

    • dbc 파일에서 읽은 메시지/신호들이 트리 구조를 표시된다. 
    • blf 파싱 중에 찾지 못한 메시지는 선택 불가 상태로 표시된다.
    • 변환할 신호들을 선택한다.
    • "선택 저장", "선택 로드" 버튼으로 선택 상태를 저장하고 다시 불러올 수 있다. 

     

    변환

    • 리샘플링 여부를 선택할 수 있다. 
    • 리샘플링을 선택하는 경우,
      • 주기를 정할 수 있다.
      • 리샘플링 방법을 선택할 수 있다. (직전값, 선형 보간, 최빈값)
    • 타임스탬프 정규화를 선택할 수 있다. 선택하는 경우 첫 메시지의 타임스탬프를 0으로 하고, 나머지 메시지들의 타임스탬프를 이에 따라 변경한다. 
    • 변환 파일 형식을 선택할 수 있다.
      • csv로 저장하려면 반드시 리샘플링을 선택해야 한다. csv에 신호별로 타임스탬프를 저장한다면, 데이터를 사용하기에 상당히 불편하기 때문이다.
    • 출력 파일/디렉토리 경로 이름을 정할 수 있다.
    • 변환 실행을 클릭하면 변환이 시작된다. 변환 중 프로그레스바와 변환 결과 요약이 표시된다. 

     

    미리보기

    • 변환이 완료되면 미리보기 탭으로 이동한다.
    • 마지막으로 변환된 파일의 알파벳 순으로 가장 먼저 오는 신호가 그래프로 표시된다.

    • Shift 키나 Ctrl 키를 누른 상태로 신호들을 선택하면 여러 신호들을 볼 수 있다.  

    • 개별 그래프를 체크하면, 신호들마다 축을 분리해서 볼 수 있다.

    • "파일 열기" 버튼을 클릭하여 다른 csv, mdf 파일을 열어 그래프로 볼 수 있다.

     

    코드

    • 아래 파이썬 코드와 requirements.txt 파일을 드라이브의 같은 디렉토리에 저장한다.

    blf_dbc_to_mdf_csv_mp.py
    0.11MB

     

    requirements.txt
    0.00MB

     

    • 이 디렉토리에서 커맨드 창을 연다. (파일 탐색기의 경로가 표시되는 곳에 cmd 라고 입력하고 엔터하면 현재 경로에서 커맨드 창이 열린다.)
    • 아래 명령어로 프로그램 실행에 필요한 패키지들을 설치한다.
    pin install -r requirements.txt
    •  아래 명령어로 프로그램을 실행한다.
    python blf_dbc_to_mdf_csv_mp.py

     

     

    'application' 카테고리의 다른 글

    dbc 병합  (1) 2026.03.16
    blf & dbc --> mdf 변환  (1) 2026.03.08
    바이브 코딩으로 진단기 만들기  (0) 2026.01.19
    diag_tester_FRD  (0) 2026.01.19
    포르쉐 타이칸 CAN 데이터에서 횡가속도 신호 찾기  (0) 2026.01.06