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를 포함하는 모델이나 라이브러리를 불러오도록 시도한 다음 블록이 존재하는지 확인합니다. 모델이나 라이브러리를 찾지 못해도 오류가 반환되지 않습니다. 이 방식으로 불러온 모델이나 라이브러리는 함수가 특정 경로에서 블록을 찾지 못해도 메모리에 남아 있습니다.

예제

모두 축소

블록을 입력 인수로 지정해야 하는 여러 함수를 호출하려는 경우 블록 핸들을 사용해 보십시오. 이 예제에서는 블록 핸들을 가져오는 방법을 보여줍니다.

예제를 엽니다. 그런 다음 f14 모델을 불러옵니다.

load_system('f14')

Pilot이라는 Signal Generator 블록의 핸들을 가져옵니다.

h=getSimulinkBlockHandle('f14/Pilot')
h = 556.0021

예를 들어 get_param 또는 set_param 함수에 대한 후속 함수 호출에서 핸들을 사용할 수 있습니다.

블록 핸들을 사용하여 Wave form 파라미터의 값을 가져옵니다.

get_param(h,'WaveForm')
ans = 
'square'

블록 핸들을 사용하여 Wave form 파라미터의 값을 Sine으로 설정합니다.

set_param(h,'WaveForm','Sine')

변경 사항을 확인하기 위해 Wave form 파라미터의 값을 다시 가져옵니다.

get_param(h,'WaveForm')
ans = 
'sine'

이 예제에서는 한 번의 함수 호출로 모델을 불러오고 해당 모델에서 블록의 핸들을 가져오는 방법을 보여줍니다.

예제를 엽니다. 그런 다음, getSimulinkBlockHandle 함수를 한 번 호출하여 f14 모델을 불러오고 Pilot이라는 블록의 핸들을 가져옵니다.

h = getSimulinkBlockHandle('f14/Pilot',true)
h = 595.0023

예를 들어 get_param 또는 set_param 함수에 대한 후속 함수 호출에서 핸들을 사용할 수 있습니다.

블록 핸들을 사용하여 Wave form 파라미터의 값을 가져옵니다.

get_param(h,'WaveForm')
ans = 
'square'

getSimulationBlockHandle 함수는 함수 입력 인수에 지정된 블록의 핸들을 반환합니다. 유효한 핸들은 0보다 큽니다. 함수가 블록을 찾지 못하면 -1을 반환합니다.

이 예제에서는 getSimulationBlockHandle 함수를 사용하여 모델을 불러왔는지 그리고 이 모델에 특정 블록이 포함되어 있는지 확인하는 방법을 보여줍니다.

모델 f14를 불러왔고 이 모델에 Pilot이라는 블록이 포함되어 있는지 확인합니다.

Check=getSimulinkBlockHandle('f14/Pilot') > 0
Check = logical
   0

Check의 값이 0이면 f14 모델을 불러오지 못했거나 f14 모델에 Pilot이라는 블록이 포함되지 않은 것입니다.

Check의 값이 1이면 모델을 불러왔으며 모델에 Pilot이라는 블록이 포함되어 있는 것입니다.

입력 인수

모두 축소

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

예: 'f14/Pilot'

데이터형: char

출력 인수

모두 축소

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

데이터형: double

버전 내역

R2015a에 개발됨

참고 항목

|