Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Simulink.Bus.createObject

블록 또는 MATLAB 구조체로부터 Simulink.Bus 객체 생성

설명

예제

busInfo = Simulink.Bus.createObject(model,blocks)는 지정된 블록에 대해 Simulink.Bus 객체를 만들고 생성된 Bus 객체에 대한 정보를 반환합니다. 이러한 Bus 객체는 기본 작업 공간에 생성되거나 모델이 사용하는 데이터 사전이 있는 경우 데이터 사전에 생성됩니다.

busInfo = Simulink.Bus.createObject(struct)는 MATLAB® timeseries, MATLAB timetablematlab.io.datastore.SimulationDatastore 객체를 포함하는 구조체나 숫자형 구조체로부터 Bus 객체를 만듭니다. 이러한 Bus 객체는 기본 작업 공간에 생성되거나 모델이 사용하는 데이터 사전이 있는 경우 데이터 사전에 생성됩니다.

예제

busInfo = Simulink.Bus.createObject(___,file)은 셀형 배열로 구성된 셀형 배열에 객체 속성을 정의하는 함수에 Bus 객체를 저장한 다음 Simulink.Bus.cellToObject를 호출하여 Bus 객체를 만듭니다.

예제

busInfo = Simulink.Bus.createObject(___,file,format)Bus 객체를 지정된 형식으로 함수에 저장합니다. 함수는 셀형 배열 또는 배열을 사용하여 객체 속성을 정의할 수 있습니다.

busInfo = Simulink.Bus.createObject(struct,file,format,scope)scope로 지정된 데이터 사전에 Bus 객체를 만듭니다.

예제

모두 축소

예제 모델을 엽니다.

open_system('BusObjectCreationModel')

Bus Creator 블록으로 만든 버스에 대응되는 Bus 객체를 만듭니다.

busInfo = Simulink.Bus.createObject('BusObjectCreationModel',...
    'BusObjectCreationModel/Bus Creator');

두 개의 Bus Creator 블록으로부터 Bus 객체를 만들고 함수에 Bus 객체 정의를 저장합니다.

예제 모델을 엽니다.

open_system('BusObjectCreationModel');

getSimulinkBlockHandle 함수를 사용하여 Bus Creator 블록의 블록 핸들을 변수에 할당합니다.

bc = getSimulinkBlockHandle('BusObjectCreationModel/Bus Creator');

또는 모델에서 Bus Creator 블록을 선택한 다음 gcbh 함수를 사용하여 이 블록 핸들을 가져올 수도 있습니다.

Bus Creator1 블록의 블록 핸들을 변수에 할당합니다.

bc1 = getSimulinkBlockHandle('BusObjectCreationModel/Bus Creator1');

Bus 객체를 만들려면 벡터에 블록 핸들 변수를 지정하십시오. Bus 객체 정의를 저장하려면 파일 이름도 지정하십시오.

busInfo = Simulink.Bus.createObject('BusObjectCreationModel',...
    [bc bc1], 'BusObjectFunction');

이러한 Bus Creator 블록은 버스 계층 구조를 만들기 때문에, Bus Creator1 블록만 지정하면 작업 공간과 함수에 두 개의 Bus 객체가 생성됩니다.

BusObjectFunction을 다음 명령으로 만든 함수와 비교합니다.

topBusInfo = Simulink.Bus.createObject('BusObjectCreationModel',...
    bc1, 'BusObjectFunctionFromHierarchy');

보다 가독성 높은 형식으로 된 함수를 사용하려면 함수 형식을 object로 지정하십시오.

topBusInfo1 = Simulink.Bus.createObject('BusObjectCreationModel',...
    bc1, 'BusObjectFunctionFormatted','object');

입력 인수

모두 축소

모델 이름 또는 핸들로, 문자형 벡터로 지정됩니다.

