Требования управления, не изменяя файлы модели Simulink

Можно хранить данные о ссылке для моделей Simulink, храня данные о ссылке в модели Simulink .slx файл или хранящие ссылки во внешнем .slmx файл.

Используйте устройство хранения данных внешней ссылки, чтобы управлять изменениями в файле модели отдельно от изменений до ссылок требований. Кроме того, использование устройства хранения данных внешней ссылки позволяет вам управлять несколькими наборами ссылок требований для той же модели путем загрузки различного .slmx файлы.

В этом примере показано, как работать с внешне сохраненными ссылками RMI. Нажмите Open Example, чтобы создать рабочую папку файлов в качестве примера. Запустите следующие команды:

rmimap.map('slvnvdemo_powerwindowController', 'clear');
Nothing to clear for .../slrequirements-ex04732634/slvnvdemo_powerwindowController.slx
open_system('slvnvdemo_powerwindowController');
rmipref('UnsecureHttpRequests',true);

Настройте менеджера по требованиям, чтобы работать со ссылками

  1. Во вкладке Apps откройте менеджера по Требованиям.

  2. Во вкладке Requirements обеспечьте Размещение>, Браузер Требований выбран.

  3. В Браузере Требований, в Представлении выпадающее меню, выбирают Links.

  4. В этом примере вы будете работать исключительно во вкладке Requirements, и любые ссылки на кнопки панели инструментов находятся в этой вкладке.

Этот пример использует Представление ссылок в Браузере Требований. Установите Представление на Ссылки.

Сконфигурируйте RMI, чтобы сохранить ссылки внешне

  1. Во вкладке Requirements выберите Link Settings> Default Link Storage. Это открывает диалоговое окно Requirements Settings.

  2. Выберите Store внешне (в отдельном *.slmx файле).

rmipref('StoreDataExternally', true);

Имя файла по умолчанию для того, чтобы сохранить данные о ссылках требований является ModelName.slmx. Если файл не присутствует в папке модели, модель принята, чтобы не иметь никаких ссылок на требования, когда можно проверить путем выделения модели путем нажатия кнопки Highlight Links или путем оценки следующего кода: rmi('highlightModel', 'slvnvdemo_powerwindowController')

Создание и управление ссылки RMI

Создайте одну новую ссылку от модели до документа.

  1. Откройте PowerWindowSpecification.docx файл в текущем каталоге или использование open('PowerWindowSpecification.docx').

  2. Выбор вход пассажира подзаголовка состоит из вектора с тремя элементами под разделом High Level Discrete Event Control Specification.

  3. Найдите блок Simulink с именем Mux4.

rmidemo_callback('locate','slvnvdemo_powerwindowController/Mux4');

Щелкните правой кнопкой мыши по Mux4 и выберите Requirements> Link to Selection in Word.

Можно также ввести следующее, чтобы создать ссылку:

testReqLink = rmi('createEmpty'); 
testReqLink.description = 'testReqLink';
testReqLink.doc = 'PowerWindowSpecification.docx';
testReqLink.id = '?passenger input consists of a vector with three elements';

После оценки вышеупомянутого кода используйте: rmi('set', 'slvnvdemo_powerwindowController/Mux4', testReqLink) создать ссылку.

Если модель все еще подсвечена, Mux4 блокируйте подсветки, чтобы указать на данные о связанных требованиях. Новая информация о ссылке хранится отдельно из модели и сохраняет, когда модель сохранена.

Сохранение требований соединяет данные с внешними файлами

При работе с моделью, которая хранит данные RMI внешне, изменения в ссылках требования сохранены когда вы:

  • Сохраните или Сохраните как модель Simulink, даже если строка заголовка не указывает на несохраненные изменения.

  • Закройте модель. Вам предложат сохранить изменения ссылок если таковые имеются.

  • Используйте Настройки Ссылки>, Сохраняют Ссылки Как...

Нажмите Link Settings> Save Links As... и сохраните их с именем slvnvdemo_powerwindowController.slmx.

Закройте модель вручную или оцените следующий код: close_system('slvnvdemo_powerwindowController',1)

Вам предложат о ссылке, которую вы только создали. Можно сохранить файл ссылок с ModelName.slmx по умолчанию назовите в каталоге модели или выберите различное имя файла и/или местоположение.

Загрузка ссылок требований из внешних файлов

Когда вы откроете модель, RMI попытается загрузить данные о ссылках требований из недавно используемого местоположения для этой модели. Можно также выбрать Load Links, чтобы выбрать различный .slmx (или более старый .req) файл. Это позволяет вам использовать несколько наборов ссылок с той же моделью. Например, можно использовать ссылки на описания конструктивного изменения, которые отличаются от ссылок до технических требований первоначального проекта.

Вновь откройте модель и выберите Load Links, чтобы открыть файловый браузер и указать на slvnvdemo_powerwindowRequirements.slmx в рабочей директории, или оценивают следующий код.

