Можно хранить данные ссылки для моделей Simulink путем хранения данных ссылки в модели Simulink .slx
файл или хранение ссылок во внешней .slmx
файл.
Используйте хранилище внешних ссылок для управления изменениями в файле модели отдельно от изменений в ссылках требований. Кроме того, использование внешнего хранилища ссылок позволяет вам управлять несколькими наборами ссылок требований для одной и той же модели, загружая различные .slmx
файлы.
Этот пример показов, как работать с внешне сохраненными ссылками RMI. Нажмите Открыть пример, чтобы создать рабочую папку из файлов примера. Выполните следующие команды:
rmimap.map('slvnvdemo_powerwindowController', 'clear');
Nothing to clear for .../slrequirements-ex04732634/slvnvdemo_powerwindowController.slx
open_system('slvnvdemo_powerwindowController'); rmipref('UnsecureHttpRequests',true);
На вкладке Приложения откройте Диспетчер требований.
На вкладке «Требования» убедитесь, что выбрано «Размещение» > «Браузер требований».
В браузере требований в раскрывающемся меню View выберите Ссылки.
В этом примере вы работаете исключительно на вкладке Requirements, и все ссылки на кнопки панели инструментов находятся на этой вкладке.
Этот пример использует представление ссылки. В браузере требований установите для параметра View значение Links
.
На вкладке Requirements выберите Link Settings > Default Link Storage. Откроется диалоговое окно «Параметры требований».
Выберите Store externally (в отдельном файле * .slmx).
rmipref('StoreDataExternally', true);
Имя файла по умолчанию для сохранения требований связывает данные - ModelName .slmx
. Файл ссылок должен быть в той же папке, что и модель, чтобы ссылки разрешались.
Создайте ссылку из модели в документ.
Откройте PowerWindowSpecification.docx
файл в текущей директории .
Выберите вход пассажира подзаголовка состоит из вектора с тремя элементами в разделе High Level Discrete Event Control Specification.
Найдите блок 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
блочные подсветки для указания связанных данных требований. Информация о новой ссылке хранится отдельно от модели и экономит при сохранении модели.
При внешнем сохранении данных требований можно сохранить изменения требований следующим образом:
Щелкните Сохранить (Save) или Сохранить как модель Simulink, даже если модель не имеет несохраненных изменений.
Закрытие модели. Появится запрос на сохранение изменений ссылок.
Щелкните Параметры ссылки > Сохранить ссылки как.
Щелкните Параметры ссылки > Сохранить ссылки как и сохранить их с именем slvnvdemo_powerwindowController.slmx.
Закройте модель. close_system('slvnvdemo_powerwindowController',1)
Сохраните файл ссылок с именем ModelName по умолчанию .slmx
имя в папке модели или выберите другое имя файла и/или местоположение.
Когда вы открываете модель, RMI попытается загрузить требования ссылок данных из недавно использованного местоположения для этой модели. Можно также выбрать Загрузить ссылки, чтобы выбрать другое .slmx
или .req
файл. Таким образом, можно использовать несколько наборов ссылок с одной и той же моделью. Для примера можно использовать ссылки для описания изменений в проекте, которые отличаются от ссылок на исходные спецификации проекта.
Снова откройте модель и выберите Загрузить ссылки, чтобы открыть браузер файлов и указать на 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');
Вы можете перемещаться и изменять эти ссылки так же, как вы работали бы со встроенными (в модели) ссылками.
Модель с существующими ссылками требований может быть преобразована во внешнее хранилище. Ссылки данные будут храниться не в файле .slx, а в новом .slmx
файл. Попробуйте это с помощью следующих шагов.
Откройте другую модель, которая имеет внутренние данные RMI путем оценки следующего кода.
open_system('slvnvdemo_fuelsys_officereq');
Выберите меню «Параметры ссылки» > «Сохранить ссылки как файл набора ссылок», чтобы открыть браузер файлов. Выберите имя файла для нового внешнего .slmx
файл и нажмите OK. Модель повторяется без встроенных ссылок и нового .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 должны будут вручную выбрать Загрузить ссылки, когда они откроют модель. Указанное расположение будет сохранено в настройках каждого пользователя и не должно изменяться, если файлы не перемещаются или не переименовываются снова.
Чтобы встраивать данные 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';