Main Content

From Workspace

작업 공간에서 Simulink 모델로 신호 데이터 불러오기

  • From Workspace block

라이브러리:
Simulink / Sources

설명

From Workspace 블록은 작업 공간에서 Simulink® 모델로 데이터를 읽어 들인 후 블록 출력에서 신호 또는 비가상 버스로 데이터를 제공합니다. 기본 작업 공간, 모델 작업 공간 또는 마스크 작업 공간에서 데이터를 불러올 수 있습니다. From Workspace 블록을 사용하면 참조된 모델 또는 서브시스템에서 액세스할 수 있는 작업 공간에서 모델 계층 구조 내 임의의 모델 또는 서브시스템으로 신호 데이터를 불러올 수 있습니다.

출력 샘플 주기, 보간 및 외삽 동작, 영점교차 검출 사용 여부 등 이 블록이 작업 공간 데이터로부터 출력을 생성하는 방법을 지정할 수 있습니다.

From Workspace 블록 아이콘은 데이터 파라미터의 값을 표시합니다. 예를 들어, From Workspace 블록을 사용하여 변수 x의 데이터를 불러오는 경우 데이터 파라미터의 값으로 x를 지정하면 블록이 x를 표시합니다.

불러올 데이터 지정하기

데이터 파라미터를 사용하여 From Workspace 블록이 불러올 데이터를 지정합니다. 데이터 파라미터의 값을 변수 이름 같은 MATLAB® 표현식으로 지정할 수 있습니다. 데이터 파라미터에 지정하는 표현식은 From Workspace 블록이 지원하는 형식의 데이터로 평가되어야 합니다. 표현식이 평가되는 방법에 대한 자세한 내용은 Symbol Resolution 항목을 참조하십시오.

From Workspace 블록은 데이터 사전에서 데이터를 불러오지 않습니다. 시뮬레이션 입력 데이터가 아닌 모델의 설계 데이터만 저장하려면 데이터 사전을 사용하십시오. 데이터 사전에는 샘플 시간 파라미터의 값처럼 From Workspace 블록과 관련된 설계 데이터를 저장할 수 있습니다.

예제

모두 확장

이 예제에서는 MATLAB 작업 공간에서 2차원 구조체를 읽어 들이는 방법을 보여줍니다. 모델을 열면 PreLoadFcn 콜백에 의해 다음 코드가 실행됩니다.

t1 = 0.2 * [0:49]';
m = magic(10);
M = repmat(m,[1 1 length(t1)]);
data.time=t1;
data.signals.values = M;
data.signals.dimensions=[10 10];

이 코드는 magic 함수를 사용하여 10×10 행렬(2차원 신호)을 만든 다음, 시간 벡터를 추가하여 3차원 행렬을 만듭니다. 시간 벡터는 열 벡터여야 합니다. signals.values 필드는 3차원 행렬이며 여기서 세 번째 차원은 시간에 해당합니다. signals.dimensions 필드는 요소를 2개 가진 벡터입니다. 첫 번째 요소는 signals.values 필드의 행 개수이고 두 번째 요소는 열 개수입니다.

모델을 실행하면 From Workspace 블록은 작업 공간에서 구조체 data를 읽어 들입니다.

포트

출력

모두 확장

작업 공간에서 불러온 데이터로, 블록 출력에서 신호 또는 비가상 버스로 제공됩니다. 불러오는 데이터에 따라 출력 신호는 스칼라, 벡터, 다차원 또는 가변 크기 신호, 버스, 또는 버스로 구성된 배열 (R2021a 이후)일 수 있습니다. From Workspace 블록은 int64uint64를 제외하고 모든 내장 데이터형의 실수형 데이터와 복소수 데이터 불러오기를 지원합니다.

데이터형: single | double | half | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus
복소수 지원 여부:

파라미터

모두 확장

작업 공간에서 불러올 데이터로, MATLAB 변수, 또는 From Workspace 블록이 지원하는 형식의 데이터로 평가되는 MATLAB 표현식으로 지정됩니다. 이 표현식은 From Workspace 블록이 출력에서 제공하는 데이터를 생성하거나 불러올 데이터를 포함하는 작업 공간 변수를 참조할 수 있습니다. 표현식이 평가되는 방법에 대한 자세한 내용은 Symbol Resolution 항목을 참조하십시오.

From Workspace 블록은 스칼라, 다차원 및 가변 크기 신호에 대한 실수 또는 복소수 데이터뿐만 아니라 버스 또는 버스로 구성된 배열에 대한 데이터도 불러올 수 있습니다.

