본문 바로가기
회사/CAPL

CANoe - CAPL과 Panel 기본 (섹션 3_3 ~ 3_6)

by 응가1414 2024. 10. 19.

# 컴파일 하기

 

# CAPL Broswer 기능 소개

 

## CAPL Functions Explorer

  1. 코드 드래그: 코드를 마우스로 드래그하면 자동으로 스크립트가 작성됩니다.
  2. F1 키로 도움말 보기: 이벤트를 클릭한 상태에서 F1 키를 누르면 관련된 상세한 도움말이 나타납니다.
  3. 도움말 문서 제공:
    • 이벤트의 종류와 사용 방법에 대한 설명이 제공됩니다.
  4. 이벤트 핸들러와 시스템 함수:
    • 이벤트 핸들러 안에서 **System Functions(시스템 함수)**를 볼 수 있습니다.
    • CAPL에서 제공하는 다양한 API 함수도 이와 유사한 방식으로 접근할 수 있습니다.
  5. CAPL 문서의 편리함:
    • CAPL의 각 함수에 대한 설명과 파라미터가 정리되어 있어 쉽게 이해할 수 있습니다.

 

  • 도움말 페이지 접근:
    • 이벤트를 클릭한 상태에서 F1 키를 누르면 상세한 설명이 있는 헬프 페이지가 나타납니다.
  • 이벤트 활용 및 문서 정보:
    • 이러한 방식으로 이벤트와 관련된 종류 및 사용 방법을 확인할 수 있습니다.
    • 이벤트 핸들러 안에 있는 System Functions도 같은 방법으로 접근할 수 있습니다.
  • CAPL API 정보:
    • 이벤트뿐만 아니라 CAPL에서 제공하는 각종 API들도 확인 가능합니다.
    • 각 API와 함수에 대한 설명과 필요한 파라미터 정보가 잘 정리되어 있습니다.
  • CAPL 문서 활용:
    • 헬프 페이지나 CAPL의 기능 설명을 참고해 더 효율적으로 CAPL 코드를 작성할 수 있습니다.
    • 평소 익스플로러를 활용하듯 CAPL API 정보를 쉽게 탐색하고 사용할 수 있습니다.

## Symbol Explorer

### CAN BD, System Variable 확인 가능

 

 

 

  1. Symbol Explorer 소개:
    • CAPL 코드 작성 시 다양한 오브젝트에 접근할 수 있음.
    • 대표적인 오브젝트: CAN-DBC의 메시지 이름, 신호 이름, 노드 이름, System Variable 등.
  2. System Variable 접근 예시:
    • System Variable에 대한 더 자세한 설명은 추후 제공.
    • CAPL 코드에서 이벤트로 사용할 수 있는 OnMessage 이벤트 소개.
  3. OnMessage 이벤트 활용:
    • CANoe 상에서 특정 메시지를 수신할 때마다 해당 이벤트가 실행됨.
    • 여러 메시지에 대해 각각의 이벤트를 지정 가능.
    • 메시지 이름을 코드에 사용하려면 DBC 파일에서 이름을 불러와 활용 가능.
  4. DBC 파일 활용:
    • DBC 파일의 메시지나 신호 이름을 Symbol Explorer로 쉽게 탐색 가능.
    • CAN 메시지 이름을 바로 코드에 적용해 사용.
    • 예: OnMessage, bms와 같이 작성하여 이벤트 실행.
  5. 코드 작성 시 DBC 이름 적용하기:
    • Symbol Explorer를 활용해 CAPL 코드에서 DBC 정보(메시지, 신호)를 불러와 사용 가능.
    • 필요한 정보는 DBC를 열지 않고도 Symbol Explorer로 바로 확인 가능.
  6. CAPL 브라우저 사용법:
    • CAPL 브라우저 화면에서 오른쪽 하단의 심볼 버튼 클릭으로 Symbol Explorer 실행.
    • CANoe의 DBC 상의 메시지와 신호 목록을 볼 수 있음.
  7. 복사 및 붙여넣기 기능:
    • 드래그로 쉽게 메시지 이름 복사 가능.
    • 또는 Ctrl+C/Ctrl+V 키를 이용한 복사와 붙여넣기 지원.
  8. System Variable 목록 확인:
    • CANoe Configuration 환경에서 정의된 System Variable 목록도 Symbol Explorer에서 확인 가능.
    • 이를 CAPL 코드에서 활용해 변수 값에 접근하거나 사용 가능.

