Main Content

add_block

모델에 블록 추가

설명

예제

h = add_block(source,dest)는 라이브러리 또는 모델에서 블록 source의 복사본을 지정된 대상 모델 및 블록 이름에 추가합니다. 이 구문은 모델 또는 라이브러리 모델에 나타나는 것과 동일한 위치에 블록을 만듭니다.

모델 간에 복사하거나 라이브러리에서 복사하는 경우 먼저 대상 모델을 불러오십시오.

예제

h = add_block(source,dest,'MakeNameUnique','on')은 대상 블록 이름이 모델에서 고유한지 확인합니다. 해당 이름의 블록이 있는 경우, 이 구문은 대상 블록 이름에 증가하는 숫자를 추가하여 고유한 이름을 보장합니다.

h = add_block(___,'CopyOption','nolink')는 라이브러리 블록에 대한 링크를 생성하지 않고 라이브러리에서 블록 또는 서브시스템 source를 복사합니다.

예제

h = add_block(sourceIn,destIn,'CopyOption','duplicate')는 서브시스템의 입력 포트 블록을 복제하여 대상 블록에 소스 블록과 동일한 포트 번호를 지정합니다. 포트를 생성하거나 선을 추가하지 않고, 입력 포트 블록을 복제하여 입력 포트에서 신호를 분기합니다. 자세한 내용은 Create Duplicate Inport Blocks 항목을 참조하십시오.

예제

h = add_block(___,Name,Value)는 선택적 Name,Value 인수를 사용합니다.

쉼표로 구분된 선택적 Name,Value 인수 쌍을 지정하십시오. Name은 인수 이름이고 Value는 해당 값입니다. Name은 따옴표 안에 있어야 합니다. Name1,Value1,...,NameN,ValueN과 같은 순서로 여러 개의 이름과 값 쌍 인수를 지정할 수 있습니다.

add_block 함수를 통해 블록 파라미터와 값 쌍을 사용할 수 있습니다. 블록 파라미터의 전체 목록은 Common Block PropertiesBlock-Specific Parameters 항목을 참조하십시오.

예제

모두 축소

다음 입력 인수와 함께 add_block 함수를 사용하여 라이브러리에서 블록을 추가할 수 있습니다.

  • 라이브러리 브라우저 트리 계층 구조의 최상위 수준에서 추가하려는 라이브러리 블록까지의 라이브러리 블록 경로(예: 'Simulink/Math Operations/Gain')

  • 모델 계층 구조의 최상위 수준에서 새 블록을 추가하려는 위치까지의 전체 블록 경로(예: 'myModel/mySubsystem/myblock')

두 경로 모두 블록 이름으로 끝나야 합니다.

이 예제에서는 f14 모델의 Controller 서브시스템에 사용자 지정 가능한 원형 계기판을 추가합니다.

예제를 엽니다. 그런 다음, 대상 모델을 불러오거나 엽니다.

open_system('f14')

이 작업을 완료하는 데 필요한 블록의 정확한 이름이나 라이브러리 브라우저 트리에서의 블록의 위치를 모른다고 가정하겠습니다. 라이브러리 블록 경로를 가져오려면 라이브러리 브라우저에서 키워드 검색을 수행하십시오. 라이브러리 브라우저를 엽니다. 검색 상자에 gauge를 입력하고 Enter 키를 누릅니다.

검색 결과에서 원형 계기판 아이콘 위에 커서를 올려 놓습니다. 툴팁에 라이브러리 블록 경로가 표시됩니다.

Controller 서브시스템에 Circular Gauge 블록을 추가합니다. 블록의 이름을 myGauge로 지정합니다.

  • 라이브러리 블록 경로는 'simulink_hmi_customizable_blocks/Circular Gauge'입니다.

  • 전체 블록 경로는 'f14/Controller/myGauge'입니다.

add_block('simulink_hmi_customizable_blocks/Circular Gauge','f14/Controller/myGauge');

블록을 보려면 f14 모델에서 Controller 서브시스템으로 이동하십시오.

open_system('f14/Controller')

f14 모델에서 vdp 모델로 블록의 복사본을 추가합니다.

대상 모델을 불러오거나 엽니다.

