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

Введение

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

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

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте