일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 라즈베리파이
- STM32
- 전기차충전
- 안드로이드
- thread
- 전기차
- 홈어시스턴트
- YMODEM
- AWS
- flask
- 파이썬
- 완속충전기
- Android
- 서버리스
- 급속충전기
- 보안
- lambda
- 전기차충전기
- 펌웨어
- 에버온
- OCPP
- IOT Core
- homeassistant
- 플라스크
- 디자인패턴
- everon
- 충전기
- dynamodb
- esp8266
- raspberry
Archives
- Today
- Total
Louie NRT Story
[CAN Analyzer] CAPL(Communication Access Programming Language) 사용법 본문
전기차충전기
[CAN Analyzer] CAPL(Communication Access Programming Language) 사용법
hyeok0724.kim@gmail.com 2023. 3. 23. 18:53반응형
작성일: 23년 3월 23일
Contents
1. CAPL 프로그래밍 작성
2. Program Node 추가하기
3. 실행결과
1. CAPL 프로그래밍 작성
- 메뉴의 "Tools" 선택하여 "CAPL Browser" 버튼을 클릭함
- CAN 데이터 전송을 위한 예제코드
- 작성후 저장함
includes
{
}
//사용할 변수 선언하는 공간
variables {
//변수 선언
int cntTest_CH01 = 0;
//보내는 데이터 변수 생성
//앞에 0x101은 필자가 랜덤으로 적은 숫자임(안쓰면 컴파일 안됨, 용도는 잘 모르겠음)
message 0x101 msgData;
//타이머 생성함
msTimer testTimer;
}
//타이머 동작에 따른 코드 작성
on timer testTimer
{
//printf 역할을 함
write("cntTest_CH01 %d", cntTest_CH01);
//데이터 전송할 CAN 채널 설정함
msgData.can = 1;
//데이터의 개수
msgData.dlc = 8;
//보낼 CAN 데이터의 ID 설정
msgData.id = 0x151;
//보낼 데이터
msgData.byte(0) = cntTest_CH01;
//데이터 전송함
output(msgData);
//타이머 다시 시작
setTimer(testTimer, 1000);
}
on start
{
write("start:");
//타이머 다시 시작
setTimer(testTimer, 1000);
}
//키보드 'a' 눌렀을때 이벤트
on key 'a'
{
write("press a button:");
}
//키보드 's' 눌렀을때 이벤트
on key 's'
{
write("press s button:");
}
- CAPL에서 지원하는 이벤트들을 알 수 있음
2. Program Node 추가하기
- "Analysis & Stimulation" 탭에서 "Measurement Setup" 버튼을 클릭함
- 화살표 네모박스 위에서 우클릭하여 "Insert Program Node" 클릭
- "P" 네모박스가 생성되면 우클릭하여 "Edit"을 클릭함
- 위에서 생성한 코드 파일을 선택함
- CAPL Browser가 뜨면 상단의 "Compile" 버튼을 클릭함
- 다시 돌아와서 상단의 "Start" 버튼을 누르면 실행되는 것을 알 수 있음
3. 실행결과
- Trace를 통하여 데이터가 출력되는 것을 알 수 있음
- Write 패널에서 cntTest_CH01 변수의 값이 증가하는 것을 알 수 있음
- 키보드 이벤트에 의해 "a" 또는 "s"의 버튼이 눌렸다는 것을 알 수 있음
Referece:
https://cheonee.tistory.com/entry/CAPL-CAN-Channel-%EC%84%A4%EC%A0%95
https://stackoverflow.com/questions/45369254/send-message-inject-a-message-with-capl
반응형
'전기차충전기' 카테고리의 다른 글
[NACS] 테슬라 충전기 (0) | 2023.07.16 |
---|---|
[CAN Analyzer] Logging 사용 방법 (1) | 2023.03.24 |
[TI-CCS] 초기 설치 방법 (0) | 2023.02.28 |
[파이썬 강의] REST APIs with Flask - Many Relationship SQL - Todo (0) | 2023.02.12 |
[파이썬 강의] REST APIs with Flask - SQL database (0) | 2023.02.10 |
Comments