open_system('vdp');

f14 모델에서 vdp 모델로 Actuator Model 블록을 추가합니다.

add_block('f14/Actuator Model','vdp/Actuator Model');

Simulink® 라이브러리에서 모델 vdp로 Scope 블록을 추가합니다. vdp 모델에 이미 Scope라는 이름의 블록이 있으므로 MakeNameUnique 옵션을 사용하여 새 블록 이름이 고유한지 확인합니다.

대상 모델을 불러오거나 엽니다.

open_system('vdp');

Simulink® Sinks 라이브러리에서 vdp 모델로 Scope 블록을 추가하여 이름이 고유한지 확인합니다.

add_block('simulink/Sinks/Scope','vdp/Scope','MakeNameUnique','on')

f14/Controller 서브시스템에 해당 서브시스템의 다른 Inport 블록과 동일한 포트 번호를 사용하는 Inport 블록을 하나 더 추가합니다.

Stick Input (in)이라는 Inport 블록을 Controller 서브시스템에 복제합니다. 복사본의 이름을 Stick Input (in)2로 지정합니다.

add_block('f14/Controller/Stick Input (in)',...
'f14/Controller/Stick Input (in)2','CopyOption','duplicate')

결과 블록은 Stick Input (in)이라는 블록과 동일한 포트 번호를 사용하지만, 부모 서브시스템에 입력 포트를 추가하지 않습니다. 해당 포트로 들어가는 신호는 두 개의 Inport 블록으로 분기됩니다.

라이브러리에서 모델로 블록을 추가하고 이름-값 인수를 사용하여 파라미터를 설정합니다.

대상 모델을 불러오거나 엽니다.

open_system('vdp');

라이브러리에서 vdp 모델로 Gain 블록을 추가합니다. 그런 다음 Gain 값을 5로 설정합니다.

add_block('simulink/Math Operations/Gain','vdp/Five','Gain','5')

입력 인수

모두 축소

모델에 복사할 블록으로, 다음과 같이 지정됩니다.

  • 모델에서 블록을 복사하는 경우 전체 블록 경로(예: 'vdp/Mu'). 이 방법은 블록과 블록의 설정을 복사합니다.

  • 라이브러리에서 블록을 추가하려는 경우 라이브러리 블록 경로(예: 'simulink/Math Operations/Gain').

    라이브러리 브라우저의 블록 위에 잠시 멈춰 있으면 라이브러리 블록 경로를 가져올 수 있습니다. 또는, 라이브러리 모델을 열고 블록을 선택한 다음 명령줄에 gcb를 입력해도 됩니다. 라이브러리 브라우저에서 라이브러리 모델을 열려면 라이브러리 목록에서 라이브러리 이름을 마우스 오른쪽 버튼으로 클릭하고 library_name 라이브러리 열기를 선택하십시오.

'built-in/blocktype' 구문을 소스 블록 경로로 사용할 수도 있습니다. 여기서 blocktype은 프로그래밍 방식의 블록 이름으로 BlockType 파라미터의 값입니다(Common Block Properties 항목 참조). 그러나, 'built-in/blocktype'을 사용하여 추가된 블록은 라이브러리 블록에서 가져온 다른 디폴트 파라미터 값을 갖는 경우가 있습니다.

서브시스템과 마스크가 지정된 블록의 경우 라이브러리 블록 경로를 사용하십시오. BlockType 값(SubSystem)을 사용하면 빈 서브시스템이 만들어집니다.

예: 'vdp/Mu', 'simulink/Sinks/Scope'

모델에서 새 블록의 이름과 위치로, 블록 경로로 지정됩니다.

예: 'f14/Controller/MyNewBlock'

복제할 입력 포트 블록으로, 블록 경로로 지정됩니다.

예: 'f14/Controller/Stick Input (in)', 'myModel/mySubsystem/In1'

생성할 입력 포트 블록으로, 블록 경로로 지정됩니다. 소스 블록과 동일한 시스템에 대상 블록을 만듭니다.

예: 'myModel/mySubsystem/DupPortIn'

출력 인수

모두 축소

새 블록으로, 핸들로 반환됩니다.

버전 내역

R2006a 이전에 개발됨