바이브 코딩으로 업무에 도움이 되는 툴 개발!! - CANoe MF4 Data Analyzer

지난 포스팅에서 VS Code에 파이썬(Python) 환경을 구축하고 가상환경을 설정하는 방법을 자세히 다루었습니다. 이제 모든 준비가 끝났으니, 그 환경을 실무에 200% 활용해 업무 효율을 극대화할 차례입니다.

오늘은 제가 자동차 엔지니어로서 현업의 불편함을 해소하기 위해 '바이브 코딩(Vibe Coding)'으로 직접 개발한 [CANoe MF4 Data Analyzer]를 공유해 드립니다. CAN 통신 분석을 하시는 분들이라면 누구나 한 번쯤 겪었을 라이선스 부족 문제나 무거운 툴의 답답함을 시원하게 해결해 줄 도구입니다.


🚀 프로젝트 바로가기 (GitHub)

소스 코드 및 상세 가이드: [CANoe-MF4-Data-Analyzer GitHub 저장소]


🚗 CANoe 데이터 분석, 왜 가벼운 파이썬 툴이 필요할까?

자동차 통신 분석의 표준인 Vector사의 CANoe는 매우 강력한 도구입니다. 하지만 단순히 로깅된 .mf4 파일에서 특정 신호의 추이만 빠르게 확인하고 싶을 때도 CANoe를 실행하고, 환경 설정(Configuration)을 불러오고, 그래픽 윈도우를 세팅하는 과정은 꽤나 번거롭습니다.

특히 현장이나 회의 중 라이선스 동글이 없어서 데이터를 확인하지 못하는 상황은 엔지니어에게 매우 곤혹스러운 일이죠. 그래서 저는 지난 포스팅에서 구축한 파이썬 환경을 활용해, 라이선스 없이도 누구나 .mf4 파일을 즉시 시각화할 수 있는 경량 분석 도구를 제작하게 되었습니다. 이 툴을 사용하면 무거운 소프트웨어를 기다릴 필요 없이, 단 몇 초 만에 핵심 데이터를 그래프로 확인할 수 있습니다.

(이미지: 분석 툴 실행 시 나타나는 직관적인 시각화 그래프 예시)

✨ CANoe MF4 Data Analyzer의 주요 특징

이 도구는 화려한 기능보다는 '현장에서의 실용성''사용자 자유도'에 초점을 맞추었습니다.

1. 사용자 맞춤형 신호 맵핑 (Flexible Signal Mapping)

이 툴의 가장 큰 장점은 특정 분석 분야에 고정되어 있지 않다는 것입니다. 사용자는 소스 코드 내의 설정값(SIGNAL_CONFIG)만 살짝 수정하여 자신이 분석하고자 하는 어떤 CAN 신호든 자유롭게 지정할 수 있습니다.

차량 속도, 엔진 RPM, 센서 데이터, 제어 로직 상태 등 본인이 사용하는 CAN DB(DBC)의 신호 이름만 알고 있다면 즉시 나만의 분석 대시보드를 구성할 수 있습니다. 이는 파워트레인, 바디, ADAS 등 어떤 도메인에서도 활용 가능하다는 뜻입니다.

2. 상태 분석에 최적화된 Step Graph 지원

단순히 선이 연결된 그래프만으로는 시스템의 상태 변화(Status Change)를 파악하기 어렵습니다. 릴레이의 ON/OFF 상태, 동작 모드(Mode) 전환, 에러 플래그(Error Flag) 등의 시그널은 값이 계단식으로 변하는 특성이 있죠. 본 도구는 이를 명확히 구분할 수 있도록 계단형(Step) 그래프를 지원하여 로직의 전환 시점을 한눈에 파악하게 해줍니다.

3. 인터랙티브 커서 (Interactive Cursor)

시각화 라이브러리인 mplcursors를 적용하여, 그래프 위의 특정 지점에 마우스를 올리면 해당 지점의 정확한 타임스탬프(Timestamp)와 데이터 값(Value)이 팝업으로 표시됩니다. 엑셀로 데이터를 일일이 대조해 볼 필요 없이 그래프 위에서 즉각적인 수치 분석이 가능하여 디버깅 속도를 획기적으로 줄여줍니다.

🔧 설치 및 사용 방법 (How to Use)

지난 글에서 구축한 파이썬 환경에서 아래 명령어를 통해 필수 라이브러리를 먼저 설치해 주세요.

pip install asammdf matplotlib mplcursors

실행 및 설정 단계

  • GitHub 저장소에서 소스 코드를 클론(Clone)하거나 다운로드합니다.
  • main.py 파일 상단의 SIGNAL_CONFIG 섹션에서 본인이 분석하고 싶은 신호의 이름을 입력합니다.
  • 터미널에서 python main.py를 실행합니다.
  • GUI 창이 뜨면 [🚀 Load File & Analyze] 버튼을 클릭하여 분석할 .mf4 파일을 선택합니다.
[IMAGE: setup-config-code]

(이미지: 간단하게 신호명을 수정할 수 있는 코드 구성)

🚀 향후 업데이트 로드맵 (Roadmap)

지금은 코드 상에서 신호명을 직접 수정해야 하는 번거로움이 있을 수 있지만, 앞으로 더 편리하게 사용할 수 있도록 다음과 같은 기능들을 업데이트할 예정입니다.

  • MDF Channel Explorer: 코드 수정 없이 GUI 상에서 전체 신호를 검색하고 마우스 클릭만으로 선택하는 기능
  • Layout Save/Load: 자주 사용하는 신호 조합을 JSON 설정 파일로 저장하여, 클릭 한 번으로 나만의 환경을 불러오는 기능
  • 다양한 파일 포맷 지원: .mf4 외에도 .blf 등 다른 로깅 파일 포맷으로의 확장 지원
  • Dark Mode UI: 장시간 분석 시 눈의 피로를 줄여주는 다크 테마 적용

이 도구는 거창한 상용 소프트웨어는 아니지만, 현장에서의 불편함을 해소하기 위해 '바이브'를 담아 빠르게 만들어낸 결과물입니다. 파이썬을 활용해 업무 효율을 높이고 싶은 동료 엔지니어분들에게 작은 보탬이 되었으면 합니다.


🔗 관련 글 모아보기

이 툴을 사용하기 위한 환경 구축 방법이 궁금하시다면 아래 포스팅을 참고해 보세요.


업무 효율은 나에게 딱 맞는 작은 도구를 직접 만들어 사용하는 것에서 시작됩니다. 궁금한 점이나 기능 제안, 혹은 버그 제보는 GitHub의 Issue 탭이나 댓글로 언제든지 남겨주세요!

다음 이전