Настройка процесса сборки с помощью sl_customization.m

Simulink® файл индивидуальной настройки sl_customization.m - механизм, позволяющий использовать MATLAB® для настройки интерфейса процесса сборки. Программа Simulink считывает sl_customization.m файл, если он присутствует в пути MATLAB, когда он запускается и индивидуальные настройки, указанные в файле, применяются к сеансу Simulink. Для получения дополнительной информации о sl_customization.m файл индивидуальной настройки, см. Раздел «Регистрация индивидуальных настроек».

Файл sl_customization.m

The sl_customization.m файл может использоваться для регистрации специфичных для установки функций hook, которые будут вызываться в процессе сборки. Функции крюка, через которые вы регистрируете sl_customization.m комплемент System Target File (STF) hooks (описан в разделе Настройка процесса сборки с помощью STF_make_rtw_hook File) и post-code generation commands (описан в разделе Настройка обработки сборки после генерации кода).

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

Зарегистрируйте функции технологического крючка сборки с помощью sl_customization.m

Чтобы зарегистрировать функции зацепления уровня установки, которые вызываются в процессе сборки, вы создаете функцию MATLAB, называемую sl_customization.m и включить его в путь MATLAB установки Simulink, которую необходимо настроить. The sl_customization функция принимает один аргумент: указатель на объект диспетчера индивидуальных настроек. Для примера,

function sl_customization(cm)

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

hObj = cm.RTWBuildCustomizer;

Затем активируются методы для регистрации индивидуальных настроек. Объект менеджера индивидуальной настройки включает следующий метод регистрации индивидуальных настроек крюка процесса сборки:

  • addUserHook(hObj, hookType, hook)

    Регистрирует скрипт или функцию hook MATLAB, заданную hook для стадии процесса сборки, представленной hookType. Допустимые значения для hookType являются 'entry', 'before_tlc', 'after_tlc', 'before_make', 'after_make', и 'exit'.

Используйте этот метод для регистрации специфичных для установки функций крючка в вашем образце sl_customization функция.

Программа Simulink считывает sl_customization.m файл, когда он запускается. Если вы впоследствии измените файл, необходимо перезапустить сеанс Simulink или ввести следующую команду в Командном окне, чтобы включить изменения:

sl_refresh_customizations

Переменные, доступные для функций sl_customization.m Hook

Следующие переменные доступны для sl_customization.m функции hook для использования:

  • modelName - имя модели Simulink (действительно для всех этапов)

  • dependencyObject - Объект, содержащий зависимости сгенерированного кода (действителен только для 'after_make' этап)

Скрипт hook может непосредственно получить доступ к допустимым переменным. Функция hook может передать допустимые переменные в качестве аргументов в функцию. Для примера:

hObj.addUserHook('after_make', 'afterMakeFunction(modelName,dependencyObject);');

Пример индивидуальной настройки процесса сборки с sl_customization.m

The sl_customization.m файл, показанный в примере, sl_customization.m для индивидуальных настроек процесса сборки, использует addUserHook метод, чтобы задать специфичные для установки соединительные крюки для процесса сборки, которые будут вызываться в 'entry' и 'after_tlc' этапы процесса сборки. Исходный код функции hook см. в примерах CustomRTWEntryHook.m и CustomRTWPostProcessHook.m.

Пример 1. sl_customization.m для индивидуальных настроек процесса сборки
function sl_customization(cm)
% Register user customizations

% Get default (factory) customizations
hObj = cm.RTWBuildCustomizer;

% Register build process hooks
hObj.addUserHook('entry', 'CustomRTWEntryHook(modelName);');
hObj.addUserHook('after_tlc', 'CustomRTWPostProcessHook(modelName);');

end
Пример 2. CustomRTWEntryHook.m
function [str, status] = CustomRTWEntryHook(modelName)
str =sprintf('Custom entry hook for model ''%s.''',modelName);
disp(str)
status =1;
Пример 3. CustomRTWPostProcessHook.m
function [str, status] = CustomRTWPostProcessHook(modelName)
str =sprintf('Custom post process hook for model ''%s.''',modelName);
disp(str)
status =1;

Если в путь MATLAB установки Simulink, который необходимо настроить, включены три вышеуказанных файла, то закодированные сообщения о функции hook отображаются в отображаемом выходе для построений. Для примера, если вы открываете модель на основе ERT rtwdemo_udt, откройте панель Code Generation диалогового окна Параметров конфигурации и нажмите Ctrl+B, чтобы инициировать сборку, отображаются следующие сообщения:

>> rtwdemo_udt

### Starting build procedure for model: rtwdemo_udt
Custom entry hook for model 'rtwdemo_udt.'
Custom post process hook for model 'rtwdemo_udt.'
### Successful completion of build procedure for model: rtwdemo_udt
>> 

Похожие темы