Импортируйте и экспортируйте модели архитектуры

Чтобы создать модель System Composer™, можно импортировать информацию о компонентах, портах и связях в предопределенном формате с помощью объектов таблицы MATLAB®. Можно расширить эти таблицы и добавить, что информация как прикладные стереотипы, значения свойств, соединила модели - ссылки, различные компоненты, интерфейсы и ссылки требования.

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

Задайте базовую архитектуру

Минимальная необходимая структура для модели System Composer состоит из этих наборов информации:

  • Таблица Components

  • Таблица Ports

  • Таблица Connections

Чтобы импортировать дополнительные элементы, необходимо добавить столбцы в таблицы и добавить определенные значения для этих элементов.

Таблица компонентов

Информация о компонентах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:

  • Name имя компонента.

  • ID пользовательский ID, используемый, чтобы сопоставить дочерние компоненты и добавить порты в компоненты.

  • ParentID родительский ID компонента.

Например, Component_1_1 и Component_1_2 дочерние элементы Component_1.

ИмяIDParentID
root0 
Component_110
Component_1_121
Component_1_231
Component_240

Таблица портов

Информация о портах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:

  • Name имя порта.

  • Direction направление портов ввода или вывода.

  • ID пользовательский порт ID, используемый, чтобы сопоставить порты с подключениями порта.

  • CompID ID компонента, к которому добавляется порт. Это - компонент, переданный в таблице компонентов.

ИмяНаправлениеIDCompID
Port1Output11
Port2Input24
Port1_1Output32
Port1_2Input43

Таблица связей

Информация о связях передается как значения в таблице MATLAB против предопределенных имен столбцов, где:

  • Name имя подключения.

  • ID ID связи, используемый, чтобы проверять, что связи правильно создаются во время процесса импорта.

  • SourcePortID ID исходного порта.

  • DestPortID ID целевого порта.

ИмяIDSourcePortIDDestPortID
Conn1112
Conn2234

Импортируйте базовую архитектуру

Импортируйте базовую архитектуру из таблиц, составленных выше в System Composer от командного окна MATLAB.

systemcomposer.importModel('importedModel',components,ports,connections)

Модель базовой архитектуры открывается.

Basic architecture model.

Совет

Таблицы не включают информацию о визуальной разметке модели. Можно расположить компоненты вручную или использовать Architecture> Arrange> Arrange Automatically.

Расширьте импорт базовой архитектуры

Можно импортировать другие элементы модели в таблицы базовой структуры.

Импортируйте интерфейсы и сопоставьте порты с интерфейсами

Чтобы задать интерфейсы, добавьте интерфейсные имена в ports таблица, чтобы сопоставить порты к соответствующему portInterfaces таблица. Составьте таблицу, похожую на components, ports, и connections. Информация как интерфейсное имя, сопоставленное имя элемента наряду с типом данных, размерностями, модулями, сложностью, минимумом и максимальными значениями передается importModel функция в формате таблицы, показанном ниже.

ИмяIDParentIDТип данныхРазмерностиМодулиСложностьМинимумМаксимум
interface11       
elem12interface1interface31""real"[]""[]"
interface23 11""real"[]""[]"
elem24interface111""real"[]""[]"

Примечание

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

Чтобы сопоставить добавленный интерфейс с портами, добавьте столбец InterfaceID в ports таблица, чтобы задать интерфейс, который будет соединен. Например, interface1 сопоставлен с Port1 как показано ниже.

ИмяНаправлениеIDCompIDInterfaceID
Port1Output11interface1
Port2Input24interface2
Port1_1Output32""
Port1_2Input43interface1

Импортируйте различные компоненты, поведения Stateflow или ссылочные компоненты

Можно добавить различные компоненты точно так же, как любой другой компонент в components таблица, кроме вас задают имя активного варианта. Добавьте выбор как дочерние компоненты к различным компонентам. Задайте варианты как значения строки в VariantControl столбец. Можно ввести выражения в VariantCondition столбец.

Добавьте различный VarComp компонента использование компонента вводит Variant с выбором Choice1 и Choice2. Установите Choice2 как активный выбор.

Чтобы добавить модель Simulink®, на которую ссылаются, измените тип компонента в Behavior и укажите, что образец модели называет simulink_model.

Чтобы добавить поведение Графика Stateflow® на компоненте, измените тип компонента в StateflowBehavior. Если System Composer не обнаруживает лицензию или установку Stateflow, Composition компонент импортируется вместо этого.

ИмяIDParentIDReferenceModelNameComponentTypeActiveChoiceVariantControlVariantCondition
root0      
Component1C10simulink_modelBehavior   
VarCompV20 VariantChoice2  
Choice1C6V2   petrol 
Choice2C7V2   diesel 
Component3C30 StateflowBehavior   
Component1_1C4C1     
Component1_2C5C1     

