Simulink.Bus.createObject
블록 또는 MATLAB 구조체로부터 Simulink.Bus
객체 만들기
구문
설명
은 busInfo
= Simulink.Bus.createObject(___,file
,fileFormat
)fileFormat
이 "object"
인 경우 배열을 사용하여 Simulink.Bus
객체 정의를 저장합니다. "object"
형식을 사용하면 함수를 더 쉽게 읽을 수 있습니다. fileFormat
의 디폴트 값은 "cell"
로서 셀형 배열을 사용하며, 더 간결합니다.
는 busInfo
= Simulink.Bus.createObject(S
,file
,fileFormat
,scope
)scope
로 지정된 데이터 사전에 Simulink.Bus
객체를 만듭니다.
예제
Bus Creator 블록으로부터 Simulink.Bus
객체 만들기
여러 수준의 계층 구조를 갖는 버스를 만드는 Bus Creator 블록으로부터 Simulink.Bus
객체를 만듭니다.
BusHierarchy
라는 예제 모델을 엽니다.
mdl = "BusHierarchy";
open_system(mdl)
이름이 Bus Creator1
인 Bus Creator 블록으로부터 Simulink.Bus
객체를 만듭니다. 이 블록은 소스 블록 및 다른 Bus Creator 블록으로부터 입력을 받습니다.
block = "BusHierarchy/Bus Creator1";
busInfo = Simulink.Bus.createObject(mdl,block);
이 명령은 기본 작업 공간에 이름이 각각 TopBus
및 NestedBus
인 Simulink.Bus
객체를 만듭니다. 각 Bus 객체는 버스 계층 구조에 있는 하나의 버스를 나타냅니다.
Simulink.Bus
객체를 보려면 유형 편집기를 엽니다.
typeeditor
버스 요소 포트에서 Simulink.Bus
객체 만들기
Out Bus Element 블록이 나타내는 버스 요소 포트로부터 Simulink.Bus
객체를 만듭니다.
BusOutput
이라는 예제 모델을 엽니다.
mdl = "BusOutput";
open_system(mdl)
출력 버스는 여러 수준의 계층 구조를 가집니다. 최상위 버스에는 중첩된 버스가 포함되어 있습니다.
이름이 OutBus
인 출력 포트에서 버스 계층 구조를 정의하는 Simulink.Bus
객체를 만듭니다.
port = "BusOutput/OutBus";
busInfo = Simulink.Bus.createObject(mdl,port);
이 객체를 보려면 유형 편집기를 엽니다.
typeeditor
Simulink.Bus
객체를 만들고 함수에 저장하기
Bus Creator 블록으로부터 Simulink.Bus
객체를 만들고 함수에 Simulink.Bus
객체 정의를 저장합니다.
BusHierarchy
라는 예제 모델을 엽니다.
mdl = "BusHierarchy";
open_system(mdl);
이름이 Bus Creator1
인 Bus Creator 블록으로부터 Simulink.Bus
객체를 만듭니다. 이 블록은 소스 블록 및 다른 Bus Creator 블록으로부터 입력을 받습니다. Simulink.Bus
객체 정의를 함수에 저장하려면 파일 이름도 지정하십시오.
block = "BusHierarchy/Bus Creator1"; file = "BusObjectFunction"; busInfo = Simulink.Bus.createObject(mdl,block,file);
이 명령은 기본 작업 공간에 이름이 각각 TopBus
및 NestedBus
인 Simulink.Bus
객체를 만들고 현재 폴더에 이름이 BusObjectFunction
인 파일을 만듭니다.
파일을 열어 파일 내용을 살펴봅니다. 기본적으로 이 파일은 "cell"
형식을 사용합니다. 예를 들어, Chirp
요소는 셀형 배열로 정의됩니다.
{'Chirp', 1, 'double', 'real', 'Sample', 'Fixed', [], [], '', ''};
보다 가독성 높은 형식으로 된 파일을 사용하려면 파일 형식을 "object"
로 지정하십시오.
file1 = "BusObjectFunctionFormatted"; busInfo1 = Simulink.Bus.createObject(mdl,block,file1,"object");
파일을 열어 파일 내용을 살펴봅니다. "object"
형식에서 Chirp
요소는 점 표기법을 사용하여 속성값을 할당하는 배열로 정의됩니다.
elems(1) = Simulink.BusElement; elems(1).Name = 'Chirp'; elems(1).Dimensions = 1; elems(1).DimensionsMode = 'Fixed'; elems(1).DataType = 'double'; elems(1).Complexity = 'real'; elems(1).Min = []; elems(1).Max = []; elems(1).DocUnits = ''; elems(1).Description = '';
MATLAB 구조체로부터 Simulink.Bus
객체 만들기
Constant 블록을 사용하여 비가상 버스를 만들 때 상수 값을 위한 MATLAB 구조체를 지정하고 Simulink.Bus
객체를 출력 데이터형으로 지정해야 합니다.
이 예제에서는 다른 구조체를 포함하는 구조체를 만듭니다.
bus_struct.A.A1 = 0; bus_struct.A.A2 = [0 + 0i;0 + 0i;0 + 0i;0 + 0i;0 + 0i]; bus_struct.B = 5; bus_struct.C.C1 = 0; bus_struct.C.C2.A1 = 0; bus_struct.C.C2.A2 = [0 + 0i;0 + 0i;0 + 0i;0 + 0i;0 + 0i];
이 구조체에 대응하는 Simulink.Bus
객체를 만듭니다.
busInfo = Simulink.Bus.createObject(bus_struct);
이 함수는 네 개의 Simulink.Bus
객체를 만듭니다. slBus1
이라는 객체는 최상위 구조체에 대응하고 디폴트 이름을 사용합니다. A
, C
, C2
라는 이름의 객체는 중첩된 구조체에 대응됩니다.
이 객체를 보려면 유형 편집기를 엽니다.
typeeditor
입력 인수
mdl
— 모델 이름 또는 핸들
문자형 벡터 | string형 스칼라
모델 이름 또는 핸들로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.
사용자가 지정한 모델이 성공적으로 컴파일되어야 합니다.
busSource
— 버스 정의의 소스
문자형 벡터 | string형 스칼라 | 블록 경로로 구성된 셀형 배열 | 블록 핸들로 구성된 벡터
버스 정의의 소스로, 문자형 벡터, string형 스칼라, 블록 경로로 구성된 셀형 배열 또는 블록 핸들로 구성된 벡터로 지정됩니다.
이 함수는 다음 소스의 버스로부터 Simulink.Bus
객체를 만들 수 있습니다.
Bus Creator 블록
In Bus Element 블록이 나타내는 입력 포트
Out Bus Element 블록이 나타내는 출력 포트
서브시스템 Inport 블록
서브시스템 Outport 블록
버스에 계층 구조가 있는 경우 이 함수는 또한 버스 계층 구조의 중첩된 버스에 대한 Simulink.Bus
객체를 만듭니다.
Bus Creator, Inport 또는 Outport 블록에서 버스를 지정하려면 대응되는 블록 경로나 핸들을 사용하십시오.
예: Simulink.Bus.createObject(mdl,"BusHierarchy/Bus Creator")
는 블록 경로를 통해 하나의 버스 소스를 지정합니다.
예: Simulink.Bus.createObject(mdl,{'BusHierarchy/Bus Creator','BusHierarchy/Bus Creator1'})
은 블록 경로로 구성된 셀형 배열을 통해 여러 버스 소스를 지정합니다.
예: Simulink.Bus.createObject(mdl,[bc bc1])
은 블록 핸들로 구성된 벡터를 통해 여러 버스 소스를 지정합니다.
In Bus Element 또는 Out Bus Element 블록이 나타내는 포트에서 버스를 지정하려면 해당 포트 또는 요소에 대한 경로를 사용하십시오. 포트의 경우 경로는 모델 이름과 포트 이름으로 구성됩니다. 포트 요소의 경우 경로는 모델 이름, 포트 이름 및 하나 이상의 요소 이름으로 구성됩니다.
예: Simulink.Bus.createObject(mdl,"BusOutput/OutBus")
는 루트 수준 버스 요소 포트의 최상위 버스를 지정합니다.
예: Simulink.Bus.createObject(mdl,"BusOutput/OutBus.NestedBus")
는 루트 수준 버스 요소 포트의 중첩된 버스를 지정합니다.
S
— 객체로 구성된 구조체 또는 숫자형 구조체
MATLAB timeseries
, MATLAB timetable
및 matlab.io.datastore.SimulationDatastore
객체를 포함하는 구조체 | 숫자형 구조체
객체로 구성된 구조체 또는 숫자형 구조체로, MATLAB timeseries
, MATLAB timetable
및 matlab.io.datastore.SimulationDatastore
객체를 포함하는 구조체 또는 숫자형 구조체로 지정됩니다.
계층 구조를 사용하여 구조체를 지정하는 경우 이 함수는 계층 구조에 있는 각각의 구조체에 대해 Simulink.Bus
객체를 만듭니다.
file
— 생성할 함수의 이름
문자형 벡터 | string형 스칼라
생성할 함수의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 파일 이름은 고유해야 합니다.
fileFormat
— 생성할 함수의 형식
"cell"
(디폴트 값) | "object"
생성할 함수의 형식으로, "cell"
또는 "object"
로 지정됩니다. "cell"
형식은 보다 간결한 반면, "object"
형식은 가독성이 더 높습니다.
"cell"
형식은 Simulink.Bus
객체를 셀형 배열로 구성된 셀형 배열로 정의하고 Simulink.Bus.cellToObject
를 호출하여 객체를 만듭니다. 각각의 종속 셀형 배열은 Simulink.Bus
객체를 나타내며 다음과 같은 속성을 포함합니다.
버스 이름
헤더 파일
설명
데이터 범위
정렬
요소 차원 유지
요소
요소 필드는 Simulink.Bus
객체가 참조하는 각 Simulink.BusElement
객체에 대한 다음 정보를 포함하는 셀형 배열입니다.
요소 이름
차원
데이터형 — 이 필드가
Simulink.Bus
객체를 지정하는 경우 사양에는Bus:
접두사가 포함되지 않습니다.Simulink.BusElement
객체의 데이터형을Simulink.Bus
객체로 설정하는 경우 이 접두사는 선택 사항입니다.샘플 시간 — 샘플 시간이 상속되지 않은 경우 셀형 배열이 이 필드를 포함합니다. 상속되지 않은 샘플 시간은 모델 컴파일 중에 오류를 일으킵니다. 자세한 내용은 Simulink.BusElement 객체는 더 이상 SampleTime 속성을 지원하지 않음 항목을 참조하십시오.
실수/복소수 여부
샘플링 모드
차원 모드
최솟값
최댓값
단위
설명
"object"
형식은 Simulink.Bus
객체를 배열로 정의합니다. 함수는 배열 인덱싱을 사용하여 배열의 요소에 액세스하고 점 표기법을 사용하여 속성값을 할당합니다.
scope
— 객체를 포함할 데이터 사전
Simulink.data.Dictionary
객체
데이터 사전으로, Simulink.data.Dictionary
객체로 지정됩니다. 이 인수를 사용하기 전에, 예컨대 Simulink.data.dictionary.create
함수 또는 Simulink.data.dictionary.open
함수를 사용하여 Simulink.data.Dictionary
객체로 사전을 표현하십시오.
scope
가 비어 있으면 함수는 MATLAB 기본 작업 공간을 Simulink.Bus
객체의 소스로 사용합니다.
출력 인수
busInfo
— Bus 객체 정보
구조체형 배열
Bus 객체 정보로, 구조체형 배열로 반환됩니다.
블록을 버스 소스로 지정할 때 busInfo
구조체형 배열의 각 요소는 하나의 블록에 대응하고 다음 필드를 포함합니다.
block
— 블록의 핸들busName
— 블록과 연결된Simulink.Bus
객체의 이름
버스 요소 포트에서 구조체나 버스를 지정할 때 busInfo
구조체는 다음 필드를 포함합니다.
block
— 빈 행렬([]
)busName
— 구조체 또는 버스에 대응하는Simulink.Bus
객체의 이름
버전 내역
R2006a 이전에 개발됨R2024a: 버스 요소 포트로부터 객체를 생성함
버스 요소 포트의 버스로부터 Simulink.Bus
객체를 만들 수 있습니다. 자세한 내용은 busSource
항목을 참조하십시오.
R2020b: Simulink.BusElement
객체는 더 이상 SampleTime
속성을 지원하지 않음
Simulink.BusElement
객체의 SampleTime
속성은 더 이상 지원되지 않습니다.
샘플 시간을 지정하는 BusElement
객체는 컴파일 중에 오류를 일으킵니다. BusElement
객체에서 샘플 시간 지정을 제거하려면 SampleTime
을 -1
로 설정하십시오.
Simulink.Bus.cellToObject
는 여전히 버스 요소의 샘플 시간을 지정하는 셀형 배열을 받습니다. Simulink.Bus.objectToCell
, Simulink.Bus.save
, Simulink.Bus.createObject
는 샘플 시간이 상속되지 않은 경우 여전히 샘플 시간을 포함하는 셀형 배열 또는 배열을 반환합니다. 샘플 시간이 상속된 경우에는(-1
) 샘플 시간을 생략합니다. 마찬가지로, 유형 편집기와 모델 탐색기는 샘플 시간이 상속된 경우 샘플 시간을 생략합니다.
버스의 요소에 대해 샘플 시간을 지정하려면 대응되는 블록의 SampleTime
블록 파라미터를 사용하십시오. 예를 들어, In Bus Element, Out Bus Element, Signal Specification 블록을 사용하여 샘플 시간을 지정할 수 있습니다.
R2016b: Simulink.BusElement
객체는 더 이상 SamplingMode
속성을 지원하지 않음
Simulink.BusElement
객체의 SamplingMode
속성은 제거되었습니다. Simulink.BusElement
객체의 SamplingMode
속성을 사용하는 스크립트는 여전히 작동합니다. Simulink.Bus.cellToObject
함수에는 여전히 SamplingMode
필드가 필요합니다. Simulink.Bus.objectToCell
함수는 여전히 출력 셀형 배열에 샘플링 모드를 포함합니다. Simulink.Bus
객체 정의를 셀형 배열을 사용하는 함수에 저장하면 셀형 배열은 여전히 샘플링 모드를 포함합니다.
SamplingMode
속성은 향후 릴리스에서 더 이상 지원되지 않을 예정입니다.
신호가 샘플 기반인지 아니면 프레임 기반인지 지정하려면 신호 수준이 아닌 블록 수준에서 입력 신호의 샘플링 모드를 정의하십시오.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)