Управляйте внешним видом блока 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
ключевое слово. The 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