open_system('slvnvdemo_powerwindowController');
otherReqFile = fullfile('slvnvdemo_powerwindowRequirements.slmx');
rmimap.map('slvnvdemo_powerwindowController', otherReqFile);
Mapping .../slrequirements-ex04732634/slvnvdemo_powerwindowController.slx to slvnvdemo_powerwindowRequirements.slmx

Нажмите Highlight Links в панели инструментов, чтобы подтвердить, что альтернативный набор ссылок теперь сопоставлен с моделью, или оцените следующий код.

rmi('highlightModel', 'slvnvdemo_powerwindowController');

Можно переместиться и изменить эти ссылки таким же образом, вы работали бы со встроенными ссылками (в модели).

Движущиеся ссылки RMI с внутреннего на внешнее устройство хранения данных

Модель с существующими встроенными ссылками требований может быть преобразована во внешнее устройство хранения данных. Соединитесь данные больше не будут храниться в .slx файле, но в новом .slmx файл. Испытайте это со следующими шагами.

Откройте другую модель, которая внутренне хранила данные RMI путем оценки следующего кода.

open_system('slvnvdemo_fuelsys_officereq');

Выберите Link Settings> Save Links As Set File..., чтобы открыть файловый браузер. Выберите имя файла для нового внешнего .slmx файл и нажимает ОК. Модель пересохранена без встроенных ссылок и нового .slmx файл создается. В качестве альтернативы можно оценить следующий код.

rmidata.saveAs('slvnvdemo_fuelsys_officereq','slvnvdemo_fuelsys_officereq.slmx');

Ваша способность использовать и управлять ссылками в этой модели теперь зависит от внешнего файла.

Нажмите Highlight Links, чтобы подтвердить, что данные о ссылке доступны, или оцените следующий код.

rmi('highlightModel', 'slvnvdemo_fuelsys_officereq');

Теперь закройте модель вручную и удалите внешний .slmx файл, или оценивают следующий код.

close_system('slvnvdemo_fuelsys_officereq',1);

Используйте следующий код, чтобы удалить файл: rmidemo_callback('remove','slvnvdemo_fuelsys_officereq.slmx')

Вручную вновь откройте модель или оцените следующий код.

open_system('slvnvdemo_fuelsys_officereq');

Нажмите Highlight Links или оцените следующее, чтобы подсветить ссылки: rmi('highlightModel', 'slvnvdemo_fuelsys_officereq')

Ничто не подсвечено, потому что данные более не доступны. Воссоздайте slvnvdemo_fuelsys_officereq.slmx файл и карта это к slvndemo_fuelsys_officereq Модель Simulink путем оценки следующего кода.

rmimap.map('slvnvdemo_fuelsys_officereq','backup_reqs.slmx');
Mapping .../slrequirements-ex04732634/slvnvdemo_fuelsys_officereq.slx to backup_reqs.slmx
rmidata.saveAs('slvnvdemo_fuelsys_officereq','slvnvdemo_fuelsys_officereq.slmx');

Точки, чтобы иметь в виду, прежде чем вы переместите внутренне сохраненные ссылки на внешний файл:

  • Необходимо будет нести дополнительный .slmx файл наряду с файлом модели.

  • Имя файла не по умолчанию и ассоциации местоположения хранятся в пользовательских настройках. Если вы перемещаете или переименовываете .slmx файл вне MATLAB, необходимо будет вручную указать RMI на новое местоположение, когда модель вновь открыта.

  • Когда один пользователь сконфигурировал местоположение не по умолчанию или имя для .slmx файл сопоставил с моделью, другие пользователи RMI должны будут вручную выбрать ссылки Load, когда они откроют модель. Заданное местоположение сохранится в настройках каждого пользователя и не должно изменяться, если файлы не будут перемещены или переименованы снова.

Движущиеся ссылки RMI с внешнего на внутреннюю память

Чтобы встроить данные RMI с моделью Simulink, так, чтобы вся информация была в одном месте и вы не должны отслеживать дополнительные файлы, выбрать Link Settings> Save Links in Model File. Внешний .slmx файл все еще существует, но он не читается, когда вы вновь открыли модель, которая теперь встроила данные RMI. Можно испытать это с slvnvdemo_fuelsys_officereq.slx модель от предыдущего раздела.

В качестве альтернативы оцените следующий код.

rmipref('StoreDataExternally', false);
save_system('slvnvdemo_fuelsys_officereq');

Точки, чтобы иметь в виду, прежде чем вы встроите данные RMI с файлом модели:

  • Каждое изменение в ссылках RMI изменит файл модели.

  • Внешний .slmx файлы игнорируются когда .slx файл содержит данные о ссылках трассируемости.

Очистка

Следующие шаги очищают рабочую область и близко открывают модели Simulink.

slreq.clear;
bdclose 'all';