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

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

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

Откройте 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);

Сгенерируйте код

Сгенерируйте код для модели.

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 13.684s

В сгенерированном коде просмотрите комментарии, содержащие требования. Чтобы просмотреть все требования, кликните по связанному гиперссылками комментарию требования.

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте