exponenta event banner

Связать сгенерированный код с требованиями

Связать сгенерированный код с требованиями к элементам модели. С помощью параметров конфигурации можно указать, следует ли включать описания требований в качестве комментариев в созданный код.

Открыть модель

Откройте окно rtwdemo_requirements модель. Модель содержит элементы Simulink ® и Stateflow ® с соответствующими требованиями.

model='rtwdemo_requirements';
open_system(model);

Просмотреть требования

Требования, связанные с моделью, можно просмотреть с помощью редактора требований. В редакторе Simulink откройте приложение Диспетчер требований. На вкладке Требования щелкните Редактор требований. Требования, относящиеся к объектам модели, можно просмотреть с помощью контекстного меню объекта. Щелкните правой кнопкой мыши элемент и выберите "Требования" > "Открыть диалоговое окно" Исходящие связи ". Для просмотра требований используйте следующие команды:

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);

Связанные темы