Из электронной таблицы

Считайте данные из электронной таблицы

  • Библиотека:
  • Simulink / Источники

Описание

Блок From Spreadsheet считывает данные из Microsoft® Excel® (все платформы), или CSV (платформа MicrosoftWindows® с Microsoft Office установила только), электронные таблицы, и выводит данные как сигнал. Блок From Spreadsheet не поддерживает графики электронной таблицы Microsoft Excel.

Из значка электронной таблицы отображает имя файла электронной таблицы и имя листа, заданное в параметрах блока File name и Sheet name.

Форматы устройства хранения данных

Данные, что чтения блока From Spreadsheet из электронной таблицы должны быть соответственно отформатированы.

Для электронных таблиц Microsoft Excel:

  • Блок From Spreadsheet интерпретирует первую строку как имя сигнала. Если вы не задаете имя сигнала, блок From Spreadsheet присваивает по умолчанию с форматом Signal #, где # постепенно увеличивается с каждым дополнительным сигналом без имени.

  • Блок From Spreadsheet интерпретирует первый столбец как время. В этом столбце должны монотонно увеличиться временные стоимости.

  • Блок From Spreadsheet интерпретирует остальные столбцы как сигналы.

Этот пример показывает приемлемо отформатированную электронную таблицу Microsoft Excel. Первый столбец время, и первая строка содержит имена сигнала. Каждый рабочий лист содержит группу сигнала.

Для текстовых файлов CSV (платформа Microsoft с Microsoft Office установила только):

  • Блок From Spreadsheet интерпретирует первый столбец как время. В этом столбце должны увеличиться временные стоимости.

  • Блок From Spreadsheet интерпретирует остальные столбцы как сигналы.

  • Каждый столбец должен иметь то же количество записей.

  • Блок From Spreadsheet интерпретирует каждый файл как одну группу сигнала.

Этот пример показывает приемлемо отформатированный файл CSV. Содержимое представляет одну группу сигнала.

0,0,0,5,0
1,0,1,5,0
2,0,1,5,0
3,0,1,5,0
4,5,1,5,0
5,5,1,5,0
6,5,1,5,0
7,0,1,5,0
8,0,1,5,1
9,0,1,5,1
10,0,1,5,0

Блокируйте поведение во время симуляции

Блок From Spreadsheet инкрементно считывает данные из электронной таблицы во время симуляции.

Параметр Sample time задает шаг расчета что использование блока From Spreadsheet, чтобы считать данные из электронной таблицы. Для получения дополнительной информации смотрите Параметры. Метки времени в файле должны монотонно не уменьшаться.

Для каждого хита времени симуляции, для которого электронная таблица не содержит метки времени соответствия, программное обеспечение Simulink® интерполирует или экстраполирует, чтобы получить необходимые данные с помощью выбранного метода. Для получения дополнительной информации смотрите Хиты Времени симуляции, Которые Не Имеют Никаких Соответствующих Меток времени электронной таблицы.

Хиты времени симуляции, которые не имеют никаких соответствующих меток времени электронной таблицы

Если хит времени симуляции не имеет соответствующей метки времени электронной таблицы, блок From Spreadsheet вывел, зависит от:

  • Происходит ли хит времени симуляции перед первой меткой времени в области значений меток времени, или после последней метки времени

  • Методы интерполяции или экстраполяции, которые вы выбираете

  • Тип данных данных об электронной таблице

Для получения дополнительной информации об опциях интерполяции и экстраполяции, см. описания этих параметров:

Иногда электронная таблица включает два или больше значения данных, которые имеют ту же метку времени. В таких случаях действие блока From Spreadsheet зависит от того, когда хит времени симуляции происходит относительно дублирующихся меток времени в электронной таблице.

Например, предположите, что электронная таблица содержит эти данные. Три значения данных имеют значение метки времени 2.

time stamps:    0 1 2 2 2 3 4
data values:    2 3 6 4 9 1 5

Таблица описывает блок From Spreadsheet вывод.

Время симуляции, относительно дублирующихся значений метки времени в электронной таблицеОт действия блока электронной таблицы
Перед дублирующимися метками времени

Выполняет те же действия как тогда, когда метки времени отличны, с помощью первого из дублирующихся значений метки времени как основание для интерполяции. (В этом примере значением метки времени является 6.)

В или после дублирующихся меток времени

