Соедините сгенерированный код с требованиями к элементам модели. Используя параметры конфигурации, можно задать, включать ли описание требований в качестве комментариев в сгенерированный код.
Откройте rtwdemo_requirements
модель. Модель содержит элементы Simulink ® и Stateflow ® со связанными требованиями.
model='rtwdemo_requirements';
open_system(model);
Просмотреть требования, связанные с моделью, можно с помощью редактора требований. В редакторе Simulink откройте приложение Requirements Manager на вкладке Requirements, нажмите Requirements Editor. Можно просмотреть требования, специфичные для объектов модели, с помощью контекстного меню объекта. Щелкните правой кнопкой мыши элемент и выберите Requirements > Open Outgoing Links диалоговое окно. Чтобы просмотреть требования, используйте следующие команды:
1. Просмотр требований к DiscretePulseGenerator
блокируйте, щелкните правой кнопкой мыши по DiscretePulseGenerator
Блоком и выберите «Требования» > «Открыть исходящие ссылки», чтобы открыть Редактор исходящих ссылок. Используя Редактор исходящих ссылок, можно создавать, редактировать и удалять ссылки трассируемости требований.
clockblock='rtwdemo_requirements/clock'; clockblockh=get_param(clockblock,'handle'); rmi('edit',clockblockh);
2. Чтобы просмотреть требования, откройте блок Signal Builder, дважды щелкнув по нему мышью.
sigbblock='rtwdemo_requirements/Signal Builder';
open_system(sigbblock)
3. Чтобы просмотреть требования к состоянию Stateflow ®, откройте Редактор исходящих ссылок.
state=find(sfroot,'-isa','Stateflow.State','-and','Tag','req_state'); rmi('edit',state.id);
4. Чтобы просмотреть требования к переходу Stateflow, откройте Редактор исходящих ссылок.
trans=find(sfroot,'-isa','Stateflow.Transition','-and','Tag','req_trans'); rmi('edit',trans.id);
5. Чтобы просмотреть требования к функции Stateflow, откройте Редактор исходящих ссылок.
func=find(sfroot,'-isa','Stateflow.Function','-and','Tag','req_function'); rmi('edit',func.id);
Закройте открытые окна.
close_system(sigbblock);
Откройте диалоговое окно Параметры конфигурации Генерация кода > панель Комментарии. Просмотрите настройки параметров конфигурации.
model = bdroot; configSet = getActiveConfigSet(model); openDialog(configSet);
Сгенерируйте код для модели.
slbuild('rtwdemo_requirements')
### Starting build procedure for: rtwdemo_requirements ### Successful completion of build procedure for: rtwdemo_requirements Build Summary Top model targets built: Model Action Rebuild Reason ===================================================================================================== rtwdemo_requirements Code generated and compiled Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 10.54s
В сгенерированном коде просмотрите комментарии, содержащие требования. Чтобы просмотреть все требования, щелкните гиперссылку комментария требования.
rtwdemodbtype('rtwdemo_requirements_ert_rtw/rtwdemo_requirements.c',... '/* Function for Chart:','return result;',1,0);
/* Function for Chart: '<Root>/rebound_elimination' */ static real_T rebound_fcn(real_T prev_in, real_T prev_out, real_T curr_in) { real_T result; /* Graphical Function 'rebound_fcn': '<S2>:2': * 1. Result Computation */ /* Transition: '<S2>:4' */ if (prev_in == curr_in) { /* Transition: '<S2>:5' */ result = curr_in; } else { /* Transition: '<S2>:6' */ /* Transition: '<S2>:7' */ result = prev_out; }
rtwdemoclean;
close_system('rtwdemo_requirements',0);