add_block
모델에 블록 추가
설명
예제
다음 입력 인수와 함께 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 라이브러리에 있는 Scope 블록을 vdp
모델에 추가합니다. MakeNameUnique
를 "on"
으로 설정합니다.
add_block("simulink/Sinks/Scope","vdp/Scope",MakeNameUnique="on")
라이브러리에서 모델로 블록을 추가하고 이름-값 인수를 사용하여 파라미터를 설정합니다.
대상 모델을 불러오거나 엽니다.
open_system("vdp");
라이브러리에서 vdp
모델로 Gain 블록을 추가합니다. 그런 다음 Gain 값을 5
로 설정합니다.
add_block("simulink/Math Operations/Gain","vdp/Five",Gain="5")
포트에 대한 블록을 추가하는 방법은 목적에 따라 다릅니다. 새 포트 또는 기존 포트에 대한 블록을 추가할 수 있습니다. 또한 입력 포트에 대응하는 블록을 복제할 수도 있습니다.
새 포트에 대한 블록 추가하기
PortBlockCreation
이라는 이름의 모델을 만들고 엽니다.
mdl = "PortBlockCreation";
new_system(mdl);
open_system(mdl);
포트 번호로 식별되는 포트를 만들기 위해 In1 블록과 Out1 블록을 추가합니다. 기본적으로 In1 블록이나 Out1 블록을 추가하면 포트가 생성됩니다.
add_block("simulink/Ports & Subsystems/In1",... "PortBlockCreation/In1") add_block("simulink/Ports & Subsystems/Out1",... "PortBlockCreation/Out1")
포트 이름으로 식별되는 포트를 만들려면 In Bus Element 블록과 Out Bus Element 블록을 추가합니다. 기본적으로 새 In Bus Element 블록과 새 Out Bus Element 블록은 각각 InBus
와 OutBus
라는 이름의 포트에 대응됩니다. 이러한 포트는 포트 번호도 가지고 있습니다. 선택적으로 PortName
블록 파라미터를 사용하여 포트에 대한 사용자 지정 이름을 지정합니다.
add_block("simulink/Ports & Subsystems/In Bus Element",... "PortBlockCreation/InBusElement") add_block("simulink/Ports & Subsystems/Out Bus Element",... "PortBlockCreation/OutBusElement")
In Bus Element 블록 또는 Out Bus Element 블록을 추가할 때 포트를 만들려면 CreateNewPort
를 "on"
으로 설정합니다.
add_block("simulink/Ports & Subsystems/In Bus Element",... "PortBlockCreation/InBusElement1",CreateNewPort="on") add_block("simulink/Ports & Subsystems/Out Bus Element",... "PortBlockCreation/OutBusElement1",CreateNewPort="on")
CreateNewPort
를 "on"
으로 설정하지 않으면 동작이 달라집니다.
InBus
와OutBus
라는 이름의 포트가 있다고 가정하겠습니다. 추가된 블록은 이들 포트 중 하나에 대응됩니다. 블록을 추가할 때 포트 이름을 지정하면 지정된 포트 이름을 사용하기 위해InBus
포트 또는OutBus
포트의 이름이 변경됩니다.사용자 지정 이름을 가진 포트만 있다고 가정하겠습니다. 추가된 블록은 새 포트에 대응됩니다. 블록을 추가할 때 포트 이름을 지정하면 새 포트에 지정된 포트 이름이 사용됩니다.
새 포트 요소에 대한 블록 추가하기
In Bus Element 블록과 Out Bus Element 블록을 사용하면 하나의 입력 포트에서 여러 요소를 선택하고, 여러 요소를 하나의 출력 포트에 연결할 수 있습니다.
In Bus Element 블록에 요소를 추가하려면 포트에 대응하는 기존 블록을 복사하고 새 요소에 대한 고유한 이름을 지정합니다.
add_block("PortBlockCreation/InBusElement",... "PortBlockCreation/InBusElement2",Element="signal2")
Out Bus Element 블록에 요소를 추가하려면 포트에 대응하는 기존 블록을 복사합니다. 선택적으로 고유한 요소 이름을 지정합니다.
add_block("PortBlockCreation/OutBusElement",... "PortBlockCreation/OutBusElement2")
입력 포트에 대한 블록 복제하기
블록 다이어그램에 있는 여러 블록은 입력 포트의 동일한 입력을 사용할 수 있습니다. 입력 포트에 대응하는 블록을 복제하면 선 라우팅을 단순화할 수 있습니다.
In1 블록을 복제하기 위해 블록 다이어그램에서 블록을 복사하고 CopyOption
을 "duplicate"
로 설정합니다.
add_block("PortBlockCreation/In1",... "PortBlockCreation/In1Dup",CopyOption="duplicate")
In Bus Element 블록을 복제하기 위해 해당 블록을 복사합니다.
add_block("PortBlockCreation/InBusElement",... "PortBlockCreation/InBusElementDup")
복제 블록은 원래 블록과 동일한 포트 번호를 사용합니다. 이름 기반 포트의 경우 블록은 원래 블록과 동일한 포트의 동일한 요소를 선택합니다.
입력 인수
복사할 블록으로, 블록 경로로 지정됩니다. 블록 경로에 대한 자세한 내용은 Get Handles and Paths 항목을 참조하십시오.
모델에서 블록을 복사하려면 블록 경로를 지정합니다. 새 블록은 파라미터 설정이 동일합니다.
예: add_block("vdp/Mu","mymodel/Mu")
라이브러리에서 블록을 복사하려면 라이브러리 블록 경로를 지정합니다. 라이브러리 블록 경로를 가져오려면 라이브러리 브라우저에서 블록 위에 잠시 멈춥니다. 또는 라이브러리를 열고 블록을 선택한 다음 명령줄에 gcb
를 입력합니다. 라이브러리 브라우저에서 라이브러리를 열려면 라이브러리 목록에 있는 라이브러리 이름을 마우스 오른쪽 버튼으로 클릭하고 library_name
라이브러리 열기를 선택합니다.
예: add_block("simulink/Math Operations/Gain","mymodel/Gain")
특정 블록 유형으로 블록을 만들려면 블록 유형을 'built-in/
으로 지정합니다. 여기서 blocktype
'
은 프로그래밍 방식의 블록 이름입니다. 블록에 대한 blocktype
BlockType
파라미터 값을 가져오려면 Common Block Properties 항목을 참조하십시오. 'built-in/
을 사용하여 추가된 블록은 라이브러리 블록과 구성이 다를 수 있습니다.blocktype
'
예: add_block("built-in/Gain","mymodel/Gain")
여러 라이브러리 블록은 SubSystem
을 BlockType
으로 가집니다. 소스 블록을 "built-in/SubSystem"
으로 지정하면 새 블록은 하나의 입력과 하나의 출력을 갖는 서브시스템을 나타냅니다. 다른 서브시스템과 마스크 처리된 블록의 경우 BlockType
값 대신에 라이브러리 블록 경로를 사용하십시오.
새 블록의 이름과 위치로, 블록 경로로 지정됩니다.
예: add_block("simulink/Math Operations/Gain","f14/Controller/MyNewBlock")
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: add_block("simulink/Math Operations/Gain","mymodel/Gain",Gain="5")
는 입력에 5를 곱하는 Gain 블록을 추가합니다.
add_block
함수의 경우 블록 파라미터와 속성값을 이름-값 인수로 지정합니다. 블록 파라미터와 속성에 대한 자세한 내용은 Programmatically Specify Block Parameters and Properties 항목을 참조하십시오.
고유한 블록 이름으로, "off"
또는 "on"
으로 지정됩니다.
추가된 블록에 대한 고유한 블록 이름을 만들려면 MakeNameUnique
를 "on"
으로 설정합니다. 지정된 블록 이름이 있는 경우, 블록 이름의 끝에 숫자가 추가되거나 블록 이름의 끝에 있는 숫자가 증가하게 됩니다.
예: add_block("simulink/Math Operations/Gain","mymodel/Gain",MakeNameUnique="on")
복사 옵션으로, ""
, "nolink"
또는 "duplicate"
로 지정됩니다.
"nolink"
— 새 블록이 소스 블록이 포함된 사용자 지정 라이브러리에 연결되지 않습니다."duplicate"
— 새 블록은 입력 포트 블록을 복제하며 소스 블록과 동일한 포트 번호를 갖습니다. 포트를 생성하거나 선을 추가하지 않고 입력 포트에서 신호를 분기하려면 입력 포트에 대응하는 블록을 복제합니다. 자세한 내용은 Create Duplicate Inport Blocks 항목을 참조하십시오.
예: add_block("myLibrary/CustomBlock","myModel/CustomBlock",CopyOption="nolink")
예: add_block("myModel/mySubsystem/Inport","myModel/mySubsystem/InportDup",CopyOption="duplicate")
새 버스 요소 포트로, "off"
또는 "on"
으로 지정됩니다. 소스 블록은 In Bus Element 블록이거나 Out Bus Element 블록이어야 합니다.
새 포트에 대한 블록을 추가하려면 CreateNewPort
를 "on"
으로 설정합니다. 선택적으로 PortName
파라미터를 사용하여 새 포트의 이름을 지정합니다. 기본적으로 새 포트의 이름은 복사된 블록의 포트 이름과 숫자의 조합입니다. 복사된 블록의 포트 이름이 숫자로 끝나는 경우, 해당 숫자는 고유성을 위해 증분됩니다.
CreateNewPort
를 "off"
로 설정해도 포트 생성이 막히는 것은 아닙니다. 예를 들어, 모델에 첫 번째 In Bus Element 블록 또는 Out Bus Element 블록을 추가하면 포트가 생성됩니다. 블록을 추가하고 PortName
을 사용하여 고유한 포트 이름을 지정해도 포트를 생성할 수 있습니다.
CreateNewPort
를 "off"
로 설정하면 추가된 블록이 기존 포트에 대응되도록 할 수 있습니다. 예를 들어, 모델에서 In Bus Element 블록 또는 Out Bus Element 블록을 복사하는 경우 Element
파라미터로 요소 이름을 지정하여 새 블록이 포트의 새 요소를 나타내도록 할 수 있습니다.
프로그래밍 방식으로 버스 요소 포트를 작성하는 방법에 대한 자세한 내용은 Programmatically Create Bus Element Ports 항목을 참조하십시오.
예: add_block("simulink/Ports & Subsystems/In Bus Element","myModel/InBusElement1",CreateNewPort="on")
출력 인수
새 블록으로, 핸들로 반환됩니다.
블록 핸들에 대한 자세한 내용은 Get Handles and Paths 항목을 참조하십시오.
팁
블록이 겹치지 않게 하려면 Position
블록 속성을 사용하여 새 블록의 위치를 지정합니다. 자세한 내용은 Programmatically Specify Block Parameters and Properties 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)