Когда вы генерируете авторский блок из файла компонента 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
, то тот файл изображения автоматически используется для значка, представляющего этот блок в пользовательской библиотеке.
Неявные правила для использования значков авторского блока:
Если раздел annotations
явным образом не задает изображение пользовательского значка, или если то изображение не найдено, взгляды программного обеспечения в папке, содержащей файл компонента для файла изображения с тем же именем как компонент.
Если существуют файлы повторного изображения с тем же именем, форматы более приоритетны в порядке, перечисленном в Поддерживаемых Форматах файлов. Например, если подпакет содержит и spring.jpg
и spring.bmp
, spring.jpg
является изображением, которое появится в пользовательской библиотеке.
Следующие форматы файла изображения поддерживаются для значков авторского блока:
svg
jpg
bmp
png
Используя формат svg
вместе с проблемно-ориентированными стилями линии может привести к неожиданным результатам, потому что доменные стили линии и цвета могут распространить к частям значка авторского блока. Для получения дополнительной информации о включении и выключении проблемно-ориентированных стилей линии смотрите Проблемно-ориентированные Стили линии.
Тип изображения должен быть RGB (истинный цвет) изображение, сохраненное как m
-by-n-by-3
массив данных. Для получения дополнительной информации смотрите RGB (Истинный цвет) Изображения (MATLAB).
Когда вы используете файл изображения, чтобы представлять компонент в библиотеке авторского блока, следующий синтаксис в файле компонента позволяет вам задать свойства масштабирования и вращения файла изображения:
component name % [ CustomName [ : scale [ : rotation ] ] ] ...
где
|
Имя компонента |
|
Индивидуально настраиваемое имя блока, заданное, как описано в, Настраивает Имя блока. Продвижение и конечные пробелы удалено. |
|
Скалярный номер, например, Вы не можете задать выражения MATLAB для шкалы, только числа. |
|
Задает, вращается ли значок блока с блоком:
|
Например, следующий синтаксис
component spring % Rotational Spring : 0.5 : fixed
указывает, что пружинный размер изображения масштабируется к половине его размера по умолчанию и всегда остается в его ориентации по умолчанию, независимо от вращения блока.