Этот пример показывает, как настроить внешний вид блока MATLAB System.
Системные объекты позволяют вам реализовывать использование алгоритмов MATLAB. Системные объекты являются специализированным видом объекта MATLAB, специально разработанного для реализации и симуляции динамических систем с входными параметрами то изменение в зависимости от времени.
После того, как вы зададите Системный объект, можно включать его в модель Simulink с помощью блока MATLAB System.
В этой модели существует три Системных блока MATLAB. Первый блок не имеет никакой индивидуальной настройки для внешнего вида блока и по умолчанию показывает имя Системного объекта на блоке. Метки порта для этого блока получены из имени аргументов в stepImpl методе Системного объекта. Второй блок показывает пользовательский текст и пользовательские метки порта на значке блока. Третий блок показывает изображение значка авторского блока.
Можно получить доступ к исходному коду MATLAB, используемому блоком MATLAB System путем нажатия на гиперссылку "Source Code" от диалогового окна блока. Системный объект TimesTwo
, используемый в первом блоке, не имеет никакой индивидуальной настройки и реализует только метод stepImpl
. Системный объект CustomBlockIconExample
реализует следующие методы для настройки внешнего вида блока.
getInputNamesImpl-
Настройте метки входного порта
getOutputNamesImpl-
Настройте метки выходного порта
getIconImpl-
Отобразите текст или изображение на блоке
Чтобы использовать метод getIconImpl
, Системный объект наследовался классу matlab.system.mixin.CustomIcon
. Системный объект имеет свойство DisplayImage
выбрать между текстом и изображением для отображения на блоке.
Системный объект TimesTwo
classdef TimesTwo < matlab.System %TimesTwo Multiply input by 2 % obj = TimesTwo returns a System object, obj, that % multiples its input by two. methods(Access = protected) function y = stepImpl(~, u) y = 2 * u; end end end
Системный объект CustomBlockIconExample
classdef CustomBlockIconExample < matlab.System & ... matlab.system.mixin.CustomIcon % SystemObjectBlockIconExample Customize Block Icon properties(Nontunable, Logical) % DisplayImage Select to display image as block icon DisplayImage = false end methods(Access = protected) function y = stepImpl(~, u) y = u; end function inputName = getInputNamesImpl(~) inputName = "MyIn"; end function outputName = getOutputNamesImpl(~) outputName = "MyOut"; end function icon = getIconImpl(obj) % Return text or image to be displayed on the block icon % Use array of strings to display multiple lines of text if obj.DisplayImage % Display image icon = matlab.system.display.Icon('slexngc6543aPix.jpg'); else % Display text icon = ["Block icon", "with custom text"]; end end end end
getIconImpl
| matlab.system.display.Icon
| matlab.system.mixin.CustomIcon