Сопоставление данных сигнала с корневыми входными портами

После импорта данных сопоставьте данные сигнала с корневыми входными портами, выбрав режимы и опции карты и выбрав данные.

Для получения сводных данных других шагов, связанных с использованием инструмента Root Inport Mapper, см. Раздел «Импорт и Отображение рабочего процесса».

Выберите режим Map

Чтобы сопоставить данные сигнала с портами корневого уровня, используйте один из этих режимов отображения в разделе Map To Model на панели инструментов Root Inport Mapper. Режим отображения, выбранный на панели инструментов, такой как Block Name или Port Order, поддерживается между MATLAB® сеансы и модели. Вам не нужно выбирать режим map каждый раз, когда вы хотите сопоставить данные сигнала с корневыми входными портами.

ЦельРежим Map

Назначьте сигналы портам в соответствии с именем блока root-inport. Если имя сигнала или элемента шины совпадает с именем блока корневого порта, данные сопоставляются с соответствующим портом.

Block Name

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

Block Path

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

Signal Name

Присвойте импортированным данным последовательные номера портов, начиная с 1. Сопоставьте сигналы с соответствующими входными портами.

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

Если данные не находятся в форме набора данных, они обрабатываются в том порядке, в котором они появляются в файле данных.

Port Order

Назначьте сигналы портам в соответствии с определениями в пользовательском файле. Чтобы создать пользовательский режим отображения, см. Раздел «Создание и использование пользовательских режимов сопоставления».

Custom

Установите опции для отображения

Если необходимо настроить опции сопоставления, в разделе Map To Model на панели инструментов Root Inport Mapper нажмите Options. Опция, выбранная на панели инструментов, такая как Update Model или Allow Partial, сохраняется между сеансами работы с MATLAB и моделями. Вы не должны выбирать опцию каждый раз, когда вы хотите сопоставить данные сигнала с корневыми входными портами.

Для отображения сигналов смотрите Map Data.

ЦельОпция

Обновите модель и проверьте типы данных входных портов корневого уровня и импортированных данных.

Update Model. Сравните данные сигнала и параметры входного порта с портом корневого уровня и отобразите результаты. Если вы не выбираете эту опцию, инструмент сопоставляет импортированные данные с входным портом корневого уровня, но не обновляет модель.

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

Use Strong Data Typing with Spreadsheets. Снимите этот флажок, чтобы позволить инструменту Root Inport Mapper автоматически преобразовывать входные сигналы электронных таблиц в типы данных соответствующих корневых входных портов. Инструмент Root Inport Mapper может привести данные электронной таблицы только к следующим типам данных: double, single, int8, uint8, int16, uint16, int32, uint32. Если вы установите этот флажок или если корневой входной порт не является одним из этих типов данных, вы можете получить ошибку несоответствия типа данных.

Импортируйте данные шины, которые определены только частично.

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

Идентифицируйте неназначенные корневые порты входа и обнаружите неполные наборы входных данных.

Notify of Missing Signals. Показать входы с отсутствующими сигналами.

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

Чтобы задать подмножество сценариев для отображения, щелкните стреле вниз на кнопке Map to Model. Для различных сценариев можно выбрать различные режимы отображения.

ЦельОпция

Сопоставьте все наборы данных сценария (по умолчанию).

Map All

Сопоставьте наборы данных сценариев, выбранных в настоящее время в разделе Набор данных сценария.

Map Selected

Сопоставьте отключенные наборы данных.

Map Unconnected

Сопоставить наборы данных, которые ранее не удалось сопоставить.

Map Failed

Сопоставьте наборы данных, которые ранее вызывали предупреждения.

Map Warned

Сопоставление данных

После импорта сигналов или шин можно сопоставить данные.

  1. На панели инструментов Root Inport Mapper нажмите Map to Model.

    Результаты отображения сигнала появляются на вкладке Scenario Dataset.

  2. В разделе FILE щелкните набор данных, чтобы увидеть результаты отображения

    • В Simulation Readiness разделе перечислены входные данные и состояние отображения.

    • Определение отображения для входных данных применяется к модели.

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

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

После сохранения определения отображения для модели можно автоматизировать загрузку данных. Для получения дополнительной информации смотрите Альтернативные рабочие процессы для загрузки данных отображения.

Осмыслите результаты отображения

Когда вы завершаете процесс импорта и сопоставления, в разделе Simulation Readiness отображаются результаты в области состояния. Результаты зависят от того, выберете ли вы опцию Update Model при настройке отображения.

СтатусОбновление моделиПродолжите без обновления модели

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

Тип данных, размерность и свойства типа сигнала данных и входного порта совместимы.

Не применяется

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

Inport параметров блоков Data type не установлен на Inherit:auto.

Inport параметров блоков Dimension не установлен на -1.

Inport параметров блоков Signal type невозможно auto.