## 자동완성 기능

 

 

 

 

블록을 잡고 F!을 누르면

자동완성 기능 및 도움말 활용 안내

  1. 자동완성 기능 제공:
    • 예를 들어 "OUTPUT"이라고 입력하면 관련된 OUTPUT 목록이 표시됨.
    • 목록에서 해당 함수에 대한 간단한 설명이 함께 제공됨.
  2. 함수 설명 및 파라미터 정보:
    • 각 함수에 대한 설명과 함께 필요한 파라미터 정보가 제공됨.
    • 예: 함수에 어떤 값을 넣어야 하는지 등이 명시됨.
  3. 도움말 페이지 활용:
    • 도움말 페이지를 열지 않고도 사용할 수 있지만, 더 상세한 설명이 필요하다면 도움말 페이지 참고 가능.
    • 이 경우 F1 키를 눌러 함수에 대한 도움말 페이지를 열 수 있음.
  4. F1 키를 통한 상세 정보 확인:
    • F1 키를 누르면 OUTPUT 함수에 대한 상세한 도움말이 제공됨.
    • 여기서 추가적인 상세 설명을 확인할 수 있음.
  5. 자동완성 기능 사용:
    • 한번 사용하면 해당 기능이 자동으로 활성화되어 편리하게 사용할 수 있음.

 

## 자동완성 기능 끄는법

 

CAPL 브라우저와 자동완성 기능 사용 방법

  1. CAPL 브라우저 설정 확인:
    • CAPL 브라우저의 왼쪽 상단 파일 메뉴에서 옵션을 확인할 수 있음.
    • 에디터에서 자동완성(DiffTool) 체크가 되어 있어야 해당 기능이 활성화됨.
  2. 자동완성 기능 작동 확인:
    • 자동완성 기능이 꺼져 있을 경우, OnMessage를 입력해도 목록이 나타나지 않음.
    • 이때 자동완성 기능이 작동하지 않음을 알 수 있음.
  3. 수동으로 자동완성 기능 사용:
    • 자동완성이 자동으로 활성화되지 않을 때 Ctrl + 스페이스를 눌러 목록을 불러올 수 있음.
    • 필요할 때마다 Ctrl + 스페이스를 사용해 자동완성을 활성화하는 방법을 활용.
  4. 자동완성 기능의 주의점:
    • 자동완성 기능이 모든 경우에 완벽하지 않을 수 있음, 따라서 주기적으로 수동으로 확인하고 사용하는 것이 유리함.

 

  • 자동완성 기능 사용 예시:
    • 예: OnMessageDpcBMS를 입력하면 자동완성 기능으로 편리하게 코드를 작성할 수 있음.
  • DBC 파일 인식:
    • edu-dbc는 사용자가 임포트한 DBC 파일의 이름이며, CAPL 브라우저에서 이를 인식함.
    • CAPL 브라우저는 사용자가 별도로 컴파일할 필요 없이 자동으로 인식하여 사용할 수 있음.

  • 파일 인식 오류 방지:
    • 만약 edu-dbc 대신 다른 이름을 입력했을 경우, CAPL이 인식하지 못해 오류가 발생할 수 있음.
    • 올바른 파일 이름을 사용해야 자동완성 기능이 제대로 작동함.

 

## Navigator

CAPL Navigator 소개 및 사용 방법

 

