본문 바로가기
자동차

CANoe CAPL Signal Event 캐노이 카플 시그널 이벤트 정리

CANoe Signal Event (캐노이 시그널 이벤트를 정리합니다.  시작종료 시그널, 키보드 캔통신, System Variable, 타이머 등 여러 시그널이 있습니다.

벡터(Vector)  캐노 또는 캐노이 프로그램을 사용할 때 프로그램 언어인 CAPL (카플이라고 부릅니다.)을 많이 사용합니다.

 

먼저 CAPL 프로그램 사용방법입니다.

CANoe 프로그램 실행후 메뉴화면에서 Tools에 보면 CAPL Browser가 있습니다. 이 것을 클릭하면 CAPL 프로그램을 실행할 수 있습니다. 

 

 

실행 후 적당한 이름으로 파일로 저장합니다.

 

CANoe Signal Event, CAPL 프로그

 

 

이후 CANoe와 연결하기 위해서 아래 그림처럼 Simulation Setup의 nodes에서 마우스 오른쪽 버튼을 눌러 Insert Network Node를 선택하면 연결됩니다. 

 

 

그러면 아래 그림처럼 Nodes에서 방금 작성한 CAPL 프로그램이 연결됩니다.

 

 

프로그램 작성 후 CANoe에서 실제로 실행하려면 CAPL에서 comple이나 저장 후 CANoe로 돌아와서 아래그림의 왼쪽 최상단의 노란색 번개모양을 클릭하면 됩니다.

 

 

 

 

그렇다면 다시 CAPL 프로그램으로 돌아와서 프로그램을 해보도록 하겠습니다.

 

 

CANoe 시작, 종료 signal start stop

CANoe 시작과 종료 시그널입니다.

  1. on preStart : Measurement 시작 직전 호출되는 이벤트입니다.
  2. on start : preStart 종료직후 실제로 Mesurement가 호출되기 시작하는 이벤트입니다.
  3. on preStop : Measurement 종료 직전에 호출됩니다.
  4. on stopMeasurement : Measuerment가 종료될때 호출됩니다. 

 

키보드 눌렀을 때 key on 시그널

on key 사용자가 키보드의 특정키를 눌렀을 때 호출되는 이벤트입니다. 

예를 들면 다음과 같습니다. 이때 대문자와 소문자를 구분합니다.

 

on key 'a'   여기서 작은 따움표에 유의해야 합니다.

{

   write('a키가 눌러졌습니다.');

}

 

on key Home

{

   write('Home 키가 눌러졌습니다.');  특수문자는 대소문자를 구분하지 않습니다. End, InsertKey DeleteKey F1, shiftF1 ctrlF1 PageUp, CurserLeft ctrlCursorUp, 

}

 

on key *

{

   write("%c 키가 눌러졌습니다.", this);   여기서 큰 따옴표에 유의해야 합니다.

}

 

 

Signal 관련 이벤트

다음은 Signal 관련 이벤트입니다.

on signal 그리고  on signal_change : 이 이벤트는 시그널 값이 바뀌었을 때 호출됩니다. 

의미를 명확하게 하기 위해서 on signal OOO 보다는 on signal_change OOO로 하는 게 의미가 명확하겠죠.

 

on signal_update : 시그널 값이 새로 쓰였을때 (보냈거나 받았거나), 값이 바뀌지 않아도 호출됩니다. 

 

 

동시에 여러 시그널을 하나의 이벤트에 묶을 수도 있습니다.

예를 들어 

on signal_change (AAA | BBB | CCC) 여기서 AAA, BBB, CCC는 임의의 시그널을 의미합니다.

{

   여기에 코드 작성

}

이렇게 하면 아래와 같이 세개의 코드를 각각 작성할 필요 없이 하나의 코드에 작성할 수 있습니다.

 

on signal_change AAA 

on signal_change BBB

on signal_change CCC  

 

그리고   | 는 OR의 의미가 있습니다. 즉, 3개의 시그널 중 하나만 change 되어도 함수를 실행한다는 뜻입니다.

주의할 점은 3개를 정의했기 때문에 this와 함께 쓸 수 없습니다. 

 

※ 함께 읽으면 좋은 글

 

CAN 통신의 핵심 요소 SOF, ID, DLC, Data Field, ACK, EOF

CAN(Controller Area Network) 통신은 자동차 및 산업 자동화 분야에서 사용하는 통신 프로토콜로, 다양한 컨트롤러와 센서 간에 데이터를 교환하는 데 사용됩니다. 이 통신 방식은 신뢰성이 높고 효율

pridjoo.tistory.com

 

자동차 CAN 통신 대표 프로그램 비교 CANoe PCAN Explorer

자동차 CAN 통신 분석에 관심 있는 분들이라면 CANoe (캐노 또는 캐노이)와 PCAN Explore를 들...

blog.naver.com

 

자동차 CAN 통신 분석 가성비 좋은 PEAK CAN (PCAN)

PCAN 가성비 좋은 CAN 통신 인터페이스와 프로그램을 소개합니다. 바로 독일 PEAK-System Technik Gmbh라는 회사에서 만든 CAN 분석 도구입니다. 다만 인터페이스는 임베이트 시스템 코리아에서 구입하였

pridjoo.tistory.com