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

В этом примере показано, как настроить внешний вид блока MATLAB System.

Системные объекты

Системные объекты позволяют вам реализовывать использование алгоритмов MATLAB. Системные объекты являются специализированным видом объекта MATLAB, специально разработанного для реализации и симуляции динамических систем с входными параметрами то изменение в зависимости от времени.

После того, как вы зададите Системный объект, можно включать его в модель Simulink с помощью блока MATLAB System.

Описание модели

В этой модели существует три Системных блока MATLAB. Первый блок не имеет никакой индивидуальной настройки для внешнего вида блока и по умолчанию показывает имя Системного объекта на блоке. Метки порта для этого блока получены из имени аргументов в stepImpl метод Системного объекта. Второй блок показывает пользовательский текст и пользовательские метки порта на значке блока. Третий блок показывает изображение значка пользовательского блока.

Определение класса системного объекта

Можно получить доступ к исходному коду MATLAB, используемому блоком MATLAB System путем нажатия на гиперссылку "Source Code" от диалогового окна блока. TimesTwo Системный объект, используемый в первом блоке, не имеет никакой индивидуальной настройки и реализует только stepImpl метод. 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

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

|

Похожие темы