CAPL Navigator 소개 및 사용 방법

  1. CAPL Navigator의 기능:
    • CAPL 코드에서 작성된 내용을 카테고리별로 묶어서 요약해 보여줌.
    • 코드 내 이벤트와 시스템, 메시지 신호를 구조적으로 정리해 표시.
  2. Navigator 위치 및 역할:
    • CAPL 브라우저의 왼쪽에 위치하며 코드 내 시스템과 연결된 이벤트 목록을 확인할 수 있음.
    • 시그널이나 메시지와 연관된 이벤트와 값도 정리해 보여줌.
    • CAN 메시지와 관련된 이벤트도 별도로 정리됨.
  3. 사용자 정의 함수 관리:
    • 사용자가 직접 정의한 함수들도 평소 정리된 목록에 포함됨.
    • Navigator는 코드의 길이와 복잡도에 따라 효율적으로 구조를 파악하고 정리할 수 있도록 도와줌.
  4. Navigator의 그룹화 기능:
    • 새로운 그룹 생성이 가능하며, 이를 통해 코드의 각 부분을 더 편리하게 관리 가능.
    • 그룹을 사용해 복잡한 코드를 한눈에 파악할 수 있도록 도움을 줌.
  5. CAPL Navigator 활용의 이점:
    • 복잡한 코드나 긴 함수를 효율적으로 파악할 수 있어 가독성을 높여줌.
    • 단순히 코드 분석을 넘어, 구조화된 정리와 탐색에 유용함.

 

내비게이터에서 그룹화 기능 사용

 

내비게이터에서 그룹화 기능 사용

  1. BMS 관련 이벤트 그룹화:
    • BMS와 관련된 이벤트만 별도로 그룹화하고 싶을 때 활용 가능.
    • 마우스 오른쪽 버튼을 눌러 그룹을 생성할 수 있음.
  2. 그룹 예시: 'BMS Related':
    • 예를 들어 'BMS Related'라는 그룹을 생성하면 해당 그룹에 이벤트 여러 개를 포함할 수 있음.
    • 그룹화는 단순히 정리와 유지를 위해 사용되며 워크플로우에 영향을 미치지 않음.
  3. 그룹 삭제 시 데이터 손실 없음:
    • 그룹을 삭제하더라도 코드나 이벤트가 사라지지 않음, 단지 그룹 정리만 해제될 뿐임.
  4. 내비게이터의 용도:
    • 내비게이터는 코드를 한눈에 파악하고 정리할 수 있도록 도와주는 기능임.
    • 아무런 그룹을 만들지 않고도 편리하게 사용할 수 있음.

 

 

 

# 새로운 CAPL 코드 인식하기

 

CAPL 코드 생성과 DBC 파일 인식 문제 해결 과정

  1. CAPL 코드 생성과 브라우저 활용:
    • CAPL 코드 생성은 CANoe 환경에서 CAPL 브라우저를 열어 수행할 수 있음.
    • DBC 파일을 임포트하지 않으면 CAPL 브라우저가 DBC를 인식하지 못함.
  2. DBC 파일 인식 과정:
    • EduDBC와 같은 DBC 파일이 CAPL 환경에 임포트되면 제대로 인식 가능.
    • 임포트된 DBC 파일은 Symbol Explorer와 CAPL 브라우저에서 확인할 수 있음.
  3. 자동완성 기능과 DBC 파일 문제:
    • 코드에서 OnMessage와 같은 이벤트 작성 시, DBC가 인식되지 않으면 자동완성 기능이 작동하지 않음.
    • CAPL 브라우저를 열어도 오류가 발생할 수 있음. 예를 들어 데이터베이스 인식 실패 등의 메시지가 표시될 수 있음.
  4. 해결 방법:
    • CAPL 브라우저를 단순히 열지 말고, 노드를 먼저 생성하고 매핑한 뒤 열어야 인식 오류를 방지할 수 있음.
    • 노드 추가와 매핑이 완료된 후 CAPL 브라우저를 열면 DBC가 정상적으로 인식됨.
  5. 노드 추가와 코드 매핑 권장:
    • CAPL 코드 작성 전 노드를 만들고 매핑한 후, 브라우저를 열어 코드와 연계하는 것이 추천됨.
    • 이를 통해 컴파일 오류 없이 CAPL 코드가 정상적으로 동작함을 확인할 수 있음.
  6. 주의점:
    • CAPL 브라우저에서 임의로 불러오기를 시도하면 인식 오류가 발생할 수 있음.
    • 오류를 방지하기 위해 항상 노드 설정을 완료한 후 CAPL 브라우저를 사용하는 것이 중요함.

 

해결 과정 옳은 버전

Simulation Setup -> CAN nodw 생성 -> Node의 CAPL 코드 추가

해결 과정 틀린 버전

새로운 CAPL 코드을

Tools -> CAPL Browser -> 에서 코드 삽입은 안된다.