묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CANoe CAPL을 이용한 CAN통신으로 펌웨어 업데이트가 가능한가요?
안녕하세요 강사님.현재 자동차 전장 부분 SW 직무로 일하고 있는 1년차 개발자입니다.좋은 강의 덕분에 현업에서 많은 도움을 받고 있습니다.현재 보드에 CAN bootloader를 구현하여 CAN 통신으로 펌웨어 업데이트를 하려고 하는데,CANoe CAPL 툴로 .hex파일을 통해 펌웨어 업데이트 되도록 구현할 수 있을까요?
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
capl 에 dll 로드하는 방법
안녕하세요. capl 을 활용하여 security access 기능을 구현중인데, dll 을 로드해서 key 계산을 해야 하는데요.dll 로드하려면 어떻게 해야 하나요?도움 부탁 드립니다. 감사합니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL panel 관련 문의
안녕하세요. panel 에서 system variable 변화를 그래프로 표현하려고 하는데, 기존 질문들을 찾아보니 graphics 창을 사용해서 표현하라고 하는 답변을 봤습니다.하지만 CAN 신호를 한 화면에서 모니터링하기 위한 GUI 를 panel 로 꾸미고 있어서 panel 에 그래프를 만들어야 하는 상황이라 질문 드립니다.graphics 가 아닌 panel 에서 제공하는 그래프 기능이 있을까요?없다면 graphics 창을 패널에 삽입하는 방법이 있을까요?확인 부탁 드립니다. 감사합니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
외부 툴 연동을 위한 Socket 통신 구현 방법
안녕하십니까, 대학원생인데 연구실에서 CANoe, vTeststudio 라이센스와 Interface 장비가 있고 이것저것하고 싶어 강사님의 강의를 수강 중입니다.특히 외부 툴을 통해 Interface 장비에서 메시지가 실제 CAN BUS로 나갔으면 하는데 CAPL에서 이러한 동작을 구현할 수 있나하여 질문드립니다.당장에 생각나는 건 socket이 가장 간단해보이는데 이러한 방법이 있으면 개발, 연구에 많은 도움이 될 것 같습니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
canoe 테스팅
혹시 canoe를 활용한 유닛 검증 및 시스템 검증에 관한 강의도 만드실 생각이 잇으신지 궁금합니다 단품 검증 및 실차 검증에서 자주 사용되는 검증인지라
-
해결됨실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
capl 코드 생성 & 코드 불러오기 관련 질문입니다.
canoe 마지막 강의에서 맛보기로 capl 작성하신 것처럼 코드를 작성한 후에 node에 삽입하고 나서 CAN 메시지를 발생해도 'write' 창에 아무 반응이 없습니다. 무엇을 놓친건지 조언 부탁 드립니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL을 활용해 Error frame 보내는 방법
안녕하세요! 좋은 강의 덕분에 현업에서 CAPL 지옥에 갇혀 있습니다.현재 제어기들 진단하는 테스트 케이스를 작성하고 있는데, CAPL로 임의의 Error frame을 만들어서 특정 CAN 채널로 보내, 응답 받는 제어기들의 상태를 보고 싶습니다.그래서 CAPL 헬프에서 찾아보니 Error frame을 보내는 방법이 2가지가 있는 것 같습니다. void Error_function() // Error frame 생성 함수 { int i; for (i = 0; i < 250; i++) // 250번 반복 실행 { canOutputErrorFrame(CAN1.errorFrame, 6, 0); // 1번 채널에 6 dominant bits 에러 canOutputErrorFrame(CAN2.errorFrame, 6, 0); canOutputErrorFrame(CAN4.errorFrame, 6, 0); canOutputErrorFrame(CAN5.errorFrame, 6, 0); canOutputErrorFrame(CAN6.errorFrame, 6, 0); testWaitForTimeoutSilent(500); // 500ms 대기 후 다시 실행 } } // CAN1번에 있는 Message를 Bus off 시켜 Error frame 생성 canConfigureBusOff(6, PCAN_Nodes[p].MessageIDs[0], 1); 우선 1번 canOutputErrorFrame을 사용했을 때 CAN 상에서 Error frame이 증가하는 것은 확인했지만, REC/TEC 값의 변화는 보지 못했습니다.2번 같은 경우는 특정 CAN 채널에 연결된 ECU를 Bus off를 시켜 Error frame으로 만드는 것 같은데, 이 경우 TEC 값이 증가하는 부분을 확인할 수 있습니다.임의로 Error frame을 만들기 위해서 2가지 함수(기능)을 활용해 동작하는데, 해당 접근이 올바른 접근인지 궁금하고, 2개의 차이도 한번 여쭙고 싶습니다!아직은 CAPL이 많이 미숙하지만 존버매니아님의 강의 계속 돌려 보겠습니다:)
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL 스크립트 비공개
CAPL 스크립트를 만들어서 사용중입니다.혹시 코딩 내용을 비공개 상태로 공유하는 방법에 대해서 문의드립니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL 관련 문의
안녕하세요 강의를 듣고 CAPL 을 실제로 사용해보다가 궁금한 점이 있어서 문의드립니다. 현재 CANalyzer 프로그램을 사용하고 있습니다. CANalyzer configuration 파일에 DBC 파일을 등록해놓고, CAPL 에서 DBC에 있는 메시지를 선언한뒤, 특정 베리어블 값이 변했을때 선언한 메시지의 특정 시그널 값을 바꾸고 송신하는 코드를 짜봤습니다. 실제 차량에서 해당 코드를 통해 메세지를 송신하면 바로 에러프레임이 뜨면서 해당 도메인 로깅이 중단되거나, 1회 송신은 되는데 실제 차량 동작은 안하고, 2회째 송신하면 에러프레임이 뜨면서 해당 도메인 로깅이 중단됩니다. 혹시 무슨 상황인지 유추가 가능하신지 문의드립니다.. 혹시 DBC를 Configuration 파일에 등록하고 CAPL에서 메시지를 선언해도 해당 메시지의 모든 시그널값을 선언한다던지, 스타트 비트 값이나 CRC 값을 계산한다던지의 추가적인 작업이 필요한건가요..? 제가 짰던 코드는 아래와 같습니다. variables { message 0x111 SWRC_FD; // 'SWRC_FD' 메시지 선언 } on sysvar e_var::e_var { // 시스템 변수 e_var가 변경될 때 호출되는 이벤트 핸들러 if (@sysvar::e_var::e_var == 1) { // e_var의 값이 1로 변경된 경우 SWRC_FD.Audio_CustomSw = 1; // 'Audio_CustomSw' 시그널 값을 1로 설정 output(SWRC_FD); // 메시지 전송 write("SWRC_FD message sent with Audio_CustomSw = 1"); } }
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
보충설명 - "Write 함수"
안녕하세요.보충설명 - "Write 함수" 의 강의자료는 어디서 받을수 있을까요 ?
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
UDS Protocol CAPL 작성
안녕하세요 현재 제어기 DID 관련하여 CAPL 작성하고 있는데 질문이 있습니다.UDS Protocol로 Read DTC ALL 을 한 후에 나오는 데이터가 현재 약 900byte가 나오는데 해당 데이터를 System variable에 저장해서 Panel을 통해 표출하고 싶습니다. Read 한 값의 data가 많다 보니 this.byte() 함수로 다 저장하기가 어려운데 어떻게 처리하는게 좋을까요? 감사합니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL 강의 재생
강의가 재생되지 않습니다. 확인 부탁 드립니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL 코드로 미송출 신호 파악하는 방법
강의 잘 들었습니다. CANoe 다룬 지 얼마 안되어서 혼자 독학하려니 정보가 없어서 어려웠는데 정말로 많은 도움이 되었습니다. 하지만 실무에 적용하려고 하니 몇 가지 어려움이 있어서 질문 드립니다. 특정 조건들을 만족하면 특정 메시지가 Sleep이 됩니다. 그 메시지가 나오지 않을 경우 임의의 sysvar의 값인 sleepmessage = 1; 을 넣고 패널에 불빛으로 넣고 싶은데 방법이 있을까요? AliveCount, CRC가 변화 하지 않은 경우를 사용하면 될 것 같기도 한데 잘 모르겠습니다. 예를 들면 스마트키로 락을 했을 때에 제어기에서 나오는 메시지가 죽는 것을 확인 해야 하는데 trace나 graphic에서는 육안으로 확인 가능하지만 capl에서 그걸 어떻게 해야 할 지 모르겠습니다. 메시지가 죽는 것을 확인하고 다음 스텝으로 언락했을 때에 메시지가 살아나는 것을 확인하는 제공되는 기능같은 게 존재할까요?
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL 환경변수
강의를 잘 보고 있습니다.다름이 아니라, SYS_Variable을 Strcut 구조로 되어있는데요데이터를 한번에 쓰려면 어떻게 해야할까요? C언어를 잘 못해서 그런가...어렵네요....
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL로 LIN도 컨트롤 가능한가요?
안녕하세요. 존버매니아님수업을 듣고 기초적인 CANetowrk 구성 및 제품간 연동을해보았습니다. 너무도 감사드립니다. 다만, 현재 LIN 으로도 CAPL과 연계하여 제어하고 싶습니다.현재, 통신 ldf 파일을 만들고 CAPL 코드를 구현하려고 하니CAN으로 하는 경우와 조금 다른 듯합니다.(제가 잘몰라서... 뭔가 매칭이안되는듯한.) CAPL Code와 연동하여 LIN을 제어할 수 있는지 궁금합니다.LIN과 연계하여 CAPL 구성하는 강의도 만들어 주셨으면 꼭 수강하겠습니다. 감사합니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAPL 데이터 로깅 문의
토글 트리거로 데이터 로깅 시, 데이터 저장 주기를 설정하는 방법이 있나요??ex) 로깅 스타트 후, 1초에 한번씩 특정 시그널 값을 저장
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
에러에 대한 해결 방법에 대해 알고싶습니다.
if((gIGN.BCM_Ign1InSta == 0) && (gIGN.BCM_Ign2InSta == 0)) { GotoMode_BusSleep(); cancelTimer(msTimer_IGN); output(gIGN); } else { gotomode_awake(); setTimerCyclic(msTimer_IGN, Period_200); // bcm_02_200ms 메시지 주기 타이머 시작 }안녕하세요 수업 잘 듣고 있는 학생입니다. 제가 코드를 작성 중에 GotoMode_BusSleep(); 부분에서 unknwon function이라고 뜨는데 뭐가 잘못된건지 모르겠습니다. 예전에도 사용할 땐 잘 됐는데 지금은 갑자기 안됩니다.
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
스타트 불가
SIL Kit: SIL Kit Registry process could not be started. 에러가 뭘까요?ㅠㅠ
-
해결됨실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
#if DEBUG 설명
안녕하세요 좋은 강의 잘 듣고 있습니다. 제가 툴이 없어서 직접 수기로 작성하여 공부를 하고 있습니다.질문이 있는데요 #if DEBUG가 2개를 사용하는데 그러면 write 출력은 test sentence#1,#2가 동시에 나오게 되는건가요?
-
해결됨실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
CAN 신호 송신 시 오류
CAN 신호 송신 시 다음과 같은 오류가 계속 뜨는데 해결방법을 여쭤보고자 문의 드립니다