목표
함수 정리 및 개인적인 시간이 있을 때 설명 읽어두기.
각 함수 설명
sysGetVariableString
- 시스템 변수(System Variable) 중 문자열(String, char[]) 타입의 값을 설정(변경)하는 함수입니다.
- CANoe에서 시스템 변수를 이용해 메시지 전송, ECU 상태 저장, 내부 변수 관리 등을 수행할 수 있으며, 이 함수는 문자열 변수 값을 동적으로 변경할 때 유용합니다.
함수의 반환값
반환값설명
0 | 정상적으로 실행됨 (성공) |
1 | 네임스페이스를 찾을 수 없음 또는 동일한 네임스페이스를 중복 정의 |
2 | 변수를 찾을 수 없음 또는 동일한 변수를 중복 정의 |
3 | 네임스페이스에 대한 쓰기 권한 없음 |
4 | 변수의 타입이 char[]이 아님 (문자열이 아님) |
form 1: 네임스페이스와 변수 이름을 문자열로 전달
long sysSetVariableString(char namespace[], char variable[], char value[]);
- namespace → 시스템 변수가 속한 네임스페이스
- variable → 변수 이름
- value → 설정할 문자열 값
예제
sysSetVariableString("VehicleData", "SpeedText", "Fast");
➡️ “VehicleData” 네임스페이스의 “SpeedText” 변수 값을 “Fast”로 변경.
form 2: 시스템 변수의 전체 경로를 직접 지정
long sysSetVariableString(SysVarName, char value[]);
- SysVarName → 시스템 변수의 전체 이름 (네임스페이스 포함)
- value → 설정할 문자열 값
예제
sysSetVariableString(sysvar::VehicleData::SpeedText, "Fast");
➡️ “VehicleData::SpeedText” 시스템 변수 값을 “Fast”로 변경.
시스템 변수의 특정 요소 값 설정
시스템 변수가 구조체(struct) 또는 배열(array) 인 경우, 특정 요소만 설정할 수도 있습니다.
📌 예제 (배열 요소 값 변경)
sysSetVariableString(sysvarMember::XCP::ECU_2::KL2.Curve2[0], "NewValue");
➡️ “XCP::ECU_2::KL2.Curve2[0]” 배열의 첫 번째 요소 값을 “NewValue”로 변경.
'Programming > CANoe' 카테고리의 다른 글
CANoe 함수: mbstrncpy (0) | 2025.03.10 |
---|---|
CANoe 함수: strlen (0) | 2025.03.10 |
CANoe 함수: sysGetVariableString (0) | 2025.03.02 |
CANoe 함수: elcount (0) | 2025.03.02 |
CANoe 함수: on sysvar (0) | 2025.03.02 |