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 ключевое слово. 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
Для просмотра документации необходимо авторизоваться на сайте