Appia의 IT세상

파이썬[Python] Project01-01 CAN DBC Loader/Writer 개요 본문

Python/Python 응용

파이썬[Python] Project01-01 CAN DBC Loader/Writer 개요

Appia 2020. 1. 8. 18:43
반응형

저번 포스팅에서 CAN DBC Message/Signal 구조에 대해서 포스팅 한적이 있습니다. 물론 Python에서 관련 모듈이 존재하는 부분이 있습니다. Cantools라는 모듈입니다. 하지만, 입맛대로 관련된 부분에 대해서 정의를 하고자 합니다.

불러오는 중입니다...

 

이번 관련 포스팅은 크게 별도의 Numbering 진행할 예정입니다. 총 4화에 걸쳐서 포스팅  할 예정입니다. 

  • 파이썬[Python] Project01-01 CAN DBC Loader/Writer 개요
  • 파이썬[Python] Project01-02 CAN DBC Base 구조 및 코드 리뷰 
  • 파이썬[Python] Project01-03 CAN DBC Loader 구조 및 코드 리뷰 
  • 파이썬[Python] Project01-04 CAN DBC Writer 구조 및 코드 리뷰

물론, 많은 관련된 유저들은 CANDBC++ 같은 에디터를 사용할 것입니다. 물론, 저도 사용하는 부분입니다만, 그래도 이왕 앞서 구조에 대한 포스팅을 했으니 한번 만들어 보고 싶었습니다.

 

먼저, 제가 생각하는 코드 구성에 대해서 공유 드리고자 합니다. 크게 3가지 구성으로 진행할 예정입니다.

  • DBC_Base : DBC 형태를 내부로 저장하는 기능,
  • DBC_Loader : DBC 파일을 Excel 형태로 추출하는 기능
  • DBC_Writer : EXCEL 파일을 DBC 쓰는 기능

 

항목에 대해서 구조에 대해 살펴 보도록 하겠습니다.

 

DBC_Base

  • Message , Signal 대한 Class 선언
    • Message / Signal Class 관련 기능 추가
  • Excel 파일을 읽어와서 기존 선언된 Class Message Signal 맞게 저장하여 List 저장하는 기능
  • DBC파일을 읽어와서 기존 선언된 Class Message Signal 맞게 저장하여 List 저장하는 기능

 

DBC_Loader

  • 앞서, DBC_Base에서 반환된 List 기술된 부분을 바탕으로 Excel 추출

DBC_Writer

  • 앞서, DBC_Base에서 반환된 List 기술된 부분을 바탕으로 DBC 추출

사용 모듈

  • win32com (pywin32)

관련 기능 특징

  • DBC_Loader DBC_Writer 사용될 엑셀 파일을 동일한 형태

다음과 같은 구조로 구현을 예정입니다. 저의 경우 계획 세우는 것을 매우 좋아하는 계획충이다 보니, 항상 어떤 것을 구현할 경우 다음과 같이 계획을 세우고 진행하는 바입니다. 하지만, 이와 같은 부분이 장단이 있겠지만, 계획적으로 작업하기에 매우 긍정적으로 사용됩니다. 저의 포스팅을 보시는 분들도 저와 비슷하게 계획을 세우는 습관을 들이는 것을 권장 드립니다.

 

위의 포스팅한 부분과 관련 되서, 부분에 대한 코드 내용에 대해서 포스팅을 진행할 것입니다. 또한, 소스 코드는 파일 형태로 공유할 예정입니다. , 궁금하신 점이나, 문의 하실 부분이 있으시면 언제든지 댓글 방명록에 글을 남겨주시길 바랍니다.

반응형
Comments