주요 콘텐츠

Microsoft Excel 가져오기, 내보내기 및 기록 형식

시뮬레이션 데이터 인스펙터 또는 Simulink® Test™를 사용하면 Microsoft® Excel® 파일에서 데이터를 가져오거나 Microsoft Excel 파일로 데이터를 내보낼 수 있습니다. 또한 Playback 블록을 사용하여 Excel 스프레드시트의 데이터를 모델로 불러오거나, Record 블록을 사용하여 데이터를 Excel 파일에 기록할 수 있습니다. 시뮬레이션 데이터 인스펙터, Simulink Test, Playback 블록과 Record 블록이 모두 동일한 파일 형식을 사용하므로, 여러 애플리케이션에서 동일한 Microsoft Excel 파일을 사용할 수 있습니다.

Excel 파일의 데이터 형식이 여기에서 설명하는 사양과 일치하지 않는 경우, io.reader 클래스를 사용하여 데이터를 가져오기 위한 파일 리더를 직접 작성할 수 있습니다.

기본 파일 형식

가장 간단한 형식에서는 Excel 파일의 첫 번째 행이 파일의 신호 이름을 나열하는 헤더입니다. 첫 번째 열은 시간입니다. 시간 열의 이름은 time이어야 하며 시간 값은 단조 증가해야 합니다. 신호 이름 아래의 행에는 각 시간 스텝에 대응되는 신호 값이 나열됩니다.

A Microsoft Excel file with one time column and three signals

Excel은 Inf 값 또는 NaN 값을 지원하지 않으며, 이는 가져오기 작업과 내보내기 작업 모두에 영향을 미칩니다. Excel에서 데이터를 가져올 때 시뮬레이션 데이터 인스펙터는 다음과 같이 동작합니다.

  • 모든 내장 데이터형을 지원합니다.

  • time 열에 빈 셀이나 숫자 오류(예: Inf 값 또는 NaN 값으로 인한 오류)가 있는 데이터는 가져올 수 없습니다.

  • 신호 값 열에서 빈 셀과 숫자 오류가 있는 셀을 누락 데이터로 취급합니다.

시뮬레이션 데이터 인스펙터에서 Inf 값 또는 NaN 값이 있는 데이터를 Excel로 내보내는 경우 다음과 같이 동작합니다.

  • 시뮬레이션 데이터 인스펙터는 NaN 값을 제거하고, 내보낸 스프레드시트에서 해당 셀을 비워 둡니다.

  • Excel은 Inf를 숫자형 값으로 기본 지원하지 않는 제약이 있기 때문에, Excel은 Excel 소프트웨어의 버전에 따라 Inf 데이터를 오류 코드로 변환하거나 숫자형 값 65535로 변환합니다.

여러 시간 벡터

데이터에 서로 다른 시간 벡터를 갖는 여러 신호가 포함되어 있는 경우 파일에 2개 이상의 시간 벡터가 포함될 수 있습니다. 각 시간 열의 이름은 time이어야 합니다. 시간 열은 다음 시간 벡터에 다다를 때까지 오른쪽에 있는 신호의 샘플 시간을 지정합니다. 예를 들어, 첫 번째 시간 열은 signal1signal2의 시간을 정의하고 두 번째 시간 열은 signal3의 시간 스텝을 정의합니다.

A Microsoft Excel file with two time columns and three signals

신호 열에는 연결된 시간 벡터와 같은 개수의 데이터 점이 있어야 합니다.

신호 메타데이터

파일에는 데이터형, 단위, 보간 방법 등 신호에 대한 메타데이터가 포함될 수 있습니다. 이 메타데이터를 사용하여 데이터를 플로팅하는 방법, 단위 변환과 데이터 변환을 적용하는 방법, 비교 결과를 계산하는 방법을 결정할 수 있습니다. 메타데이터가 비교에서 어떻게 사용되는지에 대한 자세한 내용은 How the Simulation Data Inspector Compares Data 항목을 참조하십시오.

각 신호의 메타데이터는 신호 이름과 신호 데이터 사이의 행에 나열됩니다. 각 신호에 대해 원하는 대로 메타데이터 조합을 지정할 수 있습니다. 메타데이터를 더 적게 지정할 신호는 셀을 비워 두십시오.

A Microsoft Excel spreadsheet with metadata for each signal. signal1 is specified to have zoh interpolation, int8 data type, and units of meters. signal2 is specified to have int32 datatype. signal3 is specified to have zoh interpolation and units of meters per second.

다음 표에 따라 각 메타데이터에 레이블을 지정합니다. 이 표는 각 메타데이터를 지원하는 툴과 작업도 보여줍니다. 가져온 파일이 신호 메타데이터를 지정하지 않으면 double 데이터형, zoh(영차 유지) 보간 및 union 동기화가 사용됩니다.

신호 속성 레이블시뮬레이션 데이터 인스펙터 가져오기Record 블록 기록 및 시뮬레이션 데이터 인스펙터 내보내기Simulink Test 가져오기 및 내보내기
데이터형Type:내장 데이터형.

지원됨

지원됨

지원됨

단위Unit:

