Моделирование систем в MATLAB

Что такое MATLAB

Программное обеспечение MathWorks MATLAB представляет собой высокоуровневый язык технических расчетов, интерактивную среду разработки алгоритмов и современный инструмент анализа данных. MathWorks MATLAB по сравнению с традиционными языками программирования (C/C++, Java, Pascal, FORTRAN) позволяет на порядок сократить время решения типовых задач, что значительно упрощает разработку новой техники и алгоритмов.

MathWorks MATLAB представляет собой основу всего семейства продуктов MathWorks и является главным инструментом для решения широкого спектра научных и прикладных задач, в таких областях как: моделирование объектов и разработка систем управления, проектирование коммуникационных систем, обработка сигналов и изображений, измерение сигналов и тестирование, финансовое моделирование, вычислительная биология и другие.

Сейчас MATLAB - это основной инструмент инженера-разработчика систем управления. В мире насчитывается более 1 млн. зарегистрированных пользователей этого программного пакета. MATLAB вошел в стандартную практику инженерных расчетов во многом благодаря огромной и уникальной библиотеке функций и инструментальных средств, предназначенных для различных областей науки и техники.

MATLAB - это интегрированное средство разработки, моделирования, аппаратной реализации и тестирования систем управления, которое ассистирует инженеру на всех этапах проектной деятельности (рисунок 2.1).

Задачи по проектированию систем управления, решаемые в MATLAB

Рисунок 2.1. Задачи по проектированию систем управления, решаемые в MATLAB: Design - разработка моделей объекта управления и регуляторов, Implementation - реализация алгоритмов управления в железе, Test and verification - проверка корректности работы и качества управления

Разработка систем управления начинается с моделирования. Динамика объекта управления может быть описана различным образом с применением инструментов MathWorks: в виде дифференциальных уравнений, дискретных разностных уравнений, цифровых автоматов и алгоритмов, написанных на формальных языках. Любая модель может быть представлена визуально в виде схемы из составных блоков в среде Simulink, что позволяет использовать наиболее подходящий подход к моделированию каждой подсистемы объекта управления.

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

Большинство объектов управления представляет собой физические системы, которые состоят из типовых элементов, связанных конструктивно и функционально. Среда Simulink в MATLAB поддерживает построение моделей систем на основе моделей стандартных механических, электрических, электромагнитных, гидравлических, пневматических и теплотехнических компонентов (например, идеальной пружины, пневмоцилиндра, электродвигателя и т.д.). Такой подход позволяет эффективно создавать модели сложных систем, которые структурно и функционально соответствуют реальным объектам управления. В случае использования нестандартных компонентов есть возможность дополнить библиотеку физических компонентов новыми элементами, которые могут быть заданы в виде системы дифференциальных уравнений и соединением других компонентов.

Модели физических объектов в библиотеке компонентов содержат такие физические параметры, например как масса, электрическое сопротивление, сечение трубопровода и т.д.. Эти параметры могут быть не известны для конкретных компонентов в объекте управления. В Simulink встроено средство Simulink Design Optimization, которое позволяет по экспериментальным данным, полученным в результате измерений реального объекта, подобрать физические параметры модели для согласования результатов моделирования и измерений.

Моделирование воздействия окружающей среды, например атмосферы, силы тяжести, ветра, и магнитного поля Земли, возможно с

Simulink и Aerospace Blockset. Можено создавать пользовательские экологические модели из блоков Simulink и на основе табличных данных.

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

На каждом этапе проектирования важно знать насколько разрабатываемый объект соответствует требуемым спецификациям качества и корректности функционирования. Для этого в MATLAB Simulink встроены средства критического анализа систем управления и верификации, которые позволяют:

  • • оценивать ключевые эксплуатационные параметры, такие как перерегулирование, время переходного процесса и устойчивость;
  • • линеаризовать и определять частотные характеристики нелинейных моделей Simulink;
  • • моделировать и анализировать эффекты параметрической неопределенности на производительности и устойчивости систем управления.

Встроенное средство Simulink Control Design избавляет от необходимости ручного подбора параметров и многократного повторения моделирования, обеспечивая систематический метод настройки одноконтурных и многоконтурных системы управления в среде Simulink. Ключевые функции:

  • • автоматическая настройка ПИД-регуляторов,
  • • интерактивные методы классической линейной теории управления: метод корневого годографа, диаграммы Боде, [1]

С помощью средства Simulink Optimization можно улучшить производительность системы управления и оптимизировать другие ее характеристики, осуществляя параметрическую настройку в соответствии с введенными критериями оптимальности. Например, можно оптимизировать коэффициенты усиления регулятора, чтобы удовлетворить ограничениями на время переходного процесса и величину перерегулирования. Или совместно оптимизировать физические и алгоритмические параметры объекта управления и регулятора, чтобы максимизировать качество работы системы в целом.

Средство Stateflow позволяет разрабатывать и моделировать дискретную логику работы систем управления: алгоритмы и циклограммы, а также контролирующую логику, обеспечивающую переключение режимов работы регулятора, обработку исключительных ситуаций, а также обнаружение неисправностей, их изоляцию и восстановление (fault detection, isolation, and recovery - FDIR).

После того, как система управления разработана и протестирована на моделях, имеется возможность модифицировать ее для реализации в оборудовании. Например, можно указать формат данных каждого сигнала в системе для программной реализации с использованием арифметики с фиксированной точкой [15].

Разработанную в MATLAB модель системы управления можно реализовать на встраиваемом контроллере (на основе микроконтроллера или ПЛК) посредством автоматической генерации программного кода. С этим подходом разработчик может получить очень эффективный код для своего контроллера и избежать ошибок, которые могут произойти при интерпретации функционала модели MATLAB во время ручного написания программы, реализующей систему управления в реальном аппаратном обеспечении. Имеется возможность транслировать функционал модели системы управления в следующее представление:

• ANSI/ISO С и C++ код для микропроцессоров и микроконтроллеров; [2]

логических контроллеров (ПЛК, PLC) и программируемых контроллеров автоматизации (РАС);

• Verilog и VHDL код для цифровых программируемых логических интегральных схем (ПЛИС, FPGA).

MATLAB предоставляет инструменты для всестороннего тестирования систем управления, используя моделирование, тестирование в реальном времени и методы формальной верификации.

Тестирование алгоритмов управления позволяет найти проектные ошибки прежде, чем создать аппаратные средства и создать производственное программное обеспечение. Такое тестирование на ранних стадии уменьшает потребность в дорогих и труднодоступных прототипах, а также экспериментах с реальным объектом управления. Чтобы выполнить тестирование при моделировании необходимо объединить модель объект управления и алгоритм управления в одну модель и проверить поведение системы с обратной связью. Для эффективной проверки можно разработать модель объекта управления большей точности, используя дополнительные экспериментальные данные или используя сторонние модели, предоставляемые в рамках программы MathWorks Connections Program.

Если моделирование в реальном времени или физический прототип системы доступны, можно выполнить тестирование алгоритма управления в реальном времени. Возможные варианты для этого:

  • • реализация системы управления на встраиваемом контроллере (или его макете) и тестирование с прототипом объекта управления (часто это называется быстрое прототипирование систем управления); [3]
  • • моделирование системы управления и части объекта управления в реальном масштабе времени, синхронно с работой физических прототипов отдельных частей объекта управления - все также в рамках HIL-тестирования.

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

  • • запуск тестовых ситуаций (test cases) при моделировании системы управления и анализ покрытия кода, включая покрытие по веткам/условиям (MC/DC);
  • • использование методов формальной верификации для автоматического построения тестов, которые обеспечивают 100 % покрытие кода управляющей логики;
  • • отладка кода в аппаратном обеспечении, реализующем функции регулятора, с выводом диагностических сообщений и трассировкой ошибок.

  • [1] поддержка усовершенствованных стратегий управления, такихкак рабастное управление, управление по прогнозирующей модели и нечеткая логика.
  • [2] IEC 61131 структурированный текст (ST) для программируемых
  • [3] моделирование системы управления в реальном масштабе времени, синхронно с работой физического объекта управления, осуществляя взаимодействие модели с датчиками и актуатарами через специальное аппаратное обеспечение - такой подход называется hardware-in-the-loop (HIL) тестирование;
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >