Получите навигацию URL для источника ссылки или места назначения, требования, теста или элемента модели Simulink
возвращает навигацию URL в источник ссылки или место назначения, требование, тест или элемент модели Simulink®navURL = slreq.getExternalURL(myDesignItem), указанный myDesignItem.
Примечание
Встроенный веб-сервер MATLAB® должен работать на порте HTTP 31415, чтобы создать URL навигации. Если ваш сеанс работы с MATLAB не сконфигурирован для этого Номера порта HTTP, ошибка происходит, когда вы пытаетесь создать ссылку. Используйте connector.port проверять номер настроенного порта. Если connector.port возвращает 0, используйте rmipref('UnsecureHttpRequests',true) включить встроенный сервер HTTP. Если connector.port возвращает номер, который не является 31415, закройте все экземпляры MATLAB и вновь откройте один экземпляр.
[ также возвращает внешнюю метку навигации, navURL,navLabel] = slreq.getExternalURL(myDesignItem)navLabel.
Откройте Определение Требований для проекта Модели Круиз-контроля. Загрузите crs_req требование установлено.
slreqCCProjectStart;
slreq.load('crs_req');Найдите crs_req ссылка установлена. Найдите ссылку с описанием #9: Enable Switch Detection.
myLinkSet = slreq.find('Type','LinkSet','Name','crs_req'); myLink = find(myLinkSet,'Description','#9: Enable Switch Detection')
myLink =
Link with properties:
Type: 'Derive'
Description: '#9: Enable Switch Detection'
Keywords: {}
Rationale: ''
CreatedOn: 20-May-2017 13:14:10
CreatedBy: 'itoy'
ModifiedOn: 02-Feb-2018 14:28:04
ModifiedBy: 'itoy'
Revision: 4
SID: 1
Comments: [0×0 struct]
Получите навигацию URL к источнику ссылки.
navURL1 = slreq.getExternalURL(myLink.source)
navURL1 = 'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req.slreqx%22,%2210%22,%22%22]'
Получите навигацию URL месту назначения ссылки.
navURL2 = slreq.getExternalURL(myLink.destination)
navURL2 = 'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req_func_spec.slreqx%22,%229%22,%22%22]'
Очистка
Очистите загруженные наборы требования и наборы ссылки.
slreq.clear;
Откройте Определение Требований для проекта Модели Круиз-контроля. Загрузите crs_req_func_spec набор требования и открытый это в Редакторе Требований.
slreqCCProjectStart;
rs = slreq.open('crs_req_func_spec');В редакторе требований, в crs_req_func_spec набор требования, выберите требование с ID #1. Получите объект API для требования с помощью slreq.getCurrentObject. Затем получите внешнюю навигацию URL для требования и метка для URL.
req = slreq.getCurrentObject
req =
Requirement with properties:
Type: 'Functional'
Id: '#1'
Summary: 'Driver Switch Request Handling'
Description: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">↵<html><head><meta name="qrichtext" content="1" /><style type="text/css">↵p, li { white-space: pre-wrap; }↵</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:400; font-style:normal;">↵<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Handle switch operations by the driver to determine the command for the cruise control system to operate upon.</p>↵<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"><br /></p></body></html>'
Keywords: {}
Rationale: ''
CreatedOn: 27-Feb-2017 10:15:38
CreatedBy: 'itoy'
ModifiedBy: 'asriram'
SID: 1
FileRevision: 46
ModifiedOn: 02-Aug-2017 13:49:40
Dirty: 0
Comments: [0×0 struct]
Index: '1'
[navURL1,navLabel1] = slreq.getExternalURL(req)
navURL1 = 'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req_func_spec.slreqx%22,%221%22,%22%22]'
navLabel1 = 'Driver Switch Request Handling'
Найдите выравнивание в наборе требования с ID #72. Получите внешнюю навигацию URL URL для выравнивания и метка для URL.
jt = find(rs,'Type','Justification','ID','#72')
jt =
Justification with properties:
Id: '#72'
Summary: 'Non-functional requirement'
Description: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">↵<html><head><meta name="qrichtext" content="1" /><style type="text/css">↵p, li { white-space: pre-wrap; }↵</style></head><body style=" font-family:'Helvetica'; font-size:8pt; font-weight:400; font-style:normal;">↵<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">A non-functional requirement that cannot be associated with a model element.</span></p></body></html>'
Keywords: {}
Rationale: ''
CreatedOn: 27-Feb-2017 10:34:22
CreatedBy: 'itoy'
ModifiedBy: 'asriram'
SID: 72
FileRevision: 1
ModifiedOn: 03-Aug-2017 17:14:44
Dirty: 0
Comments: [0×0 struct]
Index: '5.1'
[navURL2,navLabel2] = slreq.getExternalURL(jt)
navURL2 = 'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req_func_spec.slreqx%22,%2272%22,%22%22]'
navLabel2 = 'Non-functional requirement'
Найдите все загруженные требования, на которые ссылаются. Получите внешнюю навигацию URL для третьего требования, на которое ссылаются, и метка для URL.
refs = slreq.find('Type','Reference'); ref = refs(3)
ref =
Reference with properties:
Id: 'System overview'
CustomId: 'System overview'
Artifact: 'crs_req.docx'
ArtifactId: '?System overview'
Domain: 'linktype_rmi_word'
UpdatedOn: 02-Feb-2018 13:23:13
CreatedOn: NaT
CreatedBy: ''
ModifiedBy: ''
IsLocked: 1
Summary: 'System overview'
Description: '<div class=WordSection1>↵↵<div style='border:none;border-bottom:solid #595959 1.0pt;padding:0in 0in 1.0pt 0in'>↵↵<h1 style='margin-left:0in;text-indent:0in'>System overview</h1>↵↵</div>↵↵</div>'
Rationale: ''
Keywords: {}
Type: 'Functional'
SID: 3
FileRevision: 1
ModifiedOn: 03-Aug-2017 17:34:56
Dirty: 0
Comments: [0×0 struct]
Index: '2'
[navURL3,navLabel3] = slreq.getExternalURL(ref)
navURL3 = 'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req.slreqx%22,%223%22,%22%22]'
navLabel3 = 'System overview'
Очистка
Очистите загруженные наборы требования и наборы ссылки. Закройте Редактор Требований.
slreq.clear;
Откройте Определение Требований для проекта Модели Круиз-контроля. Откройте crs_plant модель.
slreqCCProjectStart;
open_system('crs_plant');Выберите Transmission подсистема и использование gcb или gcbh получить путь или указатель на подсистему. Затем получите внешнюю навигацию URL к подсистеме и метке для URL.
subsys = gcb
subsys = 'crs_plant/Transmission'
[navURL1,navLabel1] = slreq.getExternalURL(subsys)
navURL1 = 'http://localhost:31415/matlab/feval/rmiobjnavigate?arguments=[%22crs_plant.slx%22,%22:414%22]'
navLabel1 = 'Transmission'
Посмотрите в shift_logic маска путем нажатия
на значок. Выберите first Состояние Stateflow® и использование sfgco получить указатель на состояние. Затем получите внешнюю навигацию URL к состоянию и метке для URL.
firstState = sfgco
firstState =
Path: 'crs_plant/shift_logic/gear_state'
Id: 462
Machine: [1×1 Stateflow.Machine]
SSIdNumber: 6
Name: 'first'
Description: ''
LabelString: 'first↵'
FontSize: 10
ArrowSize: 9.2240
TestPoint: 0
Chart: [1×1 Stateflow.Chart]
BadIntersection: 0
Subviewer: [1×1 Stateflow.Chart]
Document: ''
Tag: []
RequirementInfo: ''
ExecutionOrder: 0
ContentPreviewEnabled: 0
Position: [1×4 double]
Decomposition: 'EXCLUSIVE_OR'
Type: 'OR'
IsSubchart: 0
IsGrouped: 0
Debug: [1×1 Stateflow.StateDebug]
InlineOption: 'Auto'
LoggingInfo: [1×1 Stateflow.SigLoggingInfo]
HasOutputData: 0
OutputData: []
OutputMonitoringMode: 'SelfActivity'
IsExplicitlyCommented: 0
IsImplicitlyCommented: 0
CommentText: ''
[navURL2,navLabel2] = slreq.getExternalURL(firstState)
navURL2 = 'http://localhost:31415/matlab/feval/rmiobjnavigate?arguments=[%22crs_plant.slx%22,%22:413:6%22]'
navLabel2 = 'first'
Очистка
Очистите загруженные наборы требования и наборы ссылки. Закройте все открытые модели.
slreq.clear;
bdclose('all');Откройте Определение Требований для проекта Модели Круиз-контроля. Загрузите DriverSwRequest_Tests тестовый файл.
slreqCCProjectStart;
tf = sltest.testmanager.load('DriverSwRequest_Tests.mldatx');Получите тестовый набор в тестовом файле.
suite = getTestSuites(tf);
Получите тесты в тестовом наборе. Получите внешнюю навигацию URL для первого теста и получите метку для навигации URL.
cases = getTestCases(suite)
cases=1×8 object
1×8 TestCase array with properties:
Name
TestFile
TestPath
TestType
RunOnTarget
Parent
Requirements
Description
Enabled
ReasonForDisabling
Tags
case1 = cases(1)
case1 =
TestCase with properties:
Name: 'Enable button'
TestFile: [1×1 sltest.testmanager.TestFile]
TestPath: 'DriverSwRequest_Tests > Unit test for DriverSwRequest > Enable button'
TestType: 'simulation'
RunOnTarget: {[0]}
Parent: [1×1 sltest.testmanager.TestSuite]
Requirements: [1×1 struct]
Description: ''
Enabled: 1
Tags: [0×0 string]
[navURL,navLabel] = slreq.getExternalURL(case1)
navURL = 'http://localhost:31415/matlab/feval/rmitmnavigate?arguments=[%22DriverSwRequest_Tests.mldatx%22,%223b7651c7-826b-431c-928b-f1f80a674351%22]'
navLabel = 'Enable button'
Очистка
Очистите загруженные наборы требования и наборы ссылки. Очистите загруженные тестовые файлы.
slreq.clear; sltest.testmanager.clear;
myDesignItem — Соедините источник или место назначения, требование, тест или элемент моделиslreq.link источник или целевая структура | объект Simulink Requirements™ | путь или указатель на элемент модели | объект Simulink Test™Элемент в MATLAB или Simulink в виде:
slreq.Link источник или целевая структура
Объект Simulink Requirements:
Путь или указатель на:
Система Simulink или блок
График Stateflow®, субдиаграмма, состояние или переход
Модель System Composer™ или компонент
Объект Simulink Test:
sltest.testmanager.TestFile (Simulink Test)
sltest.testmanager.TestSuite (Simulink Test)
sltest.testmanager.TestCase (Simulink Test)
sltest.testmanager.TestIteration (Simulink Test)
navURL — Внешняя навигация URLВнешняя навигация URL, возвращенный как символьный массив.
navLabel — Внешняя метка URL навигацииВнешняя метка URL навигации, возвращенная как символьный массив.
Можно скопировать внешнюю навигацию URL в буфер обмена для a:
Требование Simulink Requirements, требование, на которое ссылаются или выравнивание
Simulink, Stateflow или элемент модели System Composer
Запись в словаре данных Simulink
Щелкните правой кнопкой по одному из этих элементов в Редакторе Требований или Редакторе Simulink и выберите Copy URL to Clipboard или выберите Requirements> Copy URL to Clipboard.
gcb | gcbh | slreq.getCurrentObject | sltest.testmanager.getTestFiles (Simulink Test) | sfgco (Stateflow)
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.