Simulink API (3) 모델의 주요 세 요소

Simulink 모델의 세 가지 주요 요소



find_system을 사용하기 전에 Simulink 모델(이하 모델)을 구성하는 객체를 억제해야 합니다.

이번에는 그 중에서도 모델의 "행동"에 영향을 미치는 세 가지 중요한 객체가 있습니다.
이 3개의 객체의 관계성을 이해하는 것은, find_system 함수의 뒤에 설명하는 get_param/set_param 함수를 사용할 때에 매우 효력을 발휘합니다.
  • Block (Simulink 블록)
  • Port (Simulink 블록 입출력 포트)
  • Line (Simulink 블록을 연결하는 신호선)

  • 모두 이름 (레이블)을 부여 할 수 있으며 고유 한 핸들 값을가집니다.
    이 핸들 값을 사용하여 MATLAB의 프로그램을 만드는 경우가 많다고 생각합니다.

    다음의 모델을 예로, 이러한 3개의 핸들 취득을 예시합니다.
    이번에 소개하는 핸들을 취득하는 것만으로는, 구체적으로 무엇인가 할 수 있는 것은 아니지만,
    이번 기사의 목적은, 「모델의 구성 요소가 무엇인가, 리스트 방법을 이해하는 것.」에 둡니다.



    1. Block



    Inport, Outport, UnitDelay, Gain, Add, ... 등 옵션의 블록 세트를 포함하면 수백 종류는 있다고 생각합니다. 블록에는 그 종류에 따라 'BlockType'이라는 고유한 속성 값이 있습니다.
    모델의 블록 핸들을 나열하려면 find_system 함수를 사용합니다.

    qiita.matlab
    blockHandle = find_system('myModel', 'FindAll', 'on', 'type', 'block')
    blockHandle =
    
       1.0e+03 *
    
        4.0510
        4.0550
        4.0590
    

    2. Port



    Simulink 블록에는 입력, 출력 포트가 있습니다.
    블록 타입에 따라서는 인에이블, 리셋, 트리거, If 액션 등의 특수한 포트를 가지는 것도 있습니다.

    모델의 포트 핸들을 나열하려면 find_system 함수를 사용합니다.
    Inport 블록의 출력 포트 1개
    Gain 블록의 입력 포트 1개
    Gain 블록의 출력 포트 1개
    Outport 블록의 입력 포트 1개
    총 4개의 포트가 모델에 존재합니다.

    qiita.matlab
    portHandle = find_system(gcs,'FindAll','on','type','port')
    portHandle =
    
       1.0e+03 *
    
        4.0520
        4.0560
        4.0570
        4.0600
    

    3. Line



    Simulink 블록끼리를 접속하는 신호선입니다.
    신호선은 스칼라, 벡터, 버스 등의 종류가 있으며, 버스 신호는 신호선의 중첩 구조(계층화)가 가능합니다.
    또, 모델상에서 신호선이 분기했을 경우, 신호선 오브젝트에 부모-자식 관계가 만들어집니다.
    신호선의 계층은 조금만 어려운 이야기가 되기 때문에, 좀 더 먼저 이야기를 합니다.
    (이번 기사의 목적은, 「모델의 구성 요소를 이해한다」에 둡니다.라고 하는 것으로 용서해 주세요)

    qiita.matlab
    lineHandle = find_system(gcs,'FindAll','on','type','line')
    lineHandle =
    
       1.0e+03 *
    
        4.0620
        4.0610
    

    요약


  • 모델을 구성하는 주요 3개 객체는 Block, Port, Line입니다.
  • 3 객체의 핸들 값은 모두 find_system 함수로 얻을 수 있습니다.
  • 좋은 웹페이지 즐겨찾기