# 컴파일 하기
# CAPL Broswer 기능 소개
## CAPL Functions Explorer
- 코드 드래그: 코드를 마우스로 드래그하면 자동으로 스크립트가 작성됩니다.
- F1 키로 도움말 보기: 이벤트를 클릭한 상태에서 F1 키를 누르면 관련된 상세한 도움말이 나타납니다.
- 도움말 문서 제공:
- 이벤트의 종류와 사용 방법에 대한 설명이 제공됩니다.
- 이벤트 핸들러와 시스템 함수:
- 이벤트 핸들러 안에서 **System Functions(시스템 함수)**를 볼 수 있습니다.
- CAPL에서 제공하는 다양한 API 함수도 이와 유사한 방식으로 접근할 수 있습니다.
- CAPL 문서의 편리함:
- CAPL의 각 함수에 대한 설명과 파라미터가 정리되어 있어 쉽게 이해할 수 있습니다.
- 도움말 페이지 접근:
- 이벤트를 클릭한 상태에서 F1 키를 누르면 상세한 설명이 있는 헬프 페이지가 나타납니다.
- 이벤트 활용 및 문서 정보:
- 이러한 방식으로 이벤트와 관련된 종류 및 사용 방법을 확인할 수 있습니다.
- 이벤트 핸들러 안에 있는 System Functions도 같은 방법으로 접근할 수 있습니다.
- CAPL API 정보:
- 이벤트뿐만 아니라 CAPL에서 제공하는 각종 API들도 확인 가능합니다.
- 각 API와 함수에 대한 설명과 필요한 파라미터 정보가 잘 정리되어 있습니다.
- CAPL 문서 활용:
- 헬프 페이지나 CAPL의 기능 설명을 참고해 더 효율적으로 CAPL 코드를 작성할 수 있습니다.
- 평소 익스플로러를 활용하듯 CAPL API 정보를 쉽게 탐색하고 사용할 수 있습니다.
## Symbol Explorer
### CAN BD, System Variable 확인 가능
- Symbol Explorer 소개:
- CAPL 코드 작성 시 다양한 오브젝트에 접근할 수 있음.
- 대표적인 오브젝트: CAN-DBC의 메시지 이름, 신호 이름, 노드 이름, System Variable 등.
- System Variable 접근 예시:
- System Variable에 대한 더 자세한 설명은 추후 제공.
- CAPL 코드에서 이벤트로 사용할 수 있는 OnMessage 이벤트 소개.
- OnMessage 이벤트 활용:
- CANoe 상에서 특정 메시지를 수신할 때마다 해당 이벤트가 실행됨.
- 여러 메시지에 대해 각각의 이벤트를 지정 가능.
- 메시지 이름을 코드에 사용하려면 DBC 파일에서 이름을 불러와 활용 가능.
- DBC 파일 활용:
- DBC 파일의 메시지나 신호 이름을 Symbol Explorer로 쉽게 탐색 가능.
- CAN 메시지 이름을 바로 코드에 적용해 사용.
- 예: OnMessage, bms와 같이 작성하여 이벤트 실행.
- 코드 작성 시 DBC 이름 적용하기:
- Symbol Explorer를 활용해 CAPL 코드에서 DBC 정보(메시지, 신호)를 불러와 사용 가능.
- 필요한 정보는 DBC를 열지 않고도 Symbol Explorer로 바로 확인 가능.
- CAPL 브라우저 사용법:
- CAPL 브라우저 화면에서 오른쪽 하단의 심볼 버튼 클릭으로 Symbol Explorer 실행.
- CANoe의 DBC 상의 메시지와 신호 목록을 볼 수 있음.
- 복사 및 붙여넣기 기능:
- 드래그로 쉽게 메시지 이름 복사 가능.
- 또는 Ctrl+C/Ctrl+V 키를 이용한 복사와 붙여넣기 지원.
- System Variable 목록 확인:
- CANoe Configuration 환경에서 정의된 System Variable 목록도 Symbol Explorer에서 확인 가능.
- 이를 CAPL 코드에서 활용해 변수 값에 접근하거나 사용 가능.
## 자동완성 기능
블록을 잡고 F!을 누르면
자동완성 기능 및 도움말 활용 안내
- 자동완성 기능 제공:
- 예를 들어 "OUTPUT"이라고 입력하면 관련된 OUTPUT 목록이 표시됨.
- 목록에서 해당 함수에 대한 간단한 설명이 함께 제공됨.
- 함수 설명 및 파라미터 정보:
- 각 함수에 대한 설명과 함께 필요한 파라미터 정보가 제공됨.
- 예: 함수에 어떤 값을 넣어야 하는지 등이 명시됨.
- 도움말 페이지 활용:
- 도움말 페이지를 열지 않고도 사용할 수 있지만, 더 상세한 설명이 필요하다면 도움말 페이지 참고 가능.
- 이 경우 F1 키를 눌러 함수에 대한 도움말 페이지를 열 수 있음.
- F1 키를 통한 상세 정보 확인:
- F1 키를 누르면 OUTPUT 함수에 대한 상세한 도움말이 제공됨.
- 여기서 추가적인 상세 설명을 확인할 수 있음.
- 자동완성 기능 사용:
- 한번 사용하면 해당 기능이 자동으로 활성화되어 편리하게 사용할 수 있음.
## 자동완성 기능 끄는법
CAPL 브라우저와 자동완성 기능 사용 방법
- CAPL 브라우저 설정 확인:
- CAPL 브라우저의 왼쪽 상단 파일 메뉴에서 옵션을 확인할 수 있음.
- 에디터에서 자동완성(DiffTool) 체크가 되어 있어야 해당 기능이 활성화됨.
- 자동완성 기능 작동 확인:
- 자동완성 기능이 꺼져 있을 경우, OnMessage를 입력해도 목록이 나타나지 않음.
- 이때 자동완성 기능이 작동하지 않음을 알 수 있음.
- 수동으로 자동완성 기능 사용:
- 자동완성이 자동으로 활성화되지 않을 때 Ctrl + 스페이스를 눌러 목록을 불러올 수 있음.
- 필요할 때마다 Ctrl + 스페이스를 사용해 자동완성을 활성화하는 방법을 활용.
- 자동완성 기능의 주의점:
- 자동완성 기능이 모든 경우에 완벽하지 않을 수 있음, 따라서 주기적으로 수동으로 확인하고 사용하는 것이 유리함.
- 자동완성 기능 사용 예시:
- 예: OnMessageDpcBMS를 입력하면 자동완성 기능으로 편리하게 코드를 작성할 수 있음.
- DBC 파일 인식:
- edu-dbc는 사용자가 임포트한 DBC 파일의 이름이며, CAPL 브라우저에서 이를 인식함.
- CAPL 브라우저는 사용자가 별도로 컴파일할 필요 없이 자동으로 인식하여 사용할 수 있음.
- 파일 인식 오류 방지:
- 만약 edu-dbc 대신 다른 이름을 입력했을 경우, CAPL이 인식하지 못해 오류가 발생할 수 있음.
- 올바른 파일 이름을 사용해야 자동완성 기능이 제대로 작동함.
## Navigator
CAPL Navigator 소개 및 사용 방법
CAPL Navigator 소개 및 사용 방법
- CAPL Navigator의 기능:
- CAPL 코드에서 작성된 내용을 카테고리별로 묶어서 요약해 보여줌.
- 코드 내 이벤트와 시스템, 메시지 신호를 구조적으로 정리해 표시.
- Navigator 위치 및 역할:
- CAPL 브라우저의 왼쪽에 위치하며 코드 내 시스템과 연결된 이벤트 목록을 확인할 수 있음.
- 시그널이나 메시지와 연관된 이벤트와 값도 정리해 보여줌.
- CAN 메시지와 관련된 이벤트도 별도로 정리됨.
- 사용자 정의 함수 관리:
- 사용자가 직접 정의한 함수들도 평소 정리된 목록에 포함됨.
- Navigator는 코드의 길이와 복잡도에 따라 효율적으로 구조를 파악하고 정리할 수 있도록 도와줌.
- Navigator의 그룹화 기능:
- 새로운 그룹 생성이 가능하며, 이를 통해 코드의 각 부분을 더 편리하게 관리 가능.
- 그룹을 사용해 복잡한 코드를 한눈에 파악할 수 있도록 도움을 줌.
- CAPL Navigator 활용의 이점:
- 복잡한 코드나 긴 함수를 효율적으로 파악할 수 있어 가독성을 높여줌.
- 단순히 코드 분석을 넘어, 구조화된 정리와 탐색에 유용함.
내비게이터에서 그룹화 기능 사용
내비게이터에서 그룹화 기능 사용
- BMS 관련 이벤트 그룹화:
- BMS와 관련된 이벤트만 별도로 그룹화하고 싶을 때 활용 가능.
- 마우스 오른쪽 버튼을 눌러 그룹을 생성할 수 있음.
- 그룹 예시: 'BMS Related':
- 예를 들어 'BMS Related'라는 그룹을 생성하면 해당 그룹에 이벤트 여러 개를 포함할 수 있음.
- 그룹화는 단순히 정리와 유지를 위해 사용되며 워크플로우에 영향을 미치지 않음.
- 그룹 삭제 시 데이터 손실 없음:
- 그룹을 삭제하더라도 코드나 이벤트가 사라지지 않음, 단지 그룹 정리만 해제될 뿐임.
- 내비게이터의 용도:
- 내비게이터는 코드를 한눈에 파악하고 정리할 수 있도록 도와주는 기능임.
- 아무런 그룹을 만들지 않고도 편리하게 사용할 수 있음.
# 새로운 CAPL 코드 인식하기
CAPL 코드 생성과 DBC 파일 인식 문제 해결 과정
- CAPL 코드 생성과 브라우저 활용:
- CAPL 코드 생성은 CANoe 환경에서 CAPL 브라우저를 열어 수행할 수 있음.
- DBC 파일을 임포트하지 않으면 CAPL 브라우저가 DBC를 인식하지 못함.
- DBC 파일 인식 과정:
- EduDBC와 같은 DBC 파일이 CAPL 환경에 임포트되면 제대로 인식 가능.
- 임포트된 DBC 파일은 Symbol Explorer와 CAPL 브라우저에서 확인할 수 있음.
- 자동완성 기능과 DBC 파일 문제:
- 코드에서 OnMessage와 같은 이벤트 작성 시, DBC가 인식되지 않으면 자동완성 기능이 작동하지 않음.
- CAPL 브라우저를 열어도 오류가 발생할 수 있음. 예를 들어 데이터베이스 인식 실패 등의 메시지가 표시될 수 있음.
- 해결 방법:
- CAPL 브라우저를 단순히 열지 말고, 노드를 먼저 생성하고 매핑한 뒤 열어야 인식 오류를 방지할 수 있음.
- 노드 추가와 매핑이 완료된 후 CAPL 브라우저를 열면 DBC가 정상적으로 인식됨.
- 노드 추가와 코드 매핑 권장:
- CAPL 코드 작성 전 노드를 만들고 매핑한 후, 브라우저를 열어 코드와 연계하는 것이 추천됨.
- 이를 통해 컴파일 오류 없이 CAPL 코드가 정상적으로 동작함을 확인할 수 있음.
- 주의점:
- CAPL 브라우저에서 임의로 불러오기를 시도하면 인식 오류가 발생할 수 있음.
- 오류를 방지하기 위해 항상 노드 설정을 완료한 후 CAPL 브라우저를 사용하는 것이 중요함.
해결 과정 옳은 버전
Simulation Setup -> CAN nodw 생성 -> Node의 CAPL 코드 추가
해결 과정 틀린 버전
새로운 CAPL 코드을
Tools -> CAPL Browser -> 에서 코드 삽입은 안된다.
'회사 > CAPL' 카테고리의 다른 글
섹션 7_CANoe - CAPL과 Panel 기본 (0) | 2024.10.20 |
---|---|
CAPL getProfileArray 사용법 (0) | 2024.10.19 |
섹션 6_CANoe - CAPL과 Panel 기본 (섹션 5) (0) | 2024.10.19 |
섹션 5_CANoe - CAPL과 Panel 기본 (섹션 5) (0) | 2024.10.19 |
섹션 4_CANoe - CAPL과 Panel 기본 (섹션 4) (1) | 2024.10.19 |