exponenta event banner

Создание данных сигнала для отображения корневого входа

Первым шагом при использовании инструмента «Сопоставление корневого ввода» является получение информации об источнике данных сигнала для импорта и отображения. Можно использовать существующие данные (например, в электронной таблице Microsoft ® Excel ®), создавать данные в MAT-файле или использовать интерфейс редактора сигналов для создания данных сигналов.

Дополнительные сведения о других шагах, связанных с использованием инструмента сопоставления корневого ввода, см. в разделе Рабочий процесс импорта и сопоставления.

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

Можно импортировать данные из этих источников.

  • Базовая рабочая область - можно выборочно импортировать данные из базовой рабочей области. Дополнительные сведения о поддерживаемых форматах данных см. в разделе Выбор базового рабочего пространства и формата MAT-файла.

  • Файлы данных - можно выборочно импортировать сигналы, содержащиеся в MAT-файлах и файлах Microsoft Excel. Каждый раз при импорте содержимого файла содержимое перезаписывает данные, уже загруженные для файла с помощью инструмента «Сопоставление корневого ввода».

    Дополнительные сведения см. в разделе Выбор базового рабочего пространства и формата файлов MAT и поддерживаемых форматов файлов Microsoft Excel.

    Совет

    Чтобы загрузить входные данные для моделирования из электронной таблицы Microsoft Excel, рекомендуется использовать блок «Из электронной таблицы». Блок «Из электронной таблицы» постепенно загружает данные из электронной таблицы во время моделирования. При использовании блока «Из электронной таблицы» не требуется ничего делать для обработки изменений значений листа.

Для создания и редактирования данных сигнала можно также использовать интерфейс редактора сигналов. Дополнительные сведения см. в разделе Создание и редактирование данных сигнала.

Выбор соглашения по присвоению имен для сигналов и шин

При идентификации импортируемых сигналов рекомендуется использовать соглашение об именовании для сигналов и шин таким образом, чтобы группировка данных (сценарий) была взаимозаменяемой. Например, можно иметь два MAT-файла с одним и тем же набором переменных с именем в соответствии с соглашением об именовании, но с разными значениями данных. Затем можно легко переключать сценарии входных данных в модель и из нее.

Выбор базового рабочего пространства и формата файла MAT

Средство сопоставления корневых входов поддерживает типы или форматы данных MATLAB ®, описанные в таблице для импортированных данных сигнала. Для каждого типа данных можно использовать режимы отображения, указанные в таблице.

Форматы данныхИмя блокаПуть к блокуИмя сигналаЗаказ портаОбычай

Simulink.SimulationData.Dataset

MATLAB timeseries

 

MATLAB timetable

 

Simulink.SimulationData.Signal

Stateflow.SimulationData.State

Структура со временем и структура без времени

    

Массив данных

    

Массив шин

 

Асинхронный сигнал вызова функции

 

Примечание

Если MAT-файл или базовая рабочая область содержат данные в формате, который не поддерживается инструментом сопоставления корневых входов, инструмент игнорирует эти данные.

Примечание

Несмотря на то, что средство сопоставления корневых входов принимает эти форматы, оно может связываться только в Simulink.SimulationData.Dataset объект. Преобразование данных в MAT-файле в Simulink.SimulationData.Dataset в диалоговом окне «Отображение корневого ввода из» установите флажок «Преобразовать сигналы в набор данных сценария» и сохраните данные в MAT-файле. В качестве альтернативы используйте convertToSLDataset для преобразования данных.

Примечание

При указании timetable как элемент в Dataset или автобус, timetable должен содержать данные только для одного сигнала.

Данные сигнала набора данных

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

Данные сигналов временных интервалов MATLAB

Если имеются данные временных рядов MATLAB, включающие данные перечисления, а класс перечисления отсутствует в пути MATLAB, инструмент игнорирует эти данные временных рядов.

Данные структурного сигнала

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

Данные сигнала массива

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

Данные сигнала шины для отображения корневого входного порта

Данные сигнала, которые импортируются и сопоставляются с блоком ввода корневого уровня, могут включать данные шины. Нельзя сопоставить сигналы шины с блоком включения или триггера корневого уровня.

  1. В рабочем пространстве MATLAB создайте или загрузите объект шины для данных шины, которые требуется импортировать и отобразить.

  2. При создании объекта шины в базовом рабочем пространстве сохраните определение объекта шины в MAT-файле, например d_myBusObj.mat.

  3. Создайте отдельный MAT-файл, содержащий данные шины, которые требуется импортировать для объекта шины. Используйте один из следующих подходов:

    • Использовать существующий MAT-файл, который уже содержит структуру MATLAB или Simulink.SimulationData.Dataset объект.

    • Создайте шину в базовом рабочем пространстве и сохраните ее в MAT-файле.

  4. Настройте модель для загрузки объекта шины.

    • Для блоков ввода корневого уровня, для которых отображаются сигналы, установите в поле Тип данных значение Bus. Укажите имя переменной для объекта шины, который будет использоваться для отображения сигнала.

    • Загрузите в модель MAT-файл, содержащий объекты шины, используемые для сопоставления. Например, используйте PreLoadFcn функция обратного вызова. Дополнительные сведения см. в разделе Альтернативные рабочие процессы для загрузки данных сопоставления.