From Workspace 블록은 모델에서 블록이 생성하게 될 출력 유형에 따라 다양한 입력 데이터 형식을 지원합니다. 모든 유형의 출력 및 데이터 형식에 대해 다음 사항이 적용됩니다.

  • 입력 데이터의 시간 값은 double 데이터형을 가지고 단조 증가해야 합니다.

  • 시간 및 데이터 값에 Inf 또는 NaN 값이 포함되면 안 됩니다.

출력 유형데이터 형식

스칼라 또는 벡터 신호

  • 단일 열을 포함하는 timetable (R2020a 이후)

  • timeseries 객체

  • Simulink.SimulationData.Signal 객체

  • 구조체 또는 시간값을 갖는 구조체 기록 형식과 일치하는 필드와 계층 구조를 가진 구조체.

  • 첫 번째 열이 시간이고 하나 이상의 추가 열에 각 타임스탬프의 신호 값이 포함된 2차원 배열

  • 스칼라 및 벡터 신호의 경우, 신호 데이터의 행 개수가 시간 벡터의 행 개수와 일치해야 합니다.

  • timetable을 생성하려면 시간 값이 duration형 벡터여야 합니다.

    시뮬레이션 시간은 항상 초 단위를 사용합니다. 초 이외의 단위를 사용하는 duration형 벡터를 만들면 시뮬레이션에 사용할 수 있도록 값이 초로 변환됩니다.

  • 배열 형식은 복소수이거나 double 이외의 데이터형을 갖는 신호 값을 지원하지 않습니다.

다차원 신호

  • timeseries 객체

  • 단일 열을 포함하는 timetable (R2020a 이후)

  • Simulink.SimulationData.Signal 객체

  • 구조체 또는 시간값을 갖는 구조체 기록 형식과 일치하는 필드와 계층 구조를 가진 구조체

  • 2차원 이상의 값을 가진 다차원 신호에서 마지막 차원의 길이는 시간 벡터의 길이와 일치해야 합니다.

    예를 들어, 2×2 행렬 신호 샘플 10개의 입력 데이터에는 10개 행을 포함하는 시간 벡터와 2×2×10 차원을 갖는 신호 값으로 구성된 배열이 있습니다.

  • timetable을 생성하려면 시간 값이 duration형 벡터여야 합니다.

    시뮬레이션 시간은 항상 초 단위를 사용합니다. 초 이외의 단위를 사용하는 duration형 벡터를 만들면 시뮬레이션에 사용할 수 있도록 값이 초로 변환됩니다.

가변 크기 신호

구조체 또는 시간값을 갖는 구조체 기록 형식과 일치하는 필드와 계층 구조를 가진 구조체

From Workspace 블록을 사용하여 불러올 수 있는 형식으로 가변 크기 신호를 기록하려면 신호를 최상위 Outport 블록에 연결하고 모델에 대한 형식 구성 파라미터를 구조체 또는 시간값을 갖는 구조체로 설정하십시오.

버스

timetable (R2020a 이후) 또는 timeseries 객체의 구조체:

  • 버스를 정의하는 Simulink.Bus 객체로 출력 데이터형 파라미터를 지정합니다.

  • 구조체의 계층 구조와 필드 이름은 버스의 계층 구조 및 요소 이름과 일치해야 합니다.

  • timetable 또는 timeseries 객체는 버스의 리프 신호에 대한 데이터를 포함합니다.

  • timetable에는 열이 하나만 있어야 합니다.

버스에 대한 입력 데이터를 부분적으로 지정하려면 입력 데이터 구조체에서 데이터를 불러올 필요가 없는 버스 요소를 []로 설정하십시오.

버스로 구성된 배열 (R2021a 이후)

구조체로 구성된 배열로서, 각각의 구조체는 이 버스 배열에 속한 하나의 버스에 대한 데이터를 나타냄
  • 고속 액셀러레이터 시뮬레이션에서는 버스로 구성된 배열에 대한 데이터 불러오기가 지원되지 않습니다.

  • 최상위 모델의 From Workspace 블록은 표준 모드 및 액셀러레이터 모드 시뮬레이션에서 버스로 구성된 배열에 대한 데이터 불러오기를 지원합니다.

  • 참조된 모델의 From Workspace 블록은 참조된 모델이 표준 모드에서 실행될 때만 버스로 구성된 배열에 대한 데이터 불러오기를 지원합니다.

  • 버스로 구성된 배열에 대한 입력 데이터를 부분적으로 지정하려면 해당 버스에 대한 데이터를 나타내는 구조체에서 데이터를 불러올 필요가 없는 버스 요소를 []로 설정하십시오.

자세한 내용은 Load Data Using the From Workspace Block 항목을 참조하십시오.

  • To File 블록을 사용하여 배열 형식으로 기록된 데이터를 불러오려면 시간 값이 단일 행이 아니라 단일 열에 있도록 배열을 전치하십시오. transpose 함수를 사용하여 전치된 데이터를 새 파일에 저장할 수 있습니다.

  • sim, parsim 또는 batchsim 함수를 사용하여 실행하는 프로그래밍 방식 시뮬레이션의 경우 Simulink.SimulationInput 객체를 사용하여 From Workspace 블록이 불러올 데이터를 지정할 수 있습니다.

    • setBlockParameter 함수를 사용하여 블록에 대한 시뮬레이션에 사용할 VariableName 파라미터의 값을 설정합니다.

    • setVariable 함수를 사용하여 입력 데이터가 포함된 변수를 SimulationInput 객체에 추가합니다.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: VariableName
값: 'simin' (디폴트 값) | MATLAB expression | timeseries object | timetable | structure | 2-D array
데이터형: char | string

예: set_param("myModel/From Workspace","VariableName","inData") configures the From Workspace block named From Workspace in the model myModel to load data stored in the MATLAB variable named inData.

From Workspace 블록이 불러오는 작업 공간 데이터의 데이터형. 기본적으로 From Workspace 블록은 작업 공간 데이터에서 또는 신호의 데이터형을 정의하는 다운스트림 블록에서 출력 신호 데이터형을 상속합니다.

  • 스칼라, 벡터 또는 다차원 신호의 데이터를 불러올 때, 출력 데이터형을 상속하도록 선택하거나 작업 공간 데이터의 데이터형과 일치하도록 출력 데이터형을 지정할 수 있습니다.

  • 버스 또는 버스로 구성된 배열의 데이터를 불러오려면 출력 데이터형Bus: <bus_object>로 설정하고 출력 버스를 정의하는 Simulink.Bus 객체의 이름을 지정하십시오.

    열거형 데이터를 불러올 때는 출력 데이터형Enum: <class_name>으로 설정하고 열거형 데이터 값을 정의하는 열거형 클래스의 이름을 지정합니다.

  • 데이터형 도우미를 사용하면 데이터 특성을 쉽게 설정할 수 있습니다. 데이터형 도우미를 사용하려면 the Show data type assistant button을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: OutDataTypeStr
값: 'Inherit: auto' (디폴트 값) | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | 'Bus: <object name>' | data type expression
데이터형: char | string

예: set_param("myModel/From Workspace","OutDataTypeStr","int32") specifies that data type must be int32 for the data the From Workspace block named From Workspace loads into the model myModel.

샘플 시간 파라미터는 블록이 시뮬레이션 중에 새 출력값을 계산하는 시점을 지정합니다. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.

출력이 시간 오프셋을 갖도록 하지 않으려면 샘플 시간 파라미터를 스칼라로 지정하십시오. 출력에 시간 오프셋을 추가하려면 샘플 시간 파라미터를 1×2 벡터로 지정하십시오. 여기서 첫 번째 요소는 샘플링 주기이고 두 번째 요소는 오프셋입니다.

기본적으로 샘플 시간 파라미터 값은 0이며, 이는 시간 오프셋이 없는 연속 샘플 시간을 나타냅니다. 이산 신호에 대해서는 샘플 시간을 이산 샘플링 간격으로 지정합니다. 예를 들어, 샘플 시간0.1로 지정하여 100밀리초 간격으로 샘플링되는 이산 신호를 모델링할 수 있습니다. 값을 상속하려면 샘플 시간-1로 지정하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: SampleTime
값: '0' (디폴트 값) | scalar | vector
데이터형: char | string

예: set_param("myModel/From Workspace","SampleTime","0.1") configures the From Workspace block named From Workspace in the model myModel to execute with a sample time of 0.1 seconds.

불러온 작업 공간 데이터의 시간 값 사이에 있는 시뮬레이션 시간에 대한 출력값을 제공하는 데 사용되는 보간 방법. 데이터 보간을 선택하면 From Workspace 블록이 불러온 작업 공간 데이터에서 인접한 값을 사용하여 출력값을 선형으로 보간합니다. 데이터 보간을 선택하지 않으면 From Workspace 블록이 불러온 작업 공간 데이터에서 이전 데이터 점의 값을 제공합니다. 보간 알고리즘에 대한 자세한 내용은 보간 항목을 참조하십시오.

열거형, 고정소수점 또는 가변 크기 신호 데이터를 불러오는 경우에는 데이터 보간 파라미터를 선택 해제하십시오.

불러온 작업 공간 데이터에서 마지막 값 다음의 출력값을 제공하기 위해 From Workspace 블록은 데이터 보간 파라미터와 최종 데이터 값 다음의 출력 생성 방법 파라미터를 조합하여 사용합니다.

데이터 보간 파라미터 값은 From Workspace 블록이 불러온 작업 공간 데이터에서 첫 번째 데이터 점 이전의 시뮬레이션 시간에 대한 출력값을 외삽하는 방법에도 영향을 줍니다. 데이터 보간을 선택하면 From Workspace 블록이 작업 공간 데이터에서 처음 두 개의 데이터 점을 사용하여 첫 번째 데이터 점 이전의 시뮬레이션 시간에 대한 출력값을 선형으로 외삽합니다. 데이터 보간을 선택하지 않으면 이 블록은 첫 번째 작업 공간 데이터 점 이전의 시뮬레이션 시간에 대한 출력값으로 접지를 제공합니다. From Workspace 블록 외삽 동작에 대한 자세한 내용은 외삽 항목을 참조하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: Interpolate
값: 'on' (디폴트 값) | 'off'
데이터형: char | string

예: set_param("myModel/From Workspace","Interpolate","off") configures the From Workspace block named From Workspace to use zero-order hold interpolation for loading data into the model myModel.

영점교차 검출은 블록 출력에서 불연속을 찾아 불연속 근처에서 시뮬레이션 속도를 저하시킬 수 있는 과도하게 작은 시간 스텝이 사용되지 않도록 방지하는 데 사용되는 기법입니다. 영점교차는 데이터의 불연속을 나타냅니다. 샘플 시간이 연속인 경우(0) From Workspace 블록은 영점교차를 검출할 수 있습니다.

불러온 작업 공간 데이터에 동일한 시간을 갖는 샘플이 여러 개 있는 경우 블록 출력에 불연속이 생성됩니다. 예를 들어, 다음 입력 데이터의 경우 시간 2에서 불연속이 발생합니다.

time:     0 1 2 2 3
signal:   2 3 4 5 6

From Workspace 블록은 보간 파라미터를 선택한 경우에만 입력 데이터의 중복된 시간 값으로 인해 발생하는 영점교차를 검출합니다.

최종 데이터 값 다음의 출력 생성 방법0으로 설정으로 설정한 경우에도 From Workspace 블록이 작업 공간 데이터의 마지막 샘플의 출력에서 불연속을 생성할 수 있습니다.

버스에 대한 입력 데이터를 불러오면 From Workspace 블록이 모든 버스 요소에 대해 영점교차를 검출합니다.

이 블록은 가변 스텝 솔버를 사용하는 시뮬레이션에서만 영점교차 검출을 지원합니다. 시뮬레이션에 고정 스텝 솔버를 사용하는 경우 소프트웨어가 이 블록에 대해 영점교차를 검출하지 않고 찾지 않습니다.

자세한 내용은 Zero-Crossing Detection 항목을 참조하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: ZeroCross
값: 'on' (디폴트 값) | 'off'
데이터형: char | string

예: set_param("myModel/From Workspace","ZeroCross","off") disables the Enable zero-crossing detection parameter for the From Workspace block named From Workspace in the model myModel.

From Workspace 블록은 데이터 보간최종 데이터 값 다음의 출력 생성 방법 설정을 사용하여 작업 공간 데이터에서 사용할 수 있는 마지막 샘플 이후의 시뮬레이션 시간에 대한 블록 출력을 결정합니다.

최종 데이터 값 다음의 출력 생성 방법데이터 보간 설정최종 데이터 다음의 블록 출력

외삽

켜기

최종 데이터 값에서 외삽된 값

끄기

오류

0으로 설정

켜기

0

끄기

최종 값 유지

켜기

작업 공간의 최종 값

끄기

순환 반복

켜기

오류

끄기

불러온 작업 공간 데이터가 시간 형식이 없는 구조체를 사용하는 경우 첫 번째 값부터 작업 공간 데이터를 반복합니다.

시간값을 갖는 구조체 이외의 작업 공간 데이터 형식의 경우 오류가 발생합니다.

From Workspace 블록 외삽 동작에 대한 자세한 내용은 외삽 항목을 참조하십시오.

프로그래밍 방식의 사용법

프로그래밍 방식으로 블록 파라미터 값을 설정하려면 set_param 함수를 사용하십시오.

프로그래밍 방식으로 블록 파라미터 값을 가져오려면 get_param 함수를 사용하십시오.

파라미터: OutputAfterFinalValue
값: 'Extrapolation' (디폴트 값) | 'Setting to zero' | 'Holding final value' | 'Cyclic repetition'
데이터형: char | string

예: set_param("myModel/From Workspace","OutputAfterFinalValue","Holding final value") configures the From Workspace block named From Workspace in the model myModel to use the final input data value as the output value for time steps that occur after the last time value in the input data.

블록 특성

데이터형

Boolean | bus | double | enumerated | fixed pointa | half | integer | single | string

직접 피드스루

아니요

다차원 신호

가변 크기 신호

영점교차 검출

a Fixed-Point Designer를 사용하여 생성된 fi 객체를 통한 입력값을 지원합니다.

알고리즘

모두 확장

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장