지원되는 단위. 예를 들어, Unit: m/s는 초당 미터 단위를 지정합니다.

지원되는 단위 목록을 보려면 MATLAB® 명령 창에 showunitslist를 입력하십시오.

지원됨

지원됨

지원됨

보간 방법Interp:linear, 영차 유지의 경우 zoh, 또는 none.

지원됨

지원됨

지원됨

동기화 방법Sync:union 또는 intersection.

지원됨

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

상대 허용오차RelTol:백분율, 소수로 표현됨. 예를 들어, RelTol: 0.1은 10% 상대 허용오차를 지정합니다.

지원됨

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

절대 허용오차AbsTol:숫자형 값.

지원됨

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

시간 허용오차TimeTol:숫자형 값(단위: 초).

지원됨

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

선행 허용오차LeadingTol:숫자형 값(단위: 초).

지원됨

Simulink Test에만 표시됨.

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

지연 허용오차LaggingTol:숫자형 값(단위: 초).

지원됨

Simulink Test에만 표시됨.

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

블록 경로BlockPath:신호를 생성한 블록의 경로.

지원됨

지원됨

지원됨

포트 인덱스PortIndex:정수.

지원됨

지원됨

지원됨

이름Name:신호 이름

지원됨

지원되지 않음

내보낸 파일에 메타데이터가 포함되지 않음.

지원됨

사용자 정의 데이터형

내장 데이터형 외에도, DataType: 레이블 대신 다른 레이블을 사용하여 고정소수점 데이터형, 열거형 데이터형, 별칭 데이터형 및 버스 데이터형을 지정할 수 있습니다.

데이터형 레이블시뮬레이션 데이터 인스펙터 가져오기Record 블록 기록 및 시뮬레이션 데이터 인스펙터 내보내기Simulink Test 가져오기 및 내보내기
열거형Enum:열거형 클래스의 이름.

지원됨

열거형 클래스의 정의는 MATLAB 경로에 저장되어야 합니다.

지원됨

열거형 클래스의 정의는 MATLAB 경로에 저장되어야 합니다.

지원됨

열거형 클래스의 정의는 MATLAB 경로에 저장되어야 합니다.

별칭Alias:

MATLAB 작업 공간에서 Simulink.AliasType 객체의 이름.

지원됨

행렬 신호와 복소 신호의 경우 별칭 데이터형을 첫 번째 채널에 지정하십시오.

지원되지 않음

지원됨

행렬 신호와 복소 신호의 경우 별칭 데이터형을 첫 번째 채널에 지정하십시오.

고정소수점Fixdt:

지원됨

지원되지 않음

지원됨

버스Bus:

MATLAB 작업 공간에서 Simulink.Bus 객체의 이름.

지원됨

지원되지 않음

지원됨

Simulink.Bus 객체의 이름을 사용하여 유형을 지정했는데 해당 객체가 MATLAB 작업 공간에 없는 경우에도 여전히 데이터를 파일에서 가져옵니다. 하지만 버스 내 개별 신호는 Simulink.Bus 객체에 정의된 데이터형이 아니라 파일에 설명된 데이터형을 사용합니다.

복소 신호, 다차원 신호, 버스 신호

Excel 파일을 사용하여 복소 신호, 다차원 신호, 버스 신호를 가져오고 내보낼 수 있습니다. 데이터 열의 신호 이름은 해당 데이터가 복소 신호, 다차원 신호 또는 버스 신호의 일부인지 여부를 나타냅니다. Excel 파일 가져오기 및 내보내기는 버스로 구성된 배열을 지원하지 않습니다.

참고

가변 크기 신호를 갖는 비가상 버스의 데이터를 Excel 파일로 내보낼 경우, 가변 크기 신호 데이터는 개별 채널로 확장되며 데이터의 계층 구조 특성이 손실됩니다. 이 파일에서 가져온 데이터는 단순 목록으로 반환됩니다.

다차원 신호 이름에는 인덱스 정보가 괄호 안에 포함됩니다. 예를 들어, 열의 신호 이름은 signal1(2,3)일 수 있습니다. 다차원 신호 데이터가 포함된 파일에서 데이터를 가져올 때, 파일에 포함되지 않은 데이터의 요소는 다른 요소와 동일한 데이터형 및 실수/복소수 여부를 가지며 0의 샘플 값을 갖습니다.

복소 신호 데이터는 항상 실수-허수 형식입니다. 복소 신호 데이터를 포함하는 열의 신호 이름에는 각 열에 어떤 데이터가 포함되었는지를 나타내기 위해 (real)(imag)가 포함됩니다. 허수 신호 데이터가 포함된 파일에서 데이터를 가져올 때 해당 신호의 실수부 값을 지정하지 않으면, 실수부의 신호 값은 기본적으로 0으로 설정됩니다.

다차원 신호는 복소수 데이터를 포함할 수 있습니다. 신호 이름에는 다차원 신호 내 인덱스 표시와 실수 또는 허수 태그가 포함됩니다. 예를 들면, signal1(1,3)(real)입니다.

신호 이름의 점은 버스의 계층 구조를 지정합니다. 예를 들면 다음과 같습니다.

  • bus.y.a

  • bus.y.b

  • bus.x

A Microsoft Excel file with two time columns and three bus elements

신호의 이름에 행렬, 복소 신호 또는 버스의 일부로 오인될 수 있는 문자가 포함된 경우, 가져온 신호에 Name 메타데이터 옵션을 사용하여 Playback 블록, 시뮬레이션 데이터 인스펙터, Simulink Test에서 사용할 이름을 지정하십시오.

함수 호출 신호

첫 번째 시간 열 이전의 열에 지정된 신호 데이터는 하나 이상의 함수 호출 신호로 가져옵니다. 해당 열의 데이터는 함수 호출 신호가 활성화된 시간을 지정합니다. 가져온 신호는 해당 열에 지정된 시간에 대해 1 값을 갖습니다. 함수 호출 신호의 시간 값은 double형 스칼라 실수여야 하며 단조 증가해야 합니다.

시뮬레이션 데이터 인스펙터에서 데이터를 내보낼 때 함수 호출 신호는 다른 신호와 동일하게 형식이 지정되며, 시간 열과 신호 값 열로 구성됩니다.

시뮬레이션 파라미터

시뮬레이션에 사용되는 파라미터 값에 대한 데이터를 가져올 수 있습니다. Playback 블록과 시뮬레이션 데이터 인스펙터에서 파라미터 값은 신호로 표시됩니다. Simulink Test는 가져온 파라미터 값을 사용하여 테스트에서 해당 파라미터의 값을 지정하며, 이 테스트는 가져온 데이터를 기반으로 실행됩니다.

파라미터 데이터는 2개 열 또는 3개 열을 사용하여 지정됩니다. 첫 번째 열은 파라미터 이름을 지정하며, 해당 열의 제목 행 셀은 Parameter:로 레이블이 지정됩니다. 두 번째 열은 각 파라미터에 사용되는 값을 지정하며, 제목 행 셀은 Value:로 레이블이 지정됩니다. 파라미터 데이터는 각 파라미터에 연결된 블록 경로가 포함된 세 번째 열도 포함할 수 있으며, 제목 행 셀은 BlockPath:로 레이블이 지정됩니다. 파라미터의 이름, 값, 블록 경로는 신호 메타데이터를 지정하는 행 아래에, 신호 데이터가 포함된 첫 번째 행부터 지정됩니다. 예를 들어, 아래 파일은 두 파라미터 XY의 값을 지정합니다.

A Microsoft Excel file with two time columns, three signals, metadata, and values for two parameters

자세한 내용은 Create External Data Files to Use in Test Cases (Simulink Test) 항목을 참조하십시오.

다중 실행

하나의 파일에 여러 실행(run)을 포함할 수 있습니다. 시트 내에서, 데이터를 실행(run)별로 나누려면 데이터에 시뮬레이션 번호와 소스 유형(예: Input 또는 Output)을 레이블로 지정합니다. 시뮬레이션 번호에 레이블 Simulation:을 사용하고 소스 유형에 레이블 Source:를 사용하여 시뮬레이션 번호와 소스 유형을 추가 신호 메타데이터로 지정합니다. Playback 블록과 시뮬레이션 데이터 인스펙터는 각 실행에 속한 신호를 확인하기 위한 용도로만 시뮬레이션 번호와 소스 유형을 사용합니다. Simulink Test는 이 정보를 사용하여 가져온 데이터를 기반으로 테스트를 실행하기 위한 입력값, 파라미터, 채택 조건을 정의합니다.

모든 신호에 대해 시뮬레이션 번호와 출력 유형을 지정할 필요는 없습니다. 시뮬레이션 번호와 소스가 지정된 신호의 오른쪽에 있는 신호들은 다른 소스나 시뮬레이션 번호가 지정된 다음 신호가 나타날 때까지 동일한 시뮬레이션 번호와 소스를 사용합니다. 예를 들어, 아래 파일은 2개의 시뮬레이션에 대한 데이터를 정의하고 시뮬레이션 데이터 인스펙터에서 4개의 실행(run)으로 가져옵니다.

  • 실행 1에는 signal1signal2가 포함됩니다.

  • 실행 2에는 signal3, X, Y가 포함됩니다.

  • 실행 3에는 signal4가 포함됩니다.

  • 실행 4에는 signal5가 포함됩니다.

A Microsoft Excel file with two simulations that import into the Simulation Data Inspector as four runs.

Microsoft Excel 파일 내에서 시트를 사용하여 데이터를 실행(run)과 테스트로 나눌 수도 있습니다. 시뮬레이션 번호와 소스 정보를 지정하지 않으면, 각 시트의 데이터를 시뮬레이션 데이터 인스펙터 또는 Playback 블록에서 별도의 실행(run)으로 가져옵니다. 시뮬레이션 데이터 인스펙터에서 여러 실행을 내보낼 때 각 실행의 데이터는 별도의 시트에 저장됩니다. 여러 시트에 데이터가 포함된 Microsoft Excel 파일을 Simulink Test로 가져올 때는 각 시트마다 하나의 반복(iteration)이 생성됩니다.

참고 항목

|

도움말 항목