주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

DBC 파일 불러오기 및 메시지 생성

Vector CAN 데이터베이스 지원

Vehicle Network Toolbox™는 Vector CAN 데이터베이스를 사용할 수 있게 해줍니다. 데이터베이스 .dbc 파일에는 CAN 메시지와 신호의 정의가 포함되어 있습니다. 데이터베이스 파일에 정의된 정보를 사용하여 메시지 및 신호 정보를 조회하고 메시지를 생성할 수 있습니다. 엔지니어링 단위로 메시지와 신호 정보를 표현할 수도 있으므로 원시 데이터 바이트를 조작할 필요가 없습니다.

CAN 데이터베이스 로드

CAN 데이터베이스 파일을 사용하려면, 해당 데이터베이스를 MATLAB® 세션에 로드하십시오. MATLAB 명령 프롬프트에서 다음을 입력하십시오:

db = canDatabase('filename.dbc')

여기서 db는 데이터베이스 핸들을 위해 선택한 변수이며, filename.dbc는 CAN 데이터베이스의 실제 파일 이름입니다. CAN 데이터베이스가 현재 작업 디렉터리에 있지 않은 경우, 데이터베이스의 경로를 입력하십시오:

db = canDatabase('path\filename.dbc')

등호, 앰퍼샌드 등과 같은 영숫자가 아닌 문자를 포함하는 CAN 데이터베이스 파일 이름은 Vehicle Network Toolbox와 호환되지 않습니다. 데이터베이스 이름에 마침표를 사용할 수 있습니다. 사용하기 전에 알파벳과 숫자가 아닌 문자가 포함된 CAN 데이터베이스 파일의 이름을 변경하십시오.

이 명령어는 데이터베이스에 저장된 정보를 사용하여 CAN 메시지를 생성하고 해석하는 데 사용할 수 있는 데이터베이스 객체를 반환합니다. 자세한 내용은 canDatabase 함수를 참조하십시오.

CAN 메시지 생성

이 예제는 데이터베이스를 사용하여 메시지를 생성하는 방법을 보여줍니다. 이 데이터베이스에는 EngineMsg라는 이름의 메시지가 있습니다. 이 예제를 시도하려면, 자신의 데이터베이스에서 정의된 메시지 및 신호를 사용하여 생성하십시오.

  1. CAN 데이터베이스 객체를 생성합니다.

    d = canDatabase("C:\myVNTData\demoVNT_CANdbFiles.dbc");
  2. 데이터베이스의 메시지 이름을 사용하여 CAN 메시지를 생성하십시오.

    message = canMessage(d,'EngineMsg');

구성된 CAN 메시지 내 신호 액세스

예제 데이터베이스인 message에서 생성한 메시지에 대해 정의된 두 신호에 액세스할 수 있습니다. 일부 신호의 값도 변경할 수 있습니다.

  1. 메시지에 신호를 표시하려면 다음을 입력하세요:

    sig = message.Signals
    sig = 
    
      struct with fields:
    
        VehicleSpeed: 0
           EngineRPM: 250
  2. EngineRPM 신호의 값을 변경하십시오:

    message.Signals.EngineRPM = 300;
  3. 신호를 재할당하고 변경 사항을 확인하기 위해 다시 표시하십시오.

    sig = message.Signals
    sig = 
    
      struct with fields:
    
        VehicleSpeed: 0
           EngineRPM: 300

CAN 채널에 데이터베이스 추가

CAN 채널에 데이터베이스를 추가하려면 채널의 Database 속성을 설정하십시오. 예를 들면 다음과 같습니다.

canch = canChannel("MathWorks","Virtual 1",1);
d = canDatabase("C:\myVNTData\demoVNT_CANdbFiles.dbc");
canch.Database = d;
canch.Database.Name
ans =
    'demoVNT_CANdbFiles'

데이터베이스 정보 업데이트

데이터베이스 파일을 변경할 때:

  1. canDatabase 함수를 사용하여 데이터베이스 파일을 MATLAB 세션에 다시 로드하십시오.

  2. attachDatabase 함수를 사용하여 데이터베이스를 메시지에 다시 연결하십시오.

참고 항목

함수

속성

도움말 항목