Свойства сопоставленных данных и входа порта не подходят для симуляции.

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

Чтобы включить моделирование модели, если Root Inport Mapper не находит сигналы входа порта для карты, он сопоставляет эти порты входа с землей и отображает отображенный сигнал как пустой ([]).

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

Иногда в разделе Simulation Readiness отображается предупреждение или ошибка, но ваше исследование элементов указывает, что нет проблем с отображением данных. В этих случаях, если вы не установили флажок Update Model из меню Options, выберите его и нажмите Map to Model еще раз.

В инструменте Root Inport Mapper нажатие кнопки Mark for Simulation устанавливает флажок Input на панели Data Import/Export в диалоговом окне Model Параметры Конфигурации. Это также устанавливает значение для импортированных переменных данных. Чтобы применить изменения к строению модели, на панели Data Import/Export нажмите OK.

Если ваша модель использует строение ссылки для ссылки на конфигурации модели, вы не можете отметить модель для симуляции. Чтобы использовать эти данные для симуляции модели с помощью инструмента Root Inport Mapper, используйте Обозреватель моделей, чтобы сначала активировать конфигурацию модели.

Этот рисунок иллюстрирует применение изменений в строении модели для модели в Map Data.

Чтобы просмотреть импортированные данные, можно:

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

  • Логгирование сигналов и использование инструмента Данные Моделирования Inspector для наблюдения данных.

Чтобы выделить Inport блок, который связан с сигналом, выберите элемент в разделе Simulation Readiness. Выбранный Inport блок обрисован синим цветом.

Примечание

Когда вход является шиной, щелкните по уровням объекта шины, чтобы увидеть отдельные элементы шины.

Преобразование моделей, управляемых кабельными трассами, в использование внешних входных параметров, свободных от кабелей

В этом примере показано, как преобразовать модель тестовой обвязки, которая использует блок Signal Builder в качестве входов в модель без кабеля с корневыми входными портами. Пример собирает данные из модели тестовой обвязки и хранит их в MAT-файлах для модели без кабеля. После хранения данных пример удаляет блок Signal Builder из модели тестовой обвязки и добавляет корневые входные порты, чтобы создать модель без кабеля. Затем данные в MAT-файлах сопоставляются с корневыми входными портами модели.

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

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

В данном примере вы изменяете sldemo_autotrans модели из примера Моделирования Контроллера Автоматической Коробки Передач.

Откройте пример модели.

Экспорт групп блоков Signal Builder

Экспортируйте данные, которые определяют Блок Signal Builder группы сигналов в MAT-файл из окна Signal Builder. Чтобы экспортировать данные сигнала Signal Builder, отформатированные как Simulink .SimulationData. Набор данных, в MAT-файл, откройте окно Signal Builder и выберите Файл > Export Data > To MAT-File. В диалоговом окне введите имя MAT-файла, содержащего данные и номер группы, которую необходимо экспортировать. В данном примере имя файла slexAutotransRootInportPassingManeuver.mat и номер группы равен 1 для группы Passing Maneuver.

Удалите блок Signal Builder

Удалите блок Signal Builder с именем ManeuversGUI и замените его двумя входными портами.

  1. Удалите блок Signal Builder с именем ManeuversGUI.

  2. Из библиотеки Simulink/Обычно используемые блоки перетащите два блока inport в модель.

  3. Соедините входные порты с линиями, ранее подключенными к блоку Signal Builder.

  4. Переименуйте входные порты. Назовите входной порт, соединенный с линией дросселя. Назовите входной порт, соединенный с линией тормоза BrakeTorque.

Сохраните модель как slexAutotransRootInportsExample1.slx или используйте пример slexAutotransRootInportsExample.slx.

Остальные шаги этого примера используют модель slexAutotransRootInportsExample.slx. Если вы сохранили модель с другим именем, используйте имя модели в шагах вперед.

Настройте входы без кабелей

Теперь, когда модель свободна от кабелей, настройте входы, которые вы уже сохраняли (См. «Сохранение данных обвязок в MAT-файлы»).

На вкладке Моделирование выберите Настройки модели. На панели «Импорт/Экспорт данных» нажмите кнопку «Подключить вход».

Сопоставить сигналы с корневым входным портом

Откроется инструмент Root Inport Mapper.

Пример использует этот инструмент, чтобы настроить входы модели из MAT-файла и сопоставить эти входы с портом входа на основе алгоритма отображения. Чтобы выбрать MAT-файл, содержащий входные данные, нажмите кнопку From MAT-File на панели инструментов Root Inport Mapper. Когда появится диалоговое окно ссылки, нажмите кнопку Browse. В браузере выберите сохраненный ранее MAT-файл.

Выберите режим отображения

