Настройка имени блока и внешнего вида

Отображение блока по умолчанию

Когда вы генерируете авторский блок из файла компонента Simscape™, имени блока и параметра, и имена переменных в диалоговом окне блока выведены от элементов файла компонента. Значок блока по умолчанию является прямоугольником, отображающим имя блока. Порты основаны на узлах, входных параметрах и выходных параметрах, заданных в файле компонента.

Следующий пример показывает файл компонента, названный spring.ssc, и получившимся блоком библиотеки и диалоговым окном.

component spring
  nodes
    r = foundation.mechanical.rotational.rotational;
    c = foundation.mechanical.rotational.rotational;
  end
  parameters
    k = { 10, 'N*m/rad' };
  end
  variables
    theta = { 0, 'rad' };
    t = { 0, 'N*m' };
    w = { 0, 'rad/s' };
  end
  branches
    t : r.t -> c.t;
  end
  equations
    assert(k>0)
    w == r.w - c.w;
    t == k * theta;
    w == theta.der;
  end
end

Если вы щелкаете по ссылке Source code, файл spring.ssc открывается в окне Editor MATLAB®.

Следующие разделы показывают вам, как аннотировать файл компонента, чтобы улучшить косметику блока. Можно обеспечить понятные имена для самого блока и для его параметров и переменных в диалоговом окне, а также предоставить краткое описание его цели. Можно также заменить значком авторского блока изображение по умолчанию и поменять имена и ориентацию по умолчанию портов.

Настройте имя блока

Чтобы обеспечить более описательное имя для блока, чем имя файла компонента, поместите его на отдельную строку с комментариями чуть ниже объявления component. Строка с комментариями должна начаться с символа %. Целое содержимое этой строки, после символа %, интерпретировано как имя блока и появляется точно как этот в значке блока и наверху диалогового окна блока.

Например, если у вас есть следующий файл компонента:

component spring
%Rotational Spring
...
end

это получившийся значок блока и диалоговое окно:

Опишите цель блока

Предыдущий раздел описывает, как строка с комментариями сразу после объявления component интерпретирована как имя блока. Любые дополнительные комментарии ниже той строки интерпретированы как описание блока. У вас может быть больше чем одна строка комментариев описания. Каждая строка больше не должна быть, чем 80 символов и должна начаться с символа %. Целое содержимое комментариев описания появится в диалоговом окне блока и в Браузере Библиотеки.

Например, если у вас есть следующий файл компонента:

component spring
%Rotational Spring
% This block implements a simple rotational spring.
...
end

это - получившееся диалоговое окно блока:

Чтобы создать конец абзаца в описании блока, используйте пробел, прокомментировала строка:

% end of one paragraph
% 
% beginning of the next paragraph

Задайте понятные имена для параметров блоков и переменных

Можно задать имя параметров блоков, способ, которым вы хотите, чтобы оно появилось в диалоговом окне блока как комментарий сразу после объявления параметра. Это может быть расположено на той же строке или на отдельной строке. Комментарий должен начаться с символа %.

Например, если у вас есть следующий файл компонента:

component spring
%Rotational Spring
% This block implements a simple rotational spring.
...
 parameters
    k = { 10, 'N*m/rad' }; % Spring rate
 end
...
end

это - получившееся диалоговое окно блока:

Используйте тот же метод, чтобы задать понятные имена для общедоступных переменных верхнего уровня компонента. Эти переменные появляются на вкладке Variables диалогового окна блока и давании им, описательные имена помогают с инициализацией переменной блочного уровня до симуляции.

Например, если у вас есть следующий файл компонента:

component spring
%Rotational Spring
% This block implements a simple rotational spring.
...
  variables
    theta = { value = { 0 , 'rad' }, priority = priority.high }; % Deformation
    t = { 0, 'N*m' };   % Torque
    w = { 0, 'rad/s' }; % Angular velocity
  end
...
end

получившаяся вкладка Variables диалогового окна блока выглядит так:

Настройте названия и местоположение портов блока

Блокируйте порты, и сохранение и Физический сигнал, основаны на узлах, входных параметрах и выходных параметрах, заданных в файле компонента. Метка порта по умолчанию соответствует имени узла, входа или вывода, как задано в блоке объявлений. Местоположение по умолчанию всех портов находится на левой стороне значка блока. Порты распространены equidistantly вдоль стороны блока.

Чтобы управлять меткой порта и местоположением в значке блока, добавьте комментарий сразу после соответствующего узла, введите или выведите объявление. Это может быть на той же строке или на отдельной строке. Комментарий должен начаться с символа % и быть формата label:location, где label является строкой, соответствующей имени входного порта в блок-схеме, и location является одной из следующих строк: left, right, top, bottom. Можно определить местоположение всех портов или на одной стороне блока или на двух противоположных сторонах, например, левых и правых, или верхних и нижних. Можно не использовать местоположение, если вы хотите сохранить местоположение по умолчанию порта (на левой стороне).

Можно также оставить поле метки порта пустым и задать только местоположение. В этом случае порту не отобразят его имя. Например, следующий синтаксис подавляет метку порта и определяет местоположение ее на верхней части значка блока:

    r = foundation.mechanical.rotational.rotational; % :top

Если вы зададите пустую строку комментария после узла, введете или выведете объявление, соответствующий порт не будет маркирован и будет расположен на левой стороне значка блока.

Следующее является примерами объявлений узла и получившихся значков блока.

СинтаксисБлокируйте значок

nodes
   r = foundation.mechanical.rotational.rotational; 
   c = foundation.mechanical.rotational.rotational; 
end 

nodes
   r = foundation.mechanical.rotational.rotational; % rod
   c = foundation.mechanical.rotational.rotational; % case
end 

