Укажите настройку возможности соединения
Укажите свою настройку возможности соединения с MATLAB® или Simulink®.
config = rtw.connectivity.ConfigRegistry
возвращает указатель на объект rtw.connectivity.ConfigRegistry
.
Создать этот класс:
Для MATLAB используйте файл rtwTargetInfo.m
, который необходимо поместить в путь поиска файлов MATLAB. В файле rtwTargetInfo.m
вызов registerTargetInfo
указывает настройку возможности соединения.
Для Simulink используйте файл sl_customization.m
, который необходимо поместить в путь поиска файлов MATLAB. Когда Simulink запускается, он читает файл и указывает вашу настройку возможности соединения через вызов registerTargetInfo
в файле.
Через первые два свойства этого класса можно задать для настройки возможности соединения:
Уникальное имя.
Связанный класс реализации возможности соединения, который является подклассом rtw.connectivity.Config
.
Через остающиеся свойства можно задать:
Для MATLAB, код, который совместим с классом реализации возможности соединения.
Для Simulink, набора моделей, которые совместимы с классом реализации возможности соединения.
Сравнение объединения этих свойств против параметров конфигурации MATLAB Coder™ или параметров модели Simulink определяет совместимость. Например, с Simulink, совпадают ли SystemTargetFile
, TemplateMakefile
и свойства HardwareBoard
совместно с соответствующими параметрами модели.
rtwTargetInfo.m
Этот код является примером файл rtwTargetInfo.m
. Используйте синтаксис функций точно как показано.
function rtwTargetInfo(tr) % Register PIL connectivity config: mypil.ConnectivityConfig tr.registerTargetInfo(@loc_createConfig); % local function function config = loc_createConfig % Create object for connectivity configuration config = rtw.connectivity.ConfigRegistry; % Assign connectivity configuration name config.ConfigName = 'My PIL Example'; % Associate the connectivity configuration with the connectivity % API implementation config.ConfigClass = 'mypil.ConnectivityConfig'; % Specify toolchains for host-based PIL config.Toolchain = rtw.connectivity.Utils.getHostToolchainNames; % Through the HardwareBoard and TargetHWDeviceType properties, % define compatible code for the target connectivity configuration config.HardwareBoard = {}; config.TargetHWDeviceType = {'Generic->32-bit x86 compatible' ... 'Generic->Custom' ... 'Intel->x86-64 (Windows64)', ... 'Intel->x86-64 (Mac OS X)', ... 'Intel->x86-64 (Linux 64)'};
Функция выполняет следующие шаги:
Создает экземпляр класса rtw.connectivity.ConfigRegistry
. Например:
config = rtw.connectivity.ConfigRegistry;
Присваивает имя настройки возможности соединения к свойству ConfigName
объекта. Например:
config.ConfigName = 'My PIL Example';
Сопоставляет настройку возможности соединения с реализацией API возможности соединения, созданной на шаге 1. Например:
config.ConfigClass = 'mypil.ConnectivityConfig';
Задает совместимый код для этой целевой настройки возможности соединения, путем установки свойств HardwareBoard
и TargetHWDeviceType
объекта. Например:
config.HardwareBoard = {}; % Any hardware board config.TargetHWDeviceType = {'Generic->32-bit x86 compatible' ... 'Generic->Custom' ... 'Intel->x86-64 (Windows64)', ... 'Intel->x86-64 (Mac OS X)', ... 'Intel->x86-64 (Linux 64)'};
sl_customization.m
Этот код является примером файла sl_customization.m
. Используйте файловую структуру sl_customization.m
и вызовите функцию registerTargetInfo
точно как показано.
function sl_customization(cm) % SL_CUSTOMIZATION for PIL connectivity config:... % mypil.ConnectivityConfig % Copyright 2008 The MathWorks, Inc. cm.registerTargetInfo(@loc_createConfig); % local function function config = loc_createConfig config = rtw.connectivity.ConfigRegistry; config.ConfigName = 'My PIL Example'; config.ConfigClass = 'mypil.ConnectivityConfig'; % Match only ert.tlc config.SystemTargetFile = {'ert.tlc'}; % If you use a toolchain to build your generated code, % specify the config.Toolchain property to match your % Simulink model toolchain setting. Otherwise, for a % non-toolchain approach, match the TMF config.TemplateMakefile = {'ert_default_tmf' ... 'ert_unix.tmf', ... 'ert_vcx64.tmf', ... 'ert_lcc.tmf'}; % Match hardware boards and hardware device types config.HardwareBoard = {}; % Any hardware board config.TargetHWDeviceType = {'Generic->32-bit x86 compatible' ... 'Generic->Custom' ... 'Intel->x86-64 (Windows64)', ... 'Intel->x86-64 (Mac OS X)', ... 'Intel->x86-64 (Linux 64)'};
Необходимо сконфигурировать файл, чтобы выполнить следующие шаги, когда Simulink запускается:
Создайте экземпляр класса rtw.connectivity.ConfigRegistry
. Например:
config = rtw.connectivity.ConfigRegistry;
Присвойте имя настройки возможности соединения к свойству ConfigName
объекта. Например:
config.ConfigName = 'My PIL Example';
Сопоставьте настройку возможности соединения с реализацией API возможности соединения (созданный на шаге 1). Например:
config.ConfigClass = 'mypil.ConnectivityConfig';
Задайте совместимые модели для этой целевой настройки возможности соединения путем установки этих свойств свойств объекта:
SystemTargetFile
Toolchain
или TemplateMakefile
HardwareBoard
TargetHWDeviceType
Например:
config.SystemTargetFile = {'ert.tlc'}; config.TemplateMakefile = {'ert_default_tmf' ... 'ert_unix.tmf', ... 'ert_vcx64.tmf', ... 'ert_lcc.tmf'}; config.HardwareBoard = {}; config.TargetHWDeviceType = {'Generic->32-bit x86 compatible' ... 'Generic->Custom' ... 'Intel->x86-64 (Windows64)', ... 'Intel->x86-64 (Mac OS X)', ... 'Intel->x86-64 (Linux 64)'};
rtw.connectivity.ConfigRegistry
в возможности соединения PILДля примера, который показывает, как использовать этот объект в подготовке возможности соединения PIL, см.: