Simulink 는 많은 경우 MATLAB script 를 사용하여 자동화를 할 수가 있습니다.
당연히 MATLAB 코딩을 잘해야 Simulink를 자유자재로 다룰 수 있을 겁니다.
물론 그냥 노가다로 Simulink를 구현 할 수도 있지만 이렇게 하면 무수한 클릭질에 Simulink 설계가 정말 싫어 질 겁니다.
암튼 오늘은 Simulink 블록의 존재 유무를 MATLAB Command Window 에서 확인 하는 방법에 대해 소개 하려 합니다.
Simulink 블록의 존재 유무를 확인하기 위해서는 getSimulinkBlockHandle() 함수를 사용하면 됩니다.
함수의 이름을 보면 알겠지만 Simulink 블록의 handle 을 구하는 함수 입니다.
getSimulinkBlockHandle() 함수에 대한 메뉴얼은 아래 주소에서 확인 할 수 있고~
https://kr.mathworks.com/help/simulink/slref/getsimulinkblockhandle.html
getSimulinkBlockHandle()을 사용하는 경우 블록이 존재하면 블록의 handle 을 return 하고, 존재하지 않으면 -1 을 return 합니다.
따라서 아래와 같이 사용 할 수 있을 겁니다.
if (getSimulinkBlockHandle('modelname/sysname') == -1)
% block does not exist
else
% block exists
end
블록의 path 를 확인하는 방법은 블록을 클릭하고 MATLAB command window 에 gcb 라고 타이핑 하면 됩니다.
아래와 같은 모델(NewModel.slx)에서 Scope 를 선택한 후에 MATLAB command window 에 gcb 라고 타이핑 하면~ 다음과 같이 path 가 나옵니다.
NewModel/Scope
위 path 에 대해 getSimulinkBlockHandle() 함수를 사용해 보면~ 아래와 같이 handle 값이 나오는 것을 확인 할 수 있습니다.
>> getSimulinkBlockHandle('NewModel/Scope')
ans =
1.6290e+03
그럼 위 모델에 없는 블록 이름을 하나 테스트 해 보죠~ 아래 결과를 보면 위 설명대로 -1 이 나오는 것을 확인 할 수 있습니다.
>> getSimulinkBlockHandle('NewModel/Scope 1')
ans =
-1
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 환경변수를 사용하여 path 설정 방법 (0) | 2016.11.03 |
---|---|
MATLAB 을 사용하여 Windows 환경에서 outlook 으로 메일 보내기 (1) | 2016.10.31 |
MATLAB zip() 함수를 사용하여 현재 폴더 하위의 내용들 압축하기 (0) | 2016.10.29 |
MATLAB 현재 폴더 안의 모든 Simulink MDL 파일 SLX 로 변경하기 (0) | 2016.10.26 |
Simulink scope 한번에 다 닫는 명령어 (0) | 2016.08.11 |
MATLAB finish.m 파일 설정 방법 (0) | 2016.08.08 |
MATLAB bsxfun(The binary singleton expansion function) (0) | 2016.02.14 |
MATLAB Exponential random variable generation (14) | 2016.01.13 |
댓글