ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • XCP - 측정
    카테고리 없음 2025. 4. 13. 20:25

    시작하기 전에

    XCP - 설정 :: hsl's tsmaster 사용기 에서 제어기 소프트웨어 내부 신호 측정과 파라미터 캘리브레이션을 위하여 TSMaster의 Calibration 창에서 XCP 관련 설정하는 방법을 설명하였다. 기본적으로 a2l 파일을 로드하면 된다. (간단하다.)  

     

    이번에는 XCP로 측정하는 방법을 설명한다. 

     

     

    개요

    • 측정할 신호들을 수치창에서 보기
    • 그래프로 보기
    • 판넬로 보기

     

    측정할 신호들을 수치 표시창에서 보기

    • Calibration 창의 왼쪽 캘리브레이션 요소에서 Devices/ ECU/ Database를 선택하면, 창의 오른쪽에 a2l에 포함된 정보를 볼 수 있다.  

     

     

    • 여러 종류의 소프트웨어 변수들이 있다. (기회가 되면 소프트웨어 변수의 종류들을 하나씩 설명하겠다. 지금 설명하면 이야기의 맥이 이을 수가 없다.)
    •  filter 창에 키워드를 입력하는 방식으로 원하는 변수를 찾을 수 있다. 아래 그림은 "sine" 이라고 입력하여 필터한 결과다.

     

    • Ctrl 키를 누른 상태에서 변수들을 클릭하여 여러 개 변수들을 선택할 수 있다. 변수들이 선택된 상태에서 마우스 우클릭으로 팝-업 메뉴를 띄운다. Add to Numeric/ Create new Numeric window 나 Numeric Display를 선택하여, 새 수치 표시창을 만들거나, 기존 수치 표시창에 변수들을 추가한다.

     

    • 선택한 변수들 중에서 위쪽 4개와 아래쪽 2개의 아이콘이 다르다. 위쪽 4개는 변수이고 아래쪽 2개는 파라미터이다. 
    • 아래와 같은 수치 표시창이 열린다.   

     

    • 이 설명은 XCPSim.exe 를 제어기 대신 사용한다. XCPSim.exe를 실행한다. (제어기로 한다면 제어기를 켠다.)  

    XCPSim.exe 실행 화면. DOS 창이 열리며 XCPSim이 접속을 대기한다.

     

    • TSMaster를 XCPSim과 연결하기 위해서 하드웨어 설정이 필요하다. 메인 메뉴/ Hardware/ Channel Selection 버튼을 클릭하여 TSMaster Application Channel Selection 창을 연다. 그리고 Hardware Channel Selection에서 "Vector VIRTUAL 1 CAN FD Channel 1 (100)"을 선택한다.

    • Hardware Channel Selectin에서 "Vector VIRTUAL ..."이 표시되지 않는 경우, 메인 메뉴/ Hardware/ Vendor Selection에서 VECTOR를 선택한다. VECTOR가 선택되었는데도 문제가 발생하면 해당 url에서 드라이버를 다운로드 받아 설치한다.

     

    • Calibration 창에서 Connect to Calibration ECU 버튼을 클릭한다. CAN 통신이 연결되어 있지 않으면 먼저 CAN 통신이 연결된 후 XCP 연결이 이뤄진다.

    • 도스창을 보면 XCP 연결을 위한 메시지 송수신을 볼 수 있다. 

     

    • start online calibration 버튼을 클릭하면 수치 표시창에 숫자들이 변하는 것을 볼 수 있다. 

    • 위쪽 4개의 변수는 값이 계속 변한다. 아래쪽 2개의 파라미터는 값이 고정되어 있다. (이 파라미터를 바꿔서 캘리브레이션을 한다. 나중에 설명한다.)

     

    그래프로 보기

    • 그래프로 보는 방법은 수치 표시창에서 보는 방법과 비슷하다. 파라미터도 그래프로 볼 수 있지만 유용하지 않다. 이 설명에서는 변수만 표시한다. 
    • Database에서 변수만 선택하고 마우스 우클릭으로 Add to Graphics/ Create new Graphics Window를 선택한다.

    • 그래픽스창에 그래프가 출력된다. (아래 그림은 그래픽창에서 f 키를 눌러 스케일을 조정한 상태이다.) 파란색 sineSignal 그래프를 보면 매끈하지가 않다. 빨간색과 녹색 그래프에는 노이즈가 포함되어있는데, 파란색 그래프만큼 매끈해 보인다. 

    • Measurement list를 선택하여 변수들 보면 Measuremetn Mode가 Polling으로 Rate(ms)가 100을 되어있다. Rate를 10(ms)로 변경하면 매끄러운 그래프가 될 것이다. 

    • 그런데 현재 방법은 Polling으로 되어있다. 이는 TSMaster가 100ms 마다 요청 메시지들을 제어기에 보내고, 제어기가 그에 따라 응답 메시지들을 전송한다는 의미이다. 도스창을 보면 요청 메시지들과 응답 메시지들이 빠르게 스크롤하고 있다. 

     

    • Polling 방법으로 주기를 10ms로 늘려 측정한 그래프는 아래 그림과 같다. 파란색 sineSignal 그래프가 매끈하게 그려진다. 빨간색과 녹색 그래프에는 노이즈가 섞여 있는 것이 명확하게 보인다.  

    • Polling 속도를 10배 늘려서 요청과 응답을 주고 받는 것은 비효율적이다. 한 번의 요청으로 미리 정한 주기대로 제어기가 응답을 보내준다면, 번거로움을 덜 수 있다. cyclic 모드가 그렇다. Cyclic 모드는 polling 모드 보다 더 정확한 주기로 응답을 받을 수도 있다는 유리한 점도 추가로 있다.         
    • Measurement List에서 변수들을 선택하고 Measurement Mode를 Cyclie으로 변경한다. 

    • 그래프로 확인할 수 없지만 cyclic 모드의 경우가 polling 모드의 경우 보다 측정 주기가 더 일정하다.
    • 버스 로드를 비교하면 아래 그림과 같다. 왼쪽은 100ms 주기 polling, 가운데는 10ms polling, 오른쪽은 10ms cyclic의 경우이다. 

    • 그래픽스창에서 조작 방법들은 CAN 통신에서 방법들과 동일하다.

     

    판넬로 보기

    • Relation Chart를 그린다면, Toolbox에서 Relation Chart를 더블 클릭하여 판넬의 캔버스에 Relation Chart 위젯을 추가한다. (위치와 크기를 조정한다.)
    • x축에 연결할 변수를 설정하기 위하여, EditSignalIndex를 0으로하고 VarLink에서 오른쪽 3점 버튼을 클릭한다.

    • Select signal type 창에서 System Var를 선택한다. 

     

    • 시스템 변수 선택창이 열린다. Internal Variables 탭을 선택한다. a2l에 있는 모든 변수들이 시스템 변수로 추가되어 있다.  Filter 창에 sine이라고 입력한다. sineSingal을 선택한다. 

     

    • y에 연결할 변수를 설정하기 위하여, EditSignalIndex를 1로하고 VarLink에서 오른쪽 3점 버튼을 클릭한다. 위와 동일한 방법으로 시스템 변수창에서 XCP로 전달받은 변수를 선택한다. 나는 sineNoiseMixSignal을 선택하였다.
    • Calibration창에서 connect to calibration ECU's 버튼을 클릭하고 start online calibration 버튼을 클릭하면, relation chart가 그려진다. 

     

     

    다음은 측정 데이터를  파일로 저장하는 방법을 설명한다. 방법은 캘리브레이션창에서 빨간색 Start Logging 버튼을 누르고 그 버튼을 다시 눌러 Stop Logging 하면 된다. 간단하다. CAN 데이터로 제동 성능 평가하기 :: hsl's tsmaster 사용기 에서 설명했던 mat 파일과 자동차 산업의 신호 기반 데이터 저장의 표준인 mdf 파일 포맷에 관해서 설명할 것이다.