В этом примере показано, как импортировать и экспортировать архитектуры. В System Composer архитектура полностью задана тремя наборами информации:
Информация компонента
Информация порта
Информация о связи
Можно импортировать архитектуру в System Composer, когда эта информация задана в или преобразована в, таблицы MATLAB.
В этом примере информация об архитектуре простой Системы БПЛА задана в электронной таблице Excel и используется, чтобы создать модель архитектуры System Composer. Это также соединяет элементы с заданным требованием уровня системы. Можно изменить файлы в этом примере, чтобы импортировать архитектуры, заданные во внешних инструментах, когда данные включают запрошенную информацию. Пример также показывает, как экспортировать эту информацию об архитектуре от модели архитектуры System Composer до электронной таблицы Excel.
Можно охарактеризовать архитектуру как сеть компонентов и импортировать путем определения компонентов, портов, связей, интерфейсов и ссылок требования в таблицах MATLAB. Таблица компонента должна включать имя, уникальный идентификатор, и породить ID компонента для каждого компонента. Это может также включать другую релевантную информацию, запрошенную, чтобы создать иерархию архитектуры для модели, на которую ссылаются и стереотипные имена спецификатора. Таблица портов должна включать имя порта, направление, компонент и информацию о порте ID. Информация об интерфейсе порта может также потребоваться, чтобы присваивать порты компонентам. Таблица связи включает информацию, чтобы соединить порты. Как минимум эта таблица должна включать ID связи, ID исходного порта и ID целевого порта.
systemcomposer.importModel (importModelName) API:
Чтения стереотипируют имена из таблицы Component и загрузки профили
Создает компоненты и присоединяет порты
Создает связи с помощью карты связи
Наборы взаимодействуют через интерфейс на портах
Элементы ссылок к заданным требованиям
Сохраняет модели, на которые ссылаются,
Сохраняет модель архитектуры
Убедитесь, что текущий каталог перезаписываем, потому что этот пример создаст файлы.
[stat, fa] = fileattrib(pwd); if ~fa.UserWrite disp('This script must be run in a writable directory'); return; end % Instantiate adapter class to read from Excel. modelName = 'simpleUAVArchitecture'; % importModelFromExcel function reads the Excel file and creates the MATLAB % tables. importAdapter = ImportModelFromExcel('SmallUAVModel.xls','Components','Ports','Connections','PortInterfaces','RequirementLinks'); importAdapter.readTableFromExcel();
model = systemcomposer.importModel(modelName,importAdapter.Components,importAdapter.Ports,importAdapter.Connections,importAdapter.Interfaces,importAdapter.RequirementLinks);
% Auto-arrange blocks in the generated model
Simulink.BlockDiagram.arrangeSystem(modelName);
Можно экспортировать архитектуру в таблицы MATLAB и затем преобразовать во внешний файл
exportedSet = systemcomposer.exportModel(modelName); % The output of the function is a structure that contains the component table, port table, % connection table, the interface table, and the requirement links table. % Save the above structure to excel file. SaveToExcel('ExportedUAVModel',exportedSet);
bdclose(modelName);