버스와 연결된 블록으로, 문자형 벡터, 블록 경로 이름으로 구성된 셀형 배열 또는 블록 핸들로 구성된 벡터로 지정됩니다. 블록이 하나인 경우 블록의 전체 경로 이름을 지정하십시오. 블록이 여러 개인 경우 블록 경로 이름으로 구성된 셀형 배열을 지정하거나 블록 핸들로 구성된 벡터를 지정하십시오.

이 함수는 다음과 같은 블록으로부터 Bus 객체를 만들 수 있습니다.

  • Bus Creator 블록

  • 서브시스템 Inport 블록

  • 서브시스템 Outport 블록

버스 계층 구조와 연결된 블록을 지정하는 경우 함수는 계층 구조에 있는 모든 중첩된 버스에 대해서도 Bus 객체를 만듭니다.

객체로 구성된 구조체 또는 숫자형 구조체로, MATLAB timeseries, MATLAB timetablematlab.io.datastore.SimulationDatastore 객체를 포함하는 구조체 또는 숫자형 구조체로 지정됩니다.

생성할 함수의 이름으로, 문자형 벡터로 지정됩니다. 파일 이름은 고유해야 합니다.

생성할 함수의 형식으로, 'cell' 또는 'object'로 지정됩니다. 'cell' 형식은 보다 간결한 반면 'object' 형식은 가독성이 더 높습니다.

'cell' 형식은 Bus 객체 정의를 셀형 배열로 구성된 셀형 배열에 저장하고 Simulink.Bus.cellToObject를 호출하여 Bus 객체를 만듭니다. 각각의 종속 셀형 배열은 Bus 객체를 나타내며 다음과 같은 속성을 포함합니다.

  1. 버스 이름

  2. 헤더 파일

  3. 설명

  4. 데이터 범위

  5. 정렬

  6. 요소 차원 유지

  7. 요소

요소 필드는 Bus 객체가 참조하는 각 Simulink.BusElement 객체에 대한 다음 정보를 포함하는 셀형 배열입니다.

  1. 요소 이름

  2. 차원

  3. 데이터형

  4. 샘플 시간 — 샘플 시간이 상속되지 않은 경우 셀형 배열이 이 필드를 포함합니다. 상속되지 않은 샘플 시간은 모델 컴파일 중에 오류를 일으킵니다. 자세한 내용은 Simulink.BusElement 객체는 더 이상 SampleTime 속성을 지원하지 않음 항목을 참조하십시오.

  5. 실수/복소수 여부

  6. 차원 모드

  7. 최솟값

  8. 최댓값

  9. 단위

  10. 설명

'object' 형식은 Bus 객체 정의를 배열로 저장합니다. 함수는 배열 인덱싱을 사용하여 배열의 요소에 액세스하고 점 표기법을 사용하여 속성값을 할당합니다. 자세한 내용은 배열 인덱싱 항목과 항목을 참조하십시오.

데이터 사전으로, Simulink.data.Dictionary 객체로 지정됩니다. 이 인수를 사용하기 전에, 예컨대 Simulink.data.dictionary.create 함수 또는 Simulink.data.dictionary.open 함수를 사용하여 Simulink.data.Dictionary 객체로 사전을 표현하십시오.

scope가 비어 있으면 함수는 MATLAB 기본 작업 공간을 Bus 객체의 소스로 사용합니다.

출력 인수

모두 축소

지정된 블록에 대한 버스 정보로, 구조체형 배열로 반환됩니다. 구조체형 배열의 각 요소는 하나의 블록에 대응되며 다음과 같은 필드를 포함합니다.

  • block — 블록의 핸들

  • busName — 블록과 연결된 Bus 객체의 이름

모델 이름을 지정하는 경우 Simulink.Bus.createObject 명령을 사용하기 전에 모델이 성공적으로 컴파일되어야 합니다.

호환성 관련 고려 사항

모두 확장

R2020b부터 오류 발생

R2006a 이전에 개발됨