exponenta event banner

Определение системного объекта для использования в Simulink

Разработка системного объекта для использования в системном блоке MATLAB

Можно разработать системный object™ для использования в системном блоке и интерактивно просмотреть диалоговое окно блока. Для этой функции требуется Simulink ®.

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

Используя эти опции, можно также:

  • Просмотр и взаимодействие с проектом диалогового окна «Блок» при определении объекта «Система».

  • Добавление методов настройки диалогового окна. Если диалоговое окно блока открыто при внесении изменений, при сохранении файла в диалоговом окне предварительного просмотра проекта блока обновляется отображение.

  • Добавление методов значков. Однако эти элементы отображаются только в системном блоке MATLAB в Simulink, а не в диалоговом окне «Предварительный просмотр блока».

Диалоговое окно «Определение блока» для графика

  1. Создайте объект System с помощью пункта меню New > System Object > Simulink Extension.

  2. Присвойте имя объекту System PlotRamp и сохраните файл. Это имя становится заголовком диалогового окна блока.

  3. Удалите комментарий в начале файла и замените его описанием блока.

    % Display a button to launch a plot figure.

    Этот комментарий становится описанием диалогового окна параметров блока под заголовком блока.

  4. Выберите Системный блок > Диалоговое окно предварительного просмотра блока. Диалоговое окно блока отображается при разработке объекта System.

  5. Добавьте предел пандуса, выбрав «Вставить свойство» > «Числовое». Затем измените имя свойства и задайте значение 10.

      properties (Nontunable)
        RampLimit = 10;
      end
    
  6. Найдите getPropertyGrouplsImpl с помощью кнопки «Анализ».

          function group = getPropertyGroupsImpl
              % Define property section(s) for System block dialog
              group = matlab.system.display.Section(mfilename('class'));
          end
  7. Создайте группу для действия Визуализация (Visualize).

          function group = getPropertyGroupsImpl
              % Define property section(s) for System block dialog
              group = matlab.system.display.Section(mfilename('class'));
              group.Actions = matlab.system.display.Action(@(~,obj)...
                visualize(obj),'Label','Visualize');
          end
  8. Добавьте функцию, которая добавляет код для отображения кнопки Визуализация (Visualize) в диалоговом окне.

      methods
        function visualize(obj)
          figure;
          d = 1:obj.RampLimit;
          plot(d);
        end
      end
    
  9. При добавлении элементов в определение системного блока сохраните файл. Обратите внимание на влияние добавлений кода на определение системного блока.

    В меню Системный блок (System Block) также отображаются проверки рядом с методами, включенными в файл.

  10. Удалите все неиспользуемые методы в шаблоне или измените методы для дальнейшей настройки системного объекта и системного блока. Файл определения класса теперь имеет весь код, необходимый для PlotRamp Системный объект.

    classdef PlotRamp < matlab.System
      % Display a button to launch a plot figure.
            
      properties (Nontunable)
        RampLimit = 10;
      end
        
      methods(Static, Access=protected)
        function group = getPropertyGroupsImpl
          group = matlab.system.display.Section(mfilename('class'));
          group.Actions = matlab.system.display.Action(@(~,obj)...
                visualize(obj),'Label','Visualize');
        end
      end
        
      methods
        function visualize(obj)
          figure;
          d = 1:obj.RampLimit;
          plot(d);
        end
      end
    end

После завершения определения системного блока сохраните его, а затем загрузите в системный блок MATLAB в Simulink.

Связанные темы