annotations

Управляйте внешним видом блока 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
 
Введенный в R2019a