Main Content

프로그래밍 방식으로 Simulink Bus 객체 만들기

배열, 블록, 셀형 배열, 구조체 또는 C 코드에서 Simulink.Bus 객체와 그 Simulink.BusElement 객체를 프로그래밍 방식으로 만들 수 있습니다.

bus 객체를 프로그래밍 방식으로 만드는 경우 MATLAB® 작업 공간이나 데이터 사전에 이 객체를 저장하거나 그 정의를 함수에 저장할 수 있습니다. 기본 작업 공간의 bus 객체에 대해서는 Simulink.Bus.save 함수를 사용하여 함수에 그 정의를 프로그래밍 방식으로 저장할 수 있습니다.

bus 객체를 사용하는 블록을 시뮬레이션하려면 해당 bus 객체가 기본 작업 공간 또는 데이터 사전에 있어야 합니다.

Bus Element 객체로부터 Bus 객체 만들기

Simulink.BusElement 객체로 구성된 배열을 사용하여 Simulink.Bus 객체의 계층 구조를 만듭니다.

기본 작업 공간에 이름이 각각 ChirpSine인 2개의 BusElement 객체를 포함하는 배열을 만듭니다.

elems(1) = Simulink.BusElement;
elems(1).Name = 'Chirp';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Sine';

배열 인덱싱을 사용하면 배열의 요소를 만들고 액세스할 수 있습니다. 점 표기법을 사용하면 요소의 속성값에 액세스할 수 있습니다.

elems 배열에 정의된 요소를 포함하는, Sinusoidal이라는 이름의 Bus 객체를 만듭니다.

Sinusoidal = Simulink.Bus;
Sinusoidal.Elements = elems;

Bus 객체의 계층 구조를 만들기 위해 Sinusoidal이라는 이름의 Bus 객체를 참조하는 Bus 객체를 하나 더 만듭니다.

이름이 각각 NestedBusStep인 2개의 BusElement 객체를 포함하는 배열을 만듭니다. Sinusoidal이라는 이름의 Bus 객체를 NestedBus 요소의 데이터형으로 지정합니다.

clear elems

elems(1) = Simulink.BusElement;
elems(1).Name = 'NestedBus';
elems(1).DataType = 'Bus: Sinusoidal';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Step';

elems 배열에 정의된 요소를 포함하는, TopBus라는 이름의 Bus 객체를 만듭니다.

TopBus = Simulink.Bus;
TopBus.Elements = elems;

유형 편집기에서 생성된 객체의 계층 구조를 볼 수 있습니다.

typeeditor

블록으로부터 Bus 객체 만들기

모델의 블록을 기반으로 하여 프로그래밍 방식으로 Simulink.Bus 객체를 만들려면 Simulink.Bus.createObject 함수를 사용하십시오.

버스 계층 구조에서 최상위 수준에 있는 Bus Creator 블록을 지정하면 이 함수가 중첩된 버스를 포함하여 계층 구조에 포함된 모든 버스에 대해 bus 객체를 만듭니다.

MATLAB 데이터로부터 Bus 객체 만들기

셀형 배열로부터 Simulink.Bus 객체를 만들려면 Simulink.Bus.cellToObject 함수를 사용하십시오. 각각의 종속 셀형 배열은 다른 bus 객체를 나타냅니다.

MATLAB 구조체로부터 bus 객체를 만들려면 Simulink.Bus.createObject 함수를 사용하십시오. 이 구조체는 MATLAB timeseries, MATLAB timetablematlab.io.datastore.SimulationDatastore 객체를 포함하거나 숫자형 구조체일 수 있습니다.

외부 C 코드로부터 Bus 객체 만들기

기존 C 코드가 정의하는 구조체형(struct)에 대응하는 Simulink.Bus 객체를 만들 수 있습니다. 그러면 시뮬레이션을 위해 기존의 알고리즘 C 코드의 통합을 준비할 때(예: 레거시 코드 툴 사용) bus 객체를 사용하여 구조체형에 따라 패키지 신호 또는 파라미터 데이터를 사용할 수 있습니다. 객체를 만들려면 Simulink.importExternalCTypes 함수를 사용하십시오.

참고 항목

함수

클래스

관련 항목