В этом примере показано, как настроить внешний вид блока MATLAB System.
Системные объекты позволяют вам реализовать алгоритмы с помощью MATLAB. Системные объекты являются специализированным видом объекта MATLAB, разработанным специально для реализации и симуляции динамических систем с входами, которые изменяются с течением времени.
После того, как вы задаете Системный объект, можно включить его в модель Simulink с помощью блока MATLAB System.
В этой модели есть три блока MATLAB System. Первый блок не имеет никакой индивидуальной настройки внешнего вида блоков и по умолчанию показывает имя системного объекта в блоке. Метки портов для этого блока получаются из имени аргументов в stepImpl
СПОСОБ Системного объекта. Второй блок показывает пользовательский текст и пользовательские метки портов на значке блока. Третий блок показывает изображение значка пользовательского блока.
Вы можете получить доступ к исходному коду MATLAB, используемому блоком MATLAB System, нажав гиперссылку «Source Code» из диалогового окна блока. The TimesTwo
Системный объект, используемый в первом блоке, не имеет индивидуальной настройки и реализует только stepImpl
способ. The CustomBlockIconExample
Системный объект реализует следующие методы настройки внешнего вида блоков.
getInputNamesImpl
- Настройка меток входных портов
getOutputNamesImpl
- Настройка меток выходных портов
getIconImpl
- Отобразите текст или изображение на блоке
Системный объект имеет 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 % SystemObjectBlockIconExample Customize Block Icon properties(Nontunable) % DisplayImage Select to display image as block icon DisplayImage (1,1) logical = 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