nodes
   r = foundation.mechanical.rotational.rotational; 
   c = foundation.mechanical.rotational.rotational; % c:right
end 

nodes
   r = foundation.mechanical.rotational.rotational; % rod
   c = foundation.mechanical.rotational.rotational; % case:right
end 

nodes
   r = foundation.mechanical.rotational.rotational; % rod
   c = foundation.mechanical.rotational.rotational; % :right
end 

nodes
   r = foundation.mechanical.rotational.rotational; % 
   c = foundation.mechanical.rotational.rotational; % case:right
end 

Настройте значок блока

Значок блока по умолчанию является прямоугольником, отображающим имя блока. Можно заменить этот значок по умолчанию на файл пользовательского изображения. Для получения информации о поддерживаемых форматах файлов и свойствах изображения, смотрите Поддерживаемые Форматы файлов.

Существует два способа задать значок авторского блока:

  • Явным образом, с помощью раздела annotations в файле компонента. Это - рекомендуемый путь, потому что он обеспечивает больше гибкости. Можно сохранить файлы изображений в отдельной папке и задать относительные пути для значков блока. Можно также задать условные пользовательские значки для различных вариантов блока. Для получения дополнительной информации смотрите Используя Аннотации.

  • Неявно, с помощью соглашений о присвоении имен файла. Этот метод удобен, если вы поставляете полные пакеты библиотеки клиентам. Для получения дополнительной информации смотрите Используя Соглашения о присвоении имен Файла.

Используя аннотации

Используйте раздел annotations в файле компонента, чтобы задать имя значка авторского блока. Имя файла должно содержать расширение файла. Например:

  annotations
    Icon = 'custom_spring.jpg';
  end

Имя файла может включать относительный путь от папки, содержащей файл компонента к папке, содержащей файл изображения, например:

  annotations
    Icon = '../../block_icons/custom_spring.jpg';
  end

Раздел annotations также позволяет вам задать условные пользовательские значки. Это особенно полезно, если количество портов изменяется для различных вариантов. Например:

component MyPipe
  parameters
    thermal_variant = false; % Model thermal effects?
  end
  if thermal_variant 
  % Use icon with additional thermal port
    annotations
       Icon = 'pipe_thermal.jpg';
    end
  else
  % Use regular icon, with two fluid ports
    annotations
       Icon = 'pipe.jpg';
    end
  end
  [...] % Other parameters, variables, nodes, branches, equations
end

Используя соглашения о присвоении имен файла

Вместо того, чтобы явным образом задать значок авторского блока с помощью раздела annotations, можно сделать это неявно путем размещения файла изображения с тем же именем как компонент в папке, содержащей файл компонента.

Этот метод удобен, если вы поставляете полные пакеты библиотеки клиентам. Например, если подпакет, содержащий файл компонента, spring.ssc также содержит файл с именем spring.jpg, то тот файл изображения автоматически используется для значка, представляющего этот блок в пользовательской библиотеке.

Неявные правила для использования значков авторского блока:

  1. Если раздел annotations явным образом не задает изображение пользовательского значка, или если то изображение не найдено, взгляды программного обеспечения в папке, содержащей файл компонента для файла изображения с тем же именем как компонент.

  2. Если существуют файлы повторного изображения с тем же именем, форматы более приоритетны в порядке, перечисленном в Поддерживаемых Форматах файлов. Например, если подпакет содержит и spring.jpg и spring.bmp, spring.jpg является изображением, которое появится в пользовательской библиотеке.

Поддерживаемые форматы файлов

Следующие форматы файла изображения поддерживаются для значков авторского блока:

  • svg

  • jpg

  • bmp

  • png

Внимание

Используя формат svg вместе с проблемно-ориентированными стилями линии может привести к неожиданным результатам, потому что доменные стили линии и цвета могут распространить к частям значка авторского блока. Для получения дополнительной информации о включении и выключении проблемно-ориентированных стилей линии смотрите Проблемно-ориентированные Стили линии.

Тип изображения должен быть RGB (истинный цвет) изображение, сохраненное как m-by-n-by-3 массив данных. Для получения дополнительной информации смотрите RGB (Истинный цвет) Изображения (MATLAB).

Определение свойств масштабирования и вращения значка авторского блока

Когда вы используете файл изображения, чтобы представлять компонент в библиотеке авторского блока, следующий синтаксис в файле компонента позволяет вам задать свойства масштабирования и вращения файла изображения:

component name
% [ CustomName [ : scale [ : rotation ] ] ] 
...

где

name

Имя компонента

CustomName

Индивидуально настраиваемое имя блока, заданное, как описано в, Настраивает Имя блока. Продвижение и конечные пробелы удалено.

scale

Скалярный номер, например, 2.0, который задает желаемое масштабирование значка блока. Когда файл изображения используется в качестве значка блока, по умолчанию его самый короткий размер составляет 40 пикселей с сохраненной пропорцией изображения. Например, если ваше пользовательское изображение будет храниться в файле .jpg 80x120 пикселей, то размер значков блока по умолчанию составит 40x60 пикселей. Если вы зададите шкалу 0.5, то размер значков блока составит 20x30 пикселей.

Вы не можете задать выражения MATLAB для шкалы, только числа.

rotation

Задает, вращается ли значок блока с блоком:

  • rotates означает, что значок вращается, когда вы поворачиваете блок. Это поведение по умолчанию.

  • fixed означает, что порты вращаются, когда вы поворачиваете блок, но значок всегда остается в ориентации по умолчанию.

Например, следующий синтаксис

component spring
% Rotational Spring : 0.5 : fixed

указывает, что пружинный размер изображения масштабируется к половине его размера по умолчанию и всегда остается в его ориентации по умолчанию, независимо от вращения блока.

Смотрите также

Похожие темы