Настройка внешнего вида MATLAB System Block

В этом примере показано, как настроить внешний вид блока 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

См. также

|

Похожие темы