Main Content

getSimulinkBlockHandle

블록 경로에서 블록 핸들 가져오기

설명

예제

handle = getSimulinkBlockHandle(path)path로 지정된 블록이 불러온 모델이나 라이브러리에 있는 경우 블록의 숫자 핸들을 반환합니다. 블록을 찾지 못하면 -1을 반환합니다. 필요한 위치에 라이브러리 링크 연결을 맺습니다.

getSimulinkBlockHandle에서 반환되는 숫자 핸들을 사용하여 이후 get_param 또는 set_param 호출에서 블록을 조작할 수 있습니다. 이 접근 방식은 전체 블록 경로를 사용하여 이러한 함수를 여러 번 호출하는 것보다 더 효율적입니다. 일반적으로 사용자는 MATLAB®이 표시하는 것보다 많은 자릿수를 지정해야 하므로 핸들의 숫자만 사용하려고 하면 안 됩니다(예: 5.007). 변수에 핸들을 할당하고 그 변수 이름을 사용하여 블록을 지정하십시오. 핸들은 현재 MATLAB 세션에만 적용됩니다.

getSimulinkBlockHandle을 사용하여 블록 경로가 유효한지 확인합니다. 이 접근 방식은 try 명령문 내에서 get_param을 호출하는 것보다 더 효율적입니다.

예제

handle = getSimulinkBlockHandle(path,true)는 지정된 블록 path를 포함하는 모델이나 라이브러리를 불러오도록 시도한 다음 블록이 존재하는지 확인합니다. 모델이나 라이브러리를 찾지 못해도 오류가 반환되지 않습니다. 이 방식으로 불러온 모델이나 라이브러리는 함수가 특정 경로에서 블록을 찾지 못해도 메모리에 남아 있습니다.

예제

모두 축소

Pilot 블록의 핸들을 가져옵니다.

load_system('f14')
handle = getSimulinkBlockHandle('f14/Pilot')
handle =

  562.0004

이후 get_param이나 set_param 호출에서 이 핸들을 사용할 수 있습니다.

필요한 경우 모델 f14를 불러오고(true를 지정) Pilot 블록의 핸들을 가져옵니다.

handle = getSimulinkBlockHandle('f14/Pilot',true)
handle =

  562.0004

이후 get_param이나 set_param 호출에서 이 핸들을 사용할 수 있습니다.

모델 f14를 불러왔고 이 모델에 Pilot이라는 블록이 포함되어 있는지 확인합니다. 유효한 핸들은 항상 0보다 큽니다. 함수가 블록을 찾지 못하면 -1을 반환합니다.

valid_block_path = getSimulinkBlockHandle('f14/Pilot') > 0
valid_block_path =

     0

모델에 블록이 포함되어 있지만, 모델을 불러오지 않았으므로 이 명령은 블록을 찾지 못하고 0을 반환합니다.

getSimulinkBlockHandle을 사용하여 블록 경로가 유효한지 확인하는 것은 try 명령문 안에서 get_param을 호출하는 것보다 더 효율적입니다.

입력 인수

모두 축소

블록 경로 이름으로, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

예: 'f14/Pilot'

데이터형: char

출력 인수

모두 축소

블록의 숫자 핸들로, double형 또는 double형으로 구성된 배열로 반환됩니다. 유효한 핸들은 항상 0보다 큽니다. 함수가 블록을 찾지 못하면 -1을 반환합니다. path 입력이 문자형 벡터로 구성된 셀형 배열이면 출력은 핸들로 구성된 숫자형 배열입니다.

데이터형: double

버전 내역

R2015a에 개발됨

참고 항목

|