Управляйте внешним видом блока Simscape на основе компонента
annotations [Id1
,Id2
] : ExternalAccess=value
; UILayout = [UIGroup("Title 1
",p1
,p2
) UIGroup("Title 2
",p3
)] Icon = 'filename
'; [port1
,port2
] : Side=value
; [param1
,param2
] : UnitDropdown = common end
annotations
начинает раздел аннотаций, который отключен end
ключевое слово. annotations
раздел в файле компонента позволяет вам предоставить аннотации, которые управляют различными косметическими аспектами блока Simscape™, сгенерированного от этого компонента.
Используйте annotations
разделите к:
Задайте условную видимость членов компонента, таких как параметры, переменные, узлы, входные параметры и выходные параметры, в значках блока и диалоговых окнах. Возможные значения: modify
, observe
, и none
.
Задайте размещение интерфейса блока путем определения названных групп параметров компонента, порядка этих групп и порядка параметров в каждой группе. Когда вы развертываете компонент как пользовательский блок Simscape, эти группы переводят во вкладки диалогового окна (и в узлы дерева Property Inspector). UILayout
аннотация уровня класса, означая, что это может появиться только однажды на файл компонента. Для получения дополнительной информации смотрите Параметры блоков Группы и Переупорядочивания Используя Аннотацию.
Задайте значок пользовательского блока и измените его на основе варианта блока.
Местоположение порта управления путем размещения его в определенную сторону значка блока. Порты на значке блока соответствуют узлам, входным параметрам и выходным параметрам, объявленным в базовом файле компонента. Возможные значения: left
, right
, top
, и bottom
.
Предварительно заполните модуль выпадающий список для параметра в диалоговом окне блока с обычно используемыми модулями.
Следующий пример скрывает неподходящие параметры от диалогового окна блока на основе значения параметров управления.
component MyPipe parameters circular = true; % Circular pipe? d_in = { 0.01, 'm' }; % Pipe internal diameter area = { 1e-4, 'm^2' }; % Noncircular pipe cross-sectional area D_h = { 1.12e-2, 'm' }; % Noncircular pipe hydraulic diameter end if circular % Hide inapplicable parameters annotations [area, D_h] : ExternalAccess=none; end equations % First set of equations, for circular pipe end else % Hide inapplicable parameter annotations d_in : ExternalAccess=none; end equations % Second set of equations, for noncircular pipe end end [...] % Other parameters, variables, branches, equations end
Следующий пример отсоединяет тепловой порт H и изменяет индивидуально настраиваемый значок блока на основе значения параметров управления.
parameters thermal_effects = false; % Model thermal effects? end nodes (ExternalAccess=none) H = foundation.thermal.thermal; end if thermal_effects % Use icon with additional thermal port annotations H : ExternalAccess=modify; Icon = 'pipe_thermal.jpg'; end end
Следующий пример настраивает названия и местоположение портов блока. Блок содержит два электрических порта, пометил + и -, расположенный на левых и правых сторонах значка блока, соответственно, и тепловом порте H, расположенном на главной стороне.
nodes H = foundation.thermal.thermal; p = foundation.electrical.electrical; % + n = foundation.electrical.electrical; % - end annotations H : Side = top; p : Side = left; n : Side = right; end
Примечание
Вы не можете условно переключить стороны порта, то есть, включать Side
аннотации в ветвях условного оператора. Для получения дополнительной информации смотрите, что Местоположения Порта управления Используют Аннотации.
Следующий пример указывает, что выпадающий список для параметра Gain включает список общих модулей, таких как доступные в Simulink-PS Converter и диалоговых окнах блока PS-Simulink Converter.
annotations Gain : UnitDropdown = common end
inputs
| nodes
| outputs
| parameters
| variables