Выполняет те же действия как тогда, когда штампы времен отличны, с помощью последнего из дублирующихся значений метки времени как основание для интерполяции. (В этом примере тем значением метки времени является 9.)

Порты

Вывод

развернуть все

Инкрементные данные из заданной электронной таблицы.

Параметр Sample time задает шаг расчета что использование блока From Spreadsheet, чтобы считать данные из электронной таблицы. Для получения дополнительной информации смотрите Параметры. Метки времени в файле должны монотонно не уменьшаться.

Для каждого хита времени симуляции, для которого электронная таблица не содержит метки времени соответствия, программное обеспечение Simulink интерполирует или экстраполирует, чтобы получить необходимые данные с помощью выбранного метода. Для получения дополнительной информации смотрите Хиты Времени симуляции, Которые Не Имеют Никаких Соответствующих Меток времени электронной таблицы.

Блок From Spreadsheet принимает спецификации типа данных на блочном уровне. Если вы хотите задать различные типы данных для каждого сигнала, рассмотрите Output Data Type выбора> Inherit: Auto. Эта опция разрешает назад типы данных сигнала с помощью обратного распространения. Например, примите, что существует два сигнала в блоке From Spreadsheet, In1 и In2, который блок отправляет в порты, которые имеют int8 и булевы типы данных. С обратным распространением блок переделывает In1 как int8 и In2 как булевская переменная.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated

Параметры

развернуть все

Введите полный путь и имя файла файла электронной таблицы.

Этот блок поддерживает неанглийские полные пути и имена файлов только на платформах Microsoft.

Программируемое использование

Параметры блоков: FileName
Ввод: символьный вектор
Значение: полный путь и имя файла
Значение по умолчанию: 'untitled.xlsx'

Введите имя листа в электронной таблице. Можно ввести имя листа в этом окне редактирования или выбрать имя листа после того, как вы откроете лист.

Если ваша электронная таблица является форматом CSV, блок заполняет этот параметр с именем файла CSV без расширения. Не изменяйте это значение.

Чтобы открыть лист, щелкнуть. В листе можно выбрать область значений данных путем перетаскивания в желаемой области значений значений.

Также можно выбрать область значений данных путем определения области значений значений в параметре Range.

Программируемое использование

Параметры блоков: SheetName
Ввод: символьный вектор
Значение: Покройте имя
Значение по умолчанию: 'Sheet1'

Чтобы задать область значений, используйте формат column:row с несколькими спецификациями, разделенными запятыми. Например, A1:B3,D1:D3,A7:B9,D7:D9. Если незаданный, или пустой, блок автоматически обнаруживает используемую область значений, которая является всеми данными в листе.

Если выборы накладываются, блок разрешает информацию о выборе как соответствующую. Например, если вы задаете несколько областей значений, которые накладываются, такие как A1:B4,B1:E7, блок разрешает выбор к A1 к E7, включительно.

Альтернатива к использованию параметра Range должна открыть лист путем нажатия. В листе можно выбрать область значений данных путем перетаскивания в желаемой области значений значений.

Программируемое использование

Параметры блоков: Range
Ввод: символьный вектор
Значение: Диапазон ячеек
Значение по умолчанию: ''

Тип данных для блока From Spreadsheet выводится. Блок From Spreadsheet принимает электронные таблицы, которые содержат много типов данных. Однако блок читает тип данных электронной таблицы, как удваивается. Это затем выводит тип данных согласно значению Output data type.

Если вы хотите задать различные типы данных для каждого сигнала, рассмотрите Output Data Type выбора> Inherit: auto. Эта опция разрешает назад типы данных сигнала с помощью обратного распространения. Например, примите, что существует два сигнала в блоке From Spreadsheet, In1 и In2, который блок отправляет в порты, которые имеют int8 и булевы типы данных. С обратным распространением блок переделывает In1 как int8 и In2 как булевская переменная.

Чтобы позволить блоку бросать тип выходных данных, чтобы совпадать с тем из блока получения, используйте Inherit: auto.

Для получения дополнительной информации смотрите Типы данных Управляющего сигнала.

Программируемое использование

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: auto' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | 'Bus: <object name>' | '<data type expression>'
Значение по умолчанию: 'Inherit: auto'

Выберите, как блок должен обработать первый столбец электронной таблицы:

  • Время Обработайте первый столбец как время.

  • Данные Обработайте первый столбец как данные.

Зависимости

Когда вы выбираете Data, блок отключает:

  • Data extrapolation before first data point

  • Data interpolation within time range

  • Data extrapolation after last data point

И включает:

  • Output after last data point

Программируемое использование

Параметры блоков: TreatFirstColumnAs
Ввод: символьный вектор
Значение: 'Time' | 'Data'
Значение по умолчанию: 'Time'

Демонстрационный период и смещение.

Блок From Spreadsheet считывает данные из электронной таблицы с помощью шага расчета что также:

  • Вы задаете для блока From Spreadsheet

  • Блок From Spreadsheet наследовался блокам, в которые блок From Spreadsheet подает данные

Значением по умолчанию является 0, который задает время непрерывной выборки. Электронная таблица читается на основном (самом быстром) уровне модели. Для получения дополнительной информации см. Настройку времени выборки.

Программируемое использование

Параметр: SampleTime
Ввод: символьный вектор
Значения: скаляр | вектор
Значение по умолчанию: '0'

Метод экстраполяции, который использование Simulink для времени симуляции поражает, который является перед первой меткой времени в электронной таблице. Выберите один из этих методов экстраполяции.

МетодОписание
Linear extrapolation

(Значение по умолчанию)

Если электронная таблица содержит только одну выборку, блок From Spreadsheet выводит соответствующее значение данных.

Если электронная таблица содержит больше чем одну выборку, блок From Spreadsheet линейно экстраполирует использование первых двух выборок:

  • Для данных double, линейно экстраполирует значение с помощью первых двух выборок

  • Для данных Boolean, выводит значение First Data

  • Для встроенного типа данных кроме double или Boolean:

    • Upcasts данные к double

    • Выполняет линейную экстраполяцию (как описано выше для данных double)

    • Downcasts экстраполируемое значение данных к исходному типу данных

Вы не можете использовать опцию Linear extrapolation с перечислимым (enum) данные.

Hold first value

Использует значение First Data в файле

Ground value

Использует значение, которое зависит от типа данных значений выборочных данных электронной таблицы:

  • Типы данных с фиксированной точкой — Использование наземное значение

  • Числовые типы кроме фиксированной точки — Использование 0

  • Boolean — Использование false

  • Перечислимые типы данных — значение по умолчанию Использования

Зависимости

Чтобы включить этот параметр, установите Treat first column as на Time.

Программируемое использование

Параметр: ExtrapolationBeforeFirstDataPoint
Ввод: символьный вектор
Значения: 'Linear extrapolation' | 'Hold first value' | 'Ground value'
Значение по умолчанию: 'Linear extrapolation'

Метод интерполяции, который Simulink использует для хита времени симуляции между двумя метками времени в электронной таблице. Выберите один из следующих методов интерполяции.

МетодОписание
Linear interpolation

(Значение по умолчанию)

Блок From Spreadsheet интерполирует использование двух соответствующих выборок электронной таблицы:

  • Для данных double, линейно интерполирует значение с помощью двух соответствующих выборок

  • Для данных Boolean, false использования для первой половины выборки и true для второй половины

  • Для встроенного типа данных кроме double или Boolean:

    • Upcasts данные к double

    • Выполняет линейную интерполяцию (как описано выше для данных double)

    • Downcasts интерполированное значение к исходному типу данных

Вы не можете использовать опцию Linear interpolation с перечислимым (enum) данные.

Zero order hold

Использует данные из первой из этих двух выборок

Зависимости

Чтобы включить этот параметр, установите Treat first column as на Time.

Программируемое использование

Параметр: InterpolationWithinTimeRange
Ввод: символьный вектор
Значения: 'Linear interpolation' | 'Zero order hold'
Значение по умолчанию: 'Linear interpolation'

Метод экстраполяции, который использование Simulink для времени симуляции поражает, который является после последней метки времени в электронной таблице. Выберите один из следующих методов экстраполяции.

МетодОписание
Linear extrapolation

(Значение по умолчанию)

Если электронная таблица содержит только одну выборку, блок From Spreadsheet выводит соответствующее значение данных.

Если электронная таблица содержит больше чем одну выборку, блок From Spreadsheet линейно экстраполирует значения данных использования последних двух выборок:

  • Для данных double, экстраполирует значение с помощью последних двух выборок

  • Для данных Boolean, выводит последнее значение данных

  • Для встроенного типа данных кроме double или Boolean:

    • Upcasts данные к double.

    • Выполняет линейную экстраполяцию (как описано выше для данных double).

    • Downcasts экстраполируемое значение к исходному типу данных.

