tip
-
mdf 데이터 파일을 읽어서 그래프 그리기tip 2025. 1. 1. 18:23
시작하기 전에 CAN은 메시지 단위의 통신을 한다. CAN 메시지들은 blf 파일에는 메시지 단위로 차곡차곡 저장된다. 아래 그림처럼. 이를 메시지 기반 파일 형식이라고 부르겠다. (위 그림에서 하이라이트 되어있는 첫 줄의 "3A 04 91 ..." 처럼) 바이너리로 저장된 데이터에서 신호를 추출해야 한다. 추출에 필요한 정보는 dbc 파일에 정의되어 있다. (dbc 파일이 무엇인지를 CAN 트레이스 보기 - 바퀴 속도 :: hsl's tsmaster 사용기의 '트레이스 창'에서 부분에서 설명하였다.)dbc 파일이 없으면 신호를 보고 싶은 사람에게 blf 파일은 쓸모가 없다.blf 파일와 짝이 맞지 않는 dbc 파일을 적용하는 경우, 신호를 엉뚱하게 추출하게 된다. 추출하지 못하는 상황보다 더 나쁜 ..
-
CAN dbc 편집tip 2024. 12. 30. 16:14
나는 CANdb++를 사용한다. Vector사의 Freeware이다. 아래 링크에서 다운로드 받을 수 있다. https://www.vector.com/int/en/support-downloads/downloads/add-ons-and-freeware/candb-editor/ CANdb++로 메시지 전송 주기 변경하는 방법CANdb++에는 메시지 전송 주기를 변경하는 기능이 없다. 나는 아래 방법으로 메시지 전송 주기를 변경한다.dbc 파일을 일발 텍스트 에디터로 연다. "MsgCycleTime"으로 검색한다. (예를 들어) 아래의 줄이 검색된다. BA_ "GenMsgCycleTime" BO_ 1025 10;1025는 16진수 0x401의 십진수 값이다. 메시지 아이디 0x401의 전송 주기를 설정한다..
-
async 유무의 차이 - app.set_system_var_double_async() 에서tip 2024. 12. 26. 11:19
CAN 신호들로 실시간 연산하기 - 미니프로그램으로 yaw_rate_ws 계산 :: hsl's tsmaster 사용기에서 CAN의 WHL_SPD_RL과 WHL_SPD_RR을 이용하여 요-레이트를 구하고 이를 로컬 변수인 yaw_rate_ws에 할당하였다. 그리고 yaw_rate_ws를 사용자 정의 시스템 변수인 calc.yaw_rate_ws에 할당한 후, calc.yaw_rate_ws를 그래픽 창에 곡선으로 출력하였다. yaw_rate_ws를 calc.yaw_rate_ws에 할당할 때 app.set_system_var_double('calc.yaw_rate_ws', yaw_rate_ws) 함수를 사용하였다. 이 함수와 유사한 이름의 app.set_system_var_double_async('calc..
-
LIN 핀 번호 - 벡터와 토선이 다르다.tip 2024. 12. 26. 09:55
벡터 장치를 사용하다가 토선 장치를 사용하는 경우 커넥터 핀 번호에 주의해야 한다. CAN은 핀 2가 CAN Low, 핀 7이 CAN High인 것이 사실상 표준이다. LIN은 표준적(?)으로 사용되는 핀 번호에 없는 것 같다. CAN과 LIN을 지원하는 벡터 장치의 핀 번호는 아래 그림과 같다. (전체가 아니라 일부인 것 같다. 이런 장치는 벡터의 CAN/LIN Y-케이블 사용을 권고한다.) LIN 핀의 번호는 7번이다. 출처: https://support.vector.com/kb?id=kb_article_view&sysparm_article=KB0011609 토선 TC1012P 장치의 LIN 핀 번호는 8번이다. 벡터 장치와 토선 장치의 LIN 핀 번호가 다르다. CAN High (핀 7), CA..
-
CAN 커넥터와 Y-케이블tip 2024. 12. 14. 10:33
나는 아래 그림의 D-sub 커넥터가 ISO 11898 에서 정한 표준 규격으로 알고 있었다. 사진 출처: CAN bus - Wikipedia 방금 위 사진 출처의 위키피디아를 통해서 위 커넥터가 표준이 아니라 "준표준"이라는 것을 알았다. 어쨌든 CAN 통신을 위한 전선을 마련할 때 D-sub 커넥터를 사용하는 것은 기본이라고 할 수 있다. 핀 배열은 아래와 같다. pin 2: CAN-Low (CAN−) (와이어 색: green)pin 3: GND (ground)pin 7: CAN-High (CAN+) (와이어 색: yellow)pin 9: CAN V+ (power) 토선 제품들 중에 CAN 채널이 복수개인 경우 D-sub 커넥터 1개에 채널이 2개 있다. 핀 배열은 아래와 같다. 두 채널을 동시에..
-
YouTube: 데이터 후처리 (post-processing data)tip 2024. 12. 12. 20:17
오프라인 재생하면서 데이터 후처리하기 YouTube: Monitoring playback signal and post-processing features 설명 내용Bus Plabyback 창에서 오프라인 재생을 이용하여 데이터를 후처리하는 방법을 소개한다. 아래의 데이터 처리가 가능하다.재생 중인 신호의 (최대값, 최소값) 같은 통계치를 구할 수 있다.재생 중인 신호들을 이용하여 연산을 하고, 연산 결과를 시스템 변수에 할당하고, 시스템 변수를 그래픽 창에 표시할 수 있다.재생 중인 신호들 중에서 특정 메시지 아이디만 별도의 blf 파일로 분리할 수 있다. 내가 배운것토선에서 자주 하는 데이터 후처리를 위한 C 미니프로그램을 미리 만들어 두었다. 그 미니프로그램들을 불러와서 쉽게 사용할 수 있도록 Bus..
-
CAN 통신 실험을 위한 툴tip 2024. 12. 10. 21:12
CAN 버스 모니터링, 측정, 분석나는 TSMaster를 사용한다. Tosun사의 유료 소프트웨어이다.아래 링크에서 다운로드 받을 수 있다.https://tosunai.kr/download/ CAN dbc 편집CAN dbc 편집 :: hsl's tsmaster 사용기 데이터 처리나는 Python을 사용한다. TSMaster의 메인 메뉴/ Help/ About/ Acknowledgements를 보면 TSMaster는 아래 파이썬 모듈들을 사용한다. [1] python https://www.python.org/[2] canmatrix https://github.com/ebroecker/canmatrix[3] cantools https://github.com/eerimoq/cantools[4] asammd..
-
목차tip 2024. 12. 6. 09:47
[알림] 블로그 제목 오른쪽에 돋보기 아이콘을 클릭하여 검색을 해보세요. 아래 "응용 사례"에서는 TSMaster를 이용하여 할 수 있는 작업들을 설명합니다. TSMaster 사용법은 "측정 & 분석" 이하를 참조하십시오. 응용 사례 CAN 데이터로 제동 성능 평가하기 :: hsl's tsmaster 사용기: CAN 버스를 측정한 blf 파일에서 ABS(Anti-lock Brake System) 제동의 성능을 평가하는 지표들을 계산하는 방법을 설명한다.mat 파일을 데이터프레임으로 변환하고 feather 파일로 저장하기 :: hsl's tsmaster 사용기제동 성능 지표 계산하기 :: hsl's tsmaster 사용기 칩임 감지 시스템 (IDS: Intrusion Detect..
-
그래픽창 사용법tip 2024. 12. 2. 16:00
그래픽 창 영역 구분그래픽 창은 아래 그림에서 푸른색으로 표시한 텍스트 영역과 붉은색으로 표시한 그래프 영역으로 구분된다. 보기(View) 기능View 드롭 다운 메뉴에는 아래의 기능들이 있다. Show Text Only그래프 없이 수치만 표시된다. Column Width Best Fit텍스트 영역의 컬럼 폭을 자동으로 조절한다. Go to Time메뉴를선택하거나 그래픽 창에서 G 키를 입력하면 시간을 입력 창이 열린다. 입력한 시간으로 그래프의 중심이 이동한다. Set Relative Time입력한 시간을 0s로 변경한다. Scroll Up/ Down선택된 곡선을 위/ 아래로 이동한다. 각각 Up 화살표 키와 Down 화살표 키로 대신할 수 있다. Scroll Left/ Scroll Right전체..