Можно создать пользовательские режимы карты в дополнение к режимам карты, которые предоставляет инструмент «Отображение корневого ввода» (см. раздел «Выбор режима карты»).
Дополнительные сведения о других шагах, связанных с использованием инструмента сопоставления корневого ввода, см. в разделе Рабочий процесс импорта и сопоставления.
Если не требуется использовать режимы сопоставления в инструменте «Сопоставление корневого ввода», создайте пользовательскую функцию файла сопоставления. Например, рекомендуется создать пользовательскую функцию файла сопоставления, если:
Данные сигнала содержат общий префикс, отсутствующий в модели.
Требуется явное отображение сигнала.
Когда данные содержат имя сигнала, которое не совпадает с одним из имен блоков, функция пользовательского отображения полезна для отображения имен блоков.
Примеры см. в этих файлах в папке (открыто).matlabroot/help/toolbox/simulink/examples
| Файл | Описание |
|---|---|
Пользовательская функция файла сопоставления, которая игнорирует префикс имени сигнала при импорте сигналов | |
MAT-файл импортируемых данных сигнала | |
Файл модели, в который можно импортировать и сопоставлять данные |
Кроме того, см. раздел Использование режимов сопоставления с пользовательскими внешними входами.
Чтобы создать пользовательскую функцию файла сопоставления:
Создайте функцию MATLAB ® со следующими входными параметрами:
Имя модели
Имена сигналов указаны как массив ячеек символьных векторов
Сигналы, указанные как матрица ячеек данных сигнала
В функции вызовите для создания переменной, содержащей объект сопоставления (пример см. в разделе getRootInportMapBlockNameIgnorePrefixMap.m).
Сохраните и закройте файл функции MATLAB.
Добавьте путь для новой функции в путь MATLAB.
Для использования пользовательской функции файла сопоставления:
Откройте модель, в которую требуется импортировать данные (например, ex_BlockNameIgnorePrefixExample).
Откройте диалоговое окно Параметры конфигурации (Configuration Parameters) для модели и выберите панель Импорт/экспорт данных (Data Import/Export).
В разделе Загрузить из рабочего пространства (Load from workspace) щелкните Подключить ввод (Connect Input).
Импортируйте сигнал (например, BlockNameIgnorePrefixData.mat).
В разделе MAP TO MODEL панели инструментов нажмите кнопку «Пользовательский».
В текстовом поле Custom выберите файл функции MATLAB (например, BlockNameIgnorePrefixMap.m) с помощью браузера.
По умолчанию это текстовое поле содержит slexcustomMappingMyCustomMap, которая является пользовательской функцией для присоединения входных данных к внешним входам через пользовательские сопоставления входных данных.
Совет
Средство сопоставления корневых входов анализирует пользовательский код. Синтаксический анализ переупорядочивает выходные данные в алфавитном порядке и проверяет согласованность типов данных.
Щелкните Опции (Options) и установите флажок Компиляция (Compile).
Щелкните Карта (Map).
Модель будет скомпилирована, и инструмент «Сопоставление корневого ввода» будет обновлен.
Сведения о результатах сопоставления см. в разделе Понимание результатов сопоставления.
Сохраните и закройте модель.
После сохранения определения сопоставления для модели можно автоматизировать загрузку данных. При следующей загрузке входных данных той же группы сигналов в рабочее пространство модель использует определение сопоставления во время моделирования. Дополнительные сведения см. в разделе Альтернативные рабочие процессы для загрузки данных сопоставления.
Если пользовательский режим сопоставления аналогичен режиму сопоставления Simulink ®, используйте getSlRootInportMap функция в пользовательской функции файла сопоставления для выполнения сопоставления данных.
Пример пользовательской функции сопоставления, использующей эту функцию, см. в разделе Использование режимов сопоставления с пользовательскими внешними входами.
Используйте функция для предоставления набора входных переменных:getInputString
командаsim
Список входных переменных, которые можно вставить в меню Параметры конфигурации > Импорт/экспорт данных > Параметр ввода