Когда вы выбираете MAT-файл slexAutotransRootInportPassingManeuver.mat который содержит входные данные, определите корневой входной порт, которому нужно отправить входные данные. Simulink сопоставляет входные данные с входными портами на основе одного из пяти критериев:

  • Port Order - Отображает в том же порядке, в котором он появляется в файле, на соответствующий номер порта.

  • Имя блока - Сопоставляет по наименованию переменной с соответствующим корневым входным портом с соответствующим именем блока.

  • Имя сигнала - Сопоставляет по наименованию переменной с соответствующим корневым входным портом с соответствующим именем сигнала.

  • Путь блока - Сопоставляет параметром BlockPath с соответствующим корневым входным портом с соответствующим пути блока.

  • Custom - Карты с использованием функции MATLAB.

Ранее в этом примере вы сохраняли входные данные в переменные с тем же именем, что и сигналы обвязки Throttle и Brake, и добавляли входные порты с именами, совпадающими с переменными. Учитывая набор условий для входных данных и входных портов модели, лучшим выбором для критериев отображения является Имя блока. Используя этот критерий, Simulink пытается сопоставить имена переменных входных данных с именами входных портов. Чтобы выбрать эту опцию:

  1. Нажмите переключатель Блока Имени.

  2. Нажмите кнопку Options и выберите Update Model. Это проверяет отображение.

  3. Нажмите кнопку Map.

При компиляции данных Simulink оценивает входные порты по следующим критериям, чтобы определить проблемы совместимости. Статус этой совместимости отражается зелеными, оранжевыми или красными цветами таблицы. Предупреждения и ошибки помечены диагностическими сообщениями. Если опция Options > Update Model не выбрана, Root Inport Mapper определяет статус совместимости путем оценки этих параметров блоков и назначенных сигналов:

  • Тип данных - Double, single, enum,....

  • Комплексность - реальная или комплексная

  • Размерности - размерности сигнала по сравнению с размерностями порта

Завершение входных параметров модели

Проверьте результаты совместимости отображения. Щелкните Набор данных сценария 'PassingManeuver' в списке набора данных сценария. Чтобы подготовиться к симуляции, нажмите Mark for Simulation. Это действие применяет переменные отображения к текстовому полю Параметра конфигурации Данных Импорт/Экспорт > Внешний Вход. Если это текстовое поле имеет содержимое, оно перезаписывается.

Симуляция модели

С примененными изменениями теперь можно моделировать модель и просматривать результаты. Запустите модель. Чтобы просмотреть результаты симуляции, дважды щелкните на элементе Scope Block PlotResults.

Альтернативные рабочие процессы для загрузки данных отображения

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

Командная строка или скрипт

Чтобы загрузить данные и симулировать модель из командной строки MATLAB, используйте команды, подобные:

load('signaldata.mat');
simout = sim('model_name');

Чтобы автоматизировать проверку и загрузить различные группы сигналов, рассмотрите использование скрипта.

Следующий пример кода создает данные timeseries и моделирует модель после загрузки каждой группы сигналов. Оно:

  • Создает группы сигналов с именами переменных In1, In2 и In3 и сохраняет эти переменные в MAT-файлах.

  • Моделирует модель после загрузки каждой группы сигналов.

Примечание

Имена переменных должны совпадать с переменными данных импорта в параметре Configuration Parameters > Data Import/Export > Input .

% Create signal groups
fileName = 'testCase';
for k =1 :3
    
    % Create the timeseries data
    var1 = timeseries(rand(10,1));
    var2 = timeseries(rand(10,1));
    var3 = timeseries(rand(10,1));
    
    %create a dataset
    ds = Simulink.SimulationData.Dataset();
    ds = ds.addElement( var1, 'var1');
    ds = ds.addElement( var2, 'var2');
    ds = ds.addElement( var3, 'var3');
    
    % Save the data 
    save([fileName '_' num2str(k) '.mat' ],'ds');
end
clear all
 
% After mapping and saving the model loop over signal groups and simulate
% Set the filename to append testcase # to
fileName = 'testCase';
% Loop backwards to preallocate
for k=3:-1:1
   % Load the MAT-file.
   load([fileName '_' num2str(k) '.mat']);
   
   % Simulate the model
   simOut{k} = sim('model_name');
end

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

Когда вы удовлетворены данными и отображением, можно сконфигурировать модель, чтобы загрузить MAT-файл, содержащий группу сигналов, в рабочее пространство MATLAB. Вызовите load функция в PreLoadFcn коллбэк для модели.

  1. После сохранения MAT-файла на вкладке Modeling щелкните раскрывающийся список Model Settings и выберите Model Properties.

  2. В окне Свойства выберите вкладку Callbacks, а затем PreLoadFcn узел.

  3. Введите команду для загрузки MAT-файла, содержащего данные сигнала. Для примера:

    load d_signal_data.mat;
  4. Щелкните OK и сохраните модель.

Похожие примеры

Подробнее о