Вы не можете использовать опцию Linear extrapolation с перечислимым (enum) данные.

Hold last value

Использует последнее значение данных в файле

Ground value

Использует значение, которое зависит от типа данных значений выборочных данных электронной таблицы:

  • Типы данных с фиксированной точкой — Использование наземное значение

  • Числовые типы кроме фиксированной точки — используют 0

  • Boolean — Использование false

  • Перечислимые типы данных — значение по умолчанию Использования

Зависимости

Чтобы включить этот параметр, установите Treat first column as на Time.

Программируемое использование

Параметр: ExtrapolationAfterLastDataPoint
Ввод: символьный вектор
Значения: 'Linear extrapolation' | 'Hold last value' | 'Ground value'
Значение по умолчанию: 'Linear extrapolation'

Выберите действие после последней точки данных:

  • Repeating sequence — Повторите последовательность путем чтения данных из первой строки области значений, заданной в Range

  • Hold final value — Выведите последнее заданное значение для остатка от симуляции.

  • Ground value — Выведите наземное значение в зависимости от значения типа данных, заданного в Output data type.

Зависимости

Чтобы включить этот параметр, установите Treat first column as на Data.

Программируемое использование

Параметр: OutputAfterLastPoint
Ввод: символьный вектор
Значения: 'Repeating sequence' | 'Hold final value' | 'Ground value'
Значение по умолчанию: 'Repeating sequence'

Выберите, чтобы включить обнаружение пересечения нулем.

Параметр Обнаружения Пересечения нулем применяется, только если параметр Sample time устанавливается на (непрерывный) 0.

Simulink использует метод, который, как известно как обнаружение пересечения нулем, определял местоположение точно разрыва, не обращаясь к чрезмерно маленьким временным шагам. В этом контексте пересечение нулем используется, чтобы представлять разрывы.

Для блока From Spreadsheet обнаружение пересечения нулем может только произойти в метках времени в файле. Simulink исследует только метки времени, не значения данных.

Если входной массив содержит дублирующиеся метки времени (больше чем одна запись с той же меткой времени), Simulink обнаруживает нуль, пересекающийся, в то время штампуют. Например, предположите, что входной массив имеет эти данные.

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

Во время 2, существует нуль, пересекающийся от разрыва входного сигнала.

Для данных с недублирующимися метками времени обнаружение пересечения нулем зависит от настроек следующих параметров:

  • Data extrapolation before first data point

  • Data interpolation within time range

  • Data extrapolation after last data point

Блок применяет следующие правила при определении когда:

  • Пересечение нулем происходит впервые штамп

  • Для меток времени между первой и последней меткой времени

  • В последний раз штамп

Метка времениКогда обнаружение пересечения нулем происходит

Сначала

Data extrapolation before first data point установлен в Ground value.

Между в общем и целом

Data interpolation within time range установлен в Zero-order hold.

В последний раз

Один или обе из этих настроек происходите:

  • Data extrapolation after last data point установлен в Ground value.

  • Data interpolation within time range установлен в Zero-order hold.

Следующая фигура иллюстрирует обнаружение пересечения нулем для данных, к которым получает доступ блок From Spreadsheet, который имеет эти настройки:

  • Data extrapolation before first data pointLinear extrapolation

  • Data interpolation within time range (для внутренних точек) — Zero order hold

  • Data extrapolation after last data pointLinear extrapolation

Следующая фигура является другим рисунком обнаружения пересечения нулем для данных, к которым получает доступ блок From Spreadsheet. Блок имеет эти настройки для меток времени (точки):

  • Data extrapolation before first data pointHold first value

  • Data interpolation within time rangeZero order hold

  • Data extrapolation after last data pointHold last value

Программируемое использование

Параметры блоков: ZeroCross
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Характеристики блока

Типы данных

Boolean | double | enumerated | fixed point[a] | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

yes

[a]  Поддержки до 32-битных типов данных с фиксированной точкой.

Алгоритмы

развернуть все

Когда блок From Spreadsheet считывает данные из электронной таблицы, это читает все сигналы с двойной точностью и затем бросает их к типу данных, заданному в параметре Output data type для выходного сигнала. Во время кастинга блок использует округление режима и насыщения на целочисленном переполнении можно следующим образом.

Расширенные возможности

Введенный в R2015b