Создание данных сигнала в MAT-файле для отображения корневого ввода

Можно создать сигнальные данные в MAT-файле для отображения корневого ввода. Например, можно импортировать три сигнала (signal1, signal2, и signal3) и сохраните сигналы в MAT-файле. Simulink.SimulationData.Signal объекты включают имена сигналов, имена блоков, пути блоков и значения индекса порядка портов.

Вы можете использовать convertToSLDataset функция преобразования содержимого MAT-файла в Simulink.SimulationData.Dataset объекты.

  1. В MATLAB создайте три Simulink.SimulationData.Signal объекты, указывающие имена сигналов, пути блоков и значения индекса порядка портов.

    signal1 = Simulink.SimulationData.Signal;
    signal1.Name = 'signal1';
    signal1.BlockPath = Simulink.SimulationData.BlockPath('Out1');
    signal1.PortType = 'inport';
    signal1.PortIndex = 1;
    
    signal2 = Simulink.SimulationData.Signal;
    signal2.Name = 'signal2';
    signal2.BlockPath = Simulink.SimulationData.BlockPath('Out2');
    signal2.PortType = 'inport';
    signal2.PortIndex = 2;
    
    signal3 = Simulink.SimulationData.Signal;
    signal3.Name = 'signal3';
    signal3.BlockPath = Simulink.SimulationData.BlockPath('Out3');
    signal3.PortType = 'inport';
    signal3.PortIndex = 3;
    
  2. В рабочей области MATLAB выберите signal1, signal2, и signal3. Щелкните правой кнопкой мыши на выделенном фрагменте и в контекстном меню выберите «Сохранить как». Сохранить файл как mySigData.mat.

  3. Откройте файл MAT.

    open mySigData.mat
    ans = 
    
        signal1: [1x1 Simulink.SimulationData.Signal]
        signal2: [1x1 Simulink.SimulationData.Signal]
        signal3: [1x1 Simulink.SimulationData.Signal]

С этим MAT-файлом можно использовать режимы сопоставления «Имя сигнала», «Имя блока», «Путь блока» или «Порядок портов». В зависимости от режима карты инструмент «Отображение корневого входного порта» сопоставляет данные сигнала из MAT-файла с соответствующими портами.

Поддерживаемые форматы файлов Microsoft Excel

Для импорта данных из электронных таблиц Excel можно использовать инструмент сопоставления корневого ввода. Для импорта сигнальных данных в CSV-файлы в системе Windows ® с установленной программой Microsoft Office можно также использовать средство сопоставления корневых входов. Инструмент сопоставления корневого ввода не поддерживает таблицы электронных таблиц Excel.

  • Используйте имена листов, соответствующие правилам имен переменных MATLAB. При импорте с листа, имя которого не соответствует этим правилам, инструмент «Сопоставление корневого ввода» использует измененное имя листа. Это измененное имя листа соответствует правилам имен переменных MATLAB. Например, при наличии имени листа Group Name, сопоставитель корневого ввода использует измененное имя GroupName.

  • Для указания имен сигналов используется первая строка листа. Укажите имя сигнала для каждого сигнала или не указывайте имена сигналов. Если имена сигналов не указаны, инструмент присваивает имена сигналов в формате Signal#.

  • Для значений времени используйте первый столбец оставшихся строк. Значения времени должны увеличиваться для каждой строки.

  • Поместите значения сигналов в остальные столбцы.

  • Во время импорта инструмент сопоставления корневых входов преобразует отформатированные числа из электронных таблиц Excel в двойные.

  • Инструмент сопоставления корневых входов не поддерживает режим сопоставления путей блоков для электронных таблиц.

Этот пример электронной таблицы Microsoft Excel настроен для сопоставления корневого ввода.

  • Имя листа: sigData, которое является допустимым именем переменной MATLAB.

  • Первая строка содержит имена сигналов signal1, signal2, и signal3.

  • Первый столбец имеет шесть значений времени, которые увеличиваются для каждой строки.

  • В каждой строке со значением времени столбцы справа от первого столбца содержат значения данных сигнала для каждого сигнала.

Связанные примеры

Подробнее