Передайте модифицированный components таблица наряду с ports и connections таблицы к importModel функция.

Примените стереотипы и значения свойств набора на импортированной модели

Чтобы применить стереотипы на компоненты, порты и связи, добавляют StereotypeNames столбец к components таблица. Чтобы установить свойства для стереотипов, добавьте столбец с именем, заданным с помощью имени профиля, стереотипируйте имя и имя свойства. Например, назовите столбец UAVComponent_OnboardElement_Mass для UAVComponent профилируйте, OnBoardElement стереотипируйте, и Mass свойство.

Вы устанавливаете значения свойств в формате value{units}. Модули и значения заполняются от значений по умолчанию, заданных в загруженном файле профиля.

ИмяIDParentIDStereotypeNamesUAVComponent_OnboardElement_MassUAVComponent_OnboardElement_Power
root0    
Component_110UAVComponent.OnboardElement0.93{kg}0.65{mW}
Component_1_121   
Component_1_231UAVComponent.OnboardElement0.93{kg}""
Component_240   

Присвойте ссылки требования на импортированную модель

Чтобы присвоить ссылки требования на модель, добавьте requirementLinks таблица с этими необходимыми столбцами:

  • Label имя требования.

  • ID ID требования.

  • SourceID элемент архитектуры, к которому присоединяется требование.

  • DestinationType то, как требования сохранены.

  • DestinationID то, где требование расположено.

  • Type тип требования.

МеткаIDSourceIDDestinationTypeDestinationIDВвод
rset#11components:1 linktype_rmi_slreqC:\Temp\rset.slreqx#1Implement
rset#22components:0 linktype_rmi_slreqC:\Temp\rset.slreqx#2Implement
rset#33ports:1linktype_rmi_slreqC:\Temp\rset.slreqx#3Implement
rset#44ports:3linktype_rmi_slreqC:\Temp\rset.slreqx#4Implement

Лицензия Simulink Requirements™ требуется, чтобы импортировать ссылки требования в модель архитектуры System Composer.

Укажите элементы на порте архитектуры

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

Interface design with nested interface.

Вложенный интерфейсный элемент mobile.elem исходный элемент для связи между портом архитектуры и портом компонента. Вложенный элемент mobile.alt целевой элемент для связи между портом архитектуры и портом компонента. Интерфейсный элемент mobile и вложенный элемент mobile.alt исходные элементы для связи между двумя портами архитектуры той же архитектуры.

ИмяIDSourcePortIDDestPortIDSourceElementDestinationElement
RootToComp1154mobile.elem 
RootToComp2251mobile.alt 
Comp1ToRoot326 interface
Comp2ToRoot436 mobile.alt
RootToRoot556mobile,mobile.alt 

Экспортируйте архитектуру

Чтобы экспортировать модель, передайте имя модели и в качестве аргумента к exportModel функция. Функция возвращает структуру, содержащую четыре таблицы components, ports, connections, portInterfaces, и requirementLinks.

>> exportedSet = systemcomposer.exportModel(modelName)

Можно экспортировать набор в таблицы MATLAB и затем преобразовать те таблицы во внешние форматы файлов, включая Microsoft® Excel® или базы данных.

Five tables in a structure called components, ports, connections, port interfaces, and requirement links.

Обновите ссылочные ссылки требования из импортированного файла

После импорта ссылок требования из файла обновление соединяется со ссылочными требованиями для модели, чтобы полностью использовать функциональность Simulink® Requirements™.

model = systemcomposer.openModel('reqImportExample');

Импортируйте ссылки требования из Word File

Откройте файл Word Microsoft® Functional_Requirements.docx с перечисленными требованиями. Подсветите требование, чтобы соединиться.

В модели выберите компонент, с которым можно соединить требование. Из выпадающего списка выберите Requirements> Link Selection to Word.

Модель экспорта и сохраняет во внешние файлы

Экспортируйте модель и сохраните во внешний файл.

exportedSet = systemcomposer.exportModel('reqImportExample');
SaveToExcel('exportedModel',exportedSet);

Импортируйте ссылки требования из файла и импортируйте к модели

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

structModel = ImportModelFromExcel('exportedModel.xls','Components','Ports', ...
'Connections','PortInterfaces','RequirementLinks');
structModel.readTableFromExcel;

arch = systemcomposer.importModel('reqNewExample',structModel.Components, ...
structModel.Ports,structModel.Connections,structModel.Interfaces,structModel.RequirementLinks);

Обновите ссылки на ссылочные требования

Чтобы интегрировать ссылки требования на модель, обновите ссылки в модели.

close(model);
model2 = systemcomposer.openModel('reqNewExample');
systemcomposer.updateLinksToReferenceRequirements('reqNewExample','linktype_rmi_word','Functional_Requirements.docx');

Смотрите также

| | |

Похожие темы