Соедините сгенерированный код с требованиями элемента модели. Используя параметры конфигурации, можно задать, включать ли описания требования как комментарии в сгенерированном коде.
Откройте rtwdemo_requirements
модель. Модель содержит Simulink® и элементы Stateflow® со связанными требованиями.
model='rtwdemo_requirements';
open_system(model);
Можно просмотреть требования, соединенные с моделью при помощи Редактора Требований. В Редакторе Simulink откройте менеджера по Требованиям приложение. На вкладке Requirements нажмите Requirements Editor. Можно просмотреть требования, характерные для объектов модели при помощи меню контекста объекта. Щелкните правой кнопкой по элементу и выберите Requirements> диалоговое окно Open Outgoing Links. Чтобы просмотреть требования, используйте эти команды:
1. Просмотреть требования для DiscretePulseGenerator
блокируйте, щелкните правой кнопкой по DiscretePulseGenerator
блокируйте и выберите Requirements> диалоговое окно Open Outgoing Links, чтобы открыть Исходящий Редактор Ссылок. Используя Исходящий Редактор Ссылок, можно создать, отредактировать и удалить ссылки трассируемости требований.
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);
Откройте Генерацию кода диалогового окна Configuration Parameters> панель Комментариев. Просмотрите настройки параметра конфигурации.
model = bdroot; configSet = getActiveConfigSet(model); openDialog(configSet);
Сгенерируйте код для модели.
rtwbuild('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 18.63s
В сгенерированном коде просмотрите комментарии, содержащие требования. Чтобы просмотреть все требования, кликните по связанному гиперссылками комментарию требования.
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);