Simulink что это за программа

Применение MATLAB/Simulink с аппаратурой производства АО «ИнСис»

Важной практической задачей является использование Matlab/Simulink с реальной аппаратурой которая позволит принять сигнал из реального мира. Это очень полезно для отладки алгоритмов. В данной работе представлена технология подключения к Simulink устройств АЦП производства АО «ИнСис». Для подключения используется DLL, которая видна в Simulink как компонент sm_adc. Для работы с аппаратурой используется отдельная консольная программа. Связь с DLL производится через разделяемую память. По данной технологии могут быть подключены любые АЦП на любых несущих модулях АО «ИнСис». В работе представлена система из генератора A7_DAC и модуля сбора FMC128E/FM412x500M.

Данная работа демонстрировалась на конференции «Технологии разработки и отладки сложных технических систем» 27-28 марта 2018 года.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Требуется разработка системы из генератора сигналов и АЦП которая будет формировать сигнал с заданными параметрами и производить его оцифровку. Полученные данные должны быть переданы в Simulink на обработку.

Для работы собран стенд из модуля АЦП и генератора. В качестве АЦП используется субмодуль FM412x500M в котором есть четыре канала АЦП с частотой дискретизации 500 МГЦ. Субмодуль установлен на несущий модуль FMC128E в котором есть ПЛИС Artix 7 и интерфейс USB 3.0. Оба устройства подключены к ноутбуку с запущенным Simulink. Для контроля работоспособности разумеется используется осциллограф.

Внешний вид стенда:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Структурная схема стенда:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Алгоритм работы стенда:

Это классический однократный режим сбора. Его особенностью является именно однократность. Аппаратура по фронту сигнала собирает заданный массив данных. Фаза сбора данных происходит в режиме «жёсткого реального времени», а вот обработка — как получиться. Скорость сбора определяется числом выбранных каналов и частотой дискретизации. Для четырёх каналов АЦП и частоте дискретизации 500 МГц скорость потока данных составляет 4 Гбайт/с. С этой скоростью данные могут быть записаны в SODIMM модуля FMC128E. То есть может быть сохранена выборка объёмом 4 Гбайт.

Далее данные должны быть переданы в компьютер. Модуль FMC128E подключается к компьютеру через интерфейс USB 3.0. Скорость передачи данных составляет 300 Мбайт/c.

Simulink принимает массив данных и передаёт его на дальнейшую обработку. Время этой обработки уже определяется сложностью модели. В данном примере массив просто отображается на панели осциллографа.

В какой-то момент Simulink решает что нужно проводить следующий цикл и всё повторяется. Опять по USB передаются команды на подготовку АЦП, на запуск генератора и на сбор данных.

Такой режим очень удобен для отладки аппаратуры и алгоритмов. Можно никуда не торопиться. Собрать массив данных. На него спокойно посмотреть, записать на диск, выпить кофе. А вот когда всё будет отработано, то тогда уже можно переходить на непрерывный режим сбора.

Matlab позволяет подключать функции реализованные во внешних DLL. Simulink также имеет возможность подключения внешних DLL, при этом он добавляет некоторые требования. Внутри Simulink внешняя DLL выглядит как блок S-Function.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

MATLAB предоставляет огромное количество примеров, в том числе и по созданию внешних DLL. Однако способ который предлагает MATLAB не очень удобный. Существует OpenSource проект easyLink. В этом проекте разработана библиотека классов для подключения к Simulink.

Для создания компонента требуется создать класс наследник от BaseBlock и объявить порты:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Проблемы подключения DLL

Внешние DLL позволяют очень многое, но при работе с ними есть ряд проблем. Наиболее существенными лично для меня являются следующие:

В процессе работы очень хочется видеть отладочный вывод который формируется как стандартный потоко stdout. В случае с DLL этот поток как то можно перехватить, но мне это не удалось.

Ну и наконец самое главное неудобство это необходимость выхода из MATLAB при перекомпиляции DLL. Иначе просто не удаётся записать новый файл. А выход и последующий запуск MATLAB занимает много времени.

Для решения этих проблем существует классический способ построения сложных программных комплексов. Это взаимодействие между программами через разделяемую память.

Подключение через разделяемую память

Современные операционные системы, как Windows так и Linux, позволяют организовывать общие области памяти. Это позволяет создавать надёжные программы. Например одна программа может содержать графический интерфейс и взаимодействовать с оператором, а другая программа может взаимодействовать с аппаратурой. При этом зависание программы которая взаимодействует с аппаратурой не приведёт к зависанию программы взаимодействия с оператором. В случае с Simulink такой подход также даёт некоторые преимущества. Программа для работы с аппаратурой будет запущена один раз, она подготовит аппаратуру и будет ждать команды через разделяемую память. DLL будет загружаться каждый раз при запуске Simulink на моделирование. Поскольку DLL не работает напрямую с аппаратурой, то это этот запуск будет производиться быстро.

Для данного стенда разработаны две программы и две DLL:

Структурная схема представлена на рисунке ниже:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Программа simulink_adc построена на основе библиотеки Bardy. Эта программа позволяет работать с любыми АЦП производства АО «ИнСис». Настройка на конкретный АЦП и несущий модуль производится через файлы инициализации.

Вид схемы в Simulink

Ну и наконец как это выглядит внутри Simulink:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Всё выглядит так как и принято в Simulink. Один блок для управления АЦП. Второй блок для управления генератором. Для управления генератором доступен ряд параметров. Для АЦП — всё через файл инициализации. При необходимости ряд параметров АЦП также можно вывести на уровень блока.

Обратите внимание на два задающих генератора. Они задают в терминах модельного времени момент старта и момент сбора данных. Эти моменты очень важны. Они собственно и задают связь между моделью и реальным миром. Сигнал старта поступает в блок АЦП, он обрабатывается в DLL. Через разделяемую память он поступает в программу АЦП. Далее он преобразуется в последовательность команд записи в регистры, которые через USB поступают в ПЛИС. А внутри ПЛИС взводится автомат поиска фронта сигнала старта. И только после того как автомат будет взведён в обратную сторону по этой же цепочке пойдёт подтверждение. Когда подтверждение дойдёт до Simulink на выходе блока sm_adc появиться сигнал start_out который будет передан в блок sm_ctrl. Причём это будет всё тот же самый момент модельного времени. В блоке sm_ctrl по такой же цепочке сигнал будет передан в ПЛИС генератора и она сформирует посылку сигнала. АЦП захватит этот сигнал в своей памяти. От второго задающего генератора будет сформирован сигнал сбора данных. По такому же пути данные попадут в Simulink и поступят на выход данных блока sm_adc. В данный момент возвращается блок размером 16384 отсчёта. Принятый блок отображается в осциллографе.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Работа через разделяемую память показала свою эффективность. Программа управления АЦП позволяет работать с любыми нашими АЦП. При этом остаётся удобный способ настройки параметров через файл конфигурации. Программа разработана как консольное приложение, при этом виден весь отладочный вывод. Есть индикация работоспособности. Компонент SM_CTRL позволяет подключать различные внешние приложения для управления аппаратурой. Отладка программы управления АЦП не вызывает никаких трудностей. Это обычная программа, в которой можно установить точки останова и проводить отладку. По этой же технологии могут быть разработаны и другие программы для взаимодействия между Matlab/Simulink и внешним миром.

Источник

МАТЛАБ — Симулинк

Simulink — это среда моделирования и проектирования на основе моделей для динамических и встроенных систем, интегрированная с MATLAB. Simulink, также разработанный MathWorks, представляет собой инструмент языка графического программирования потоков данных для моделирования, моделирования и анализа многодоменных динамических систем. В основном это графический инструмент для построения блок-схем с настраиваемым набором библиотек блоков.

Это позволяет включать алгоритмы MATLAB в модели, а также экспортировать результаты моделирования в MATLAB для дальнейшего анализа.

Существует несколько других дополнительных продуктов, предоставляемых MathWorks и сторонними аппаратными и программными продуктами, которые доступны для использования с Simulink.

Следующий список дает краткое описание некоторых из них —

Stateflow позволяет разрабатывать конечные автоматы и блок-схемы.

Simulink Coder позволяет генерировать исходный код на C для автоматической реализации систем в реальном времени.

xPC Target вместе с системами реального времени на базе x86 обеспечивают среду для имитации и тестирования моделей Simulink и Stateflow в реальном времени на физической системе.

Встроенный кодер поддерживает определенные встроенные цели.

HDL Coder позволяет автоматически генерировать синтезируемые VHDL и Verilog.

SimEvents предоставляет библиотеку графических строительных блоков для моделирования систем массового обслуживания.

Stateflow позволяет разрабатывать конечные автоматы и блок-схемы.

Simulink Coder позволяет генерировать исходный код на C для автоматической реализации систем в реальном времени.

xPC Target вместе с системами реального времени на базе x86 обеспечивают среду для имитации и тестирования моделей Simulink и Stateflow в реальном времени на физической системе.

Встроенный кодер поддерживает определенные встроенные цели.

HDL Coder позволяет автоматически генерировать синтезируемые VHDL и Verilog.

SimEvents предоставляет библиотеку графических строительных блоков для моделирования систем массового обслуживания.

Simulink способен систематически проверять и проверять модели посредством проверки стиля моделирования, отслеживания требований и анализа охвата модели.

Simulink Design Verifier позволяет выявлять ошибки проектирования и генерировать сценарии тестирования для проверки модели.

Использование Simulink

Чтобы открыть Simulink, введите рабочее пространство MATLAB —

Источник

Модельно-ориентированное проектирование на коленке, идентификация систем в MATLAB/Simulink

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

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

Оборудование и программное обеспечение в наличии

В данном ПК (а это по сути и есть IBM совместимый ПК) присутствуют платы ввода-вывода с аналоговыми, дискретными, и прочими входами и выходами, которые я использую как для сбора данных, так и для управления ходом эксперимента. Но самое главное — я могу одним нажатием запускать на ней модели Simulink в режиме жесткого реального времени. О таких машинках (да простят мне уменьшительно-ласкательное дальнейшее к Ней обращение:-) я много еще могу рассказать. Если интересно — можно выделить для этого отдельный топик.

В собранном виде, если это можно назвать собранностью, все выглядит так:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Постановка задачи

Есть система — необходимо получить её модель для дальнейшей работы. Проще некуда.
Поведение системы и её модели должно максимально совпадать в пределах допустимых входных воздействий. Метод «черного ящика» подразумевает, что мы не будем, или почти не будем, принимать во внимание физику процессов внутри системы, а будем рассматривать её с общей точки зрения теории управления.

В детали я вдаваться в этот раз не буду, поначалу все и так видно, на глаз.
Но следует учесть, что за кулисами остаются архиважные и преинтереснейшие темы — планирование эксперимента (DOE) и дисперсионный анализ (ANOVA), которые заслуживают отдельного рассмотрения.

20 секунд тестового воздействия.
Выглядит тестовый вектор так:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

На выходе системы я ожидаю увидеть хоть что-то подобное 🙂
Для успешной идентификации тестовый вектор должен покрывать максимальное количество режимов работы системы, в которых она будет, или может работать. Метод «черного ящика» не позволяет в полной мере исследовать аварийные режимы ввиду ограниченности количества экспериментальных образцов. Я буду исследовать систему в рабочих режимах плавного пуска и старт-стоп.

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

Так выглядит ШИМ из Arduino (желтый) и напряжение на чисто резистивной нагрузке, которая подключена к шилду:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

А вот графики при подключенном двигателе в режимах, когда двигатель еще не вращается, и уже вращается:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Коммутация индуктивной нагрузки с механическим контактом полупроводниковыми ключами — крайне интересная тема для исследований, но сегодня мы внимания ей уделять не будем. Мы срежем по прямой — будем рассматривать только вход и выход системы, не вникая в физику процессов.

Модели Simulink

На машине реального времени я запускаю вот такую модель:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Структура её крайне проста. Есть блоки для входов, выходов, общие настройки плат ввода-вывода, вывод информации на дисплей машинки и простая внутренняя логика пересчета тиков от квадратурного энкодера в угол и скорость.

Модель для получения прошивки под Arduino выглядит следующим образом:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Таблица истинности, которая отслеживает знак сигнала и управляет входами Motor Shield

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Код алгоритма можно посмотреть под спойлером:

Весь проект можно скачать здесь.

Модель, которую я буду использовать для проверки результатов:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Все модели можно скачать здесь.
«Открыл и запустил» может не сработать, есть нюансы. С вопросами в личку, или в комментарии.

Видео

Результаты

Вот, что получилось в итоге:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Синий — это входной сигнал с пределами от -255 до +255. В пересчете на вольты будет примерно от -8,5 до 8,5.
Зеленый — скорость вращения вала двигателя.

Видим временную задержку, отсутствие вращения, либо крайне малое вращение при подаче ШИМ менее 25%. Также наблюдаем классический апериодический переходной процесс.

А вот информация, которая выводится во время проведения эксперимента на дисплей, подключенный к машине реального времени:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Идентификация

Одна из подсистем, а именно двигатель, может быть описан следующей передаточной функцией:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа
Так нам говорит курс ТАУ, с неё мы и начнем.

В составе MATLAB есть прекрасный инструмент для идентификации систем — System Identification Toolbox. Он доступен как в виде графического интерфейса, так и в виде набора функций, которые можно использовать в скриптах MATLAB. Рассмотрим сперва работу в графическом интерфейсе.

Импортируем данные, полученные в ходе эксперимента и тестовое воздействие:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

После импорта нам становятся доступны инструменты предварительной обработки данных. Мы имеем возможность, например, разделить массивы данных на две части — для идентификации и отдельно для верификации. Но это для более сложных случаев, давайте же скорее перейдем к делу!

Выбираем из выпадающего списка «Estimate» пункт Transfer Function Models.

Получаем передаточную функцию:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Давайте сравним поведение полученной функции и системы:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Синим отображен отклик передаточной функции на исходный тестовый вектор. Видно, что данную функцию можно использовать как модель исходной системы только в режиме старт-стоп. И не удивительно — нелинейное поведение, которое присутствует в системе, не может быть описано таким способом.

Продвигаемся дальше, используем шаблон модели Хаммерштейна-Винера, которая дает возможность описывать нелинейное поведение системы:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

В качестве входной нелинейности выберем Dead Zone — отсутствие реакции системы на входной сигнал менее определенного порогового значения. Такой тип нелинейности должен взять на себя описание трения спокойствия и влияния постоянных магнитов, которое имеет место в системе.
Остальные параметры по умолчанию, жмем Estimate.

Update#1 по просьбе MichaelBorisov:
Более подробно настройка нелинейной части выглядит так:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Для случая с Dead Zone все просто — задаем тип и пороговые значения.

Настройка линейной части позволяет предварительно указать порядок и оценить задержку:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Несмотря на то, что это «черный ящик» — на практике получение адекватного результата очень зависит от колличества знаний о системе, которые Вы вложили в конфигурацию расчета.
endOfUpdate#1 по просьбе MichaelBorisov:

Сравниваем полученный результат с экспериментальными данными:
Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Выглядит гораздо лучше! Не идеально — заметно некоторое аномальное поведение, но мы ведь только слегка коснулись идентификации нелинейных систем.

Теперь нам остается только экспортировать данную модель в Simulink, где мы можем приступить к разработке системы управления. Но об этом в следующем топике!

Благодарю за внимание, надеюсь было интересно?
И еще раз благодарю за ответы на небольшой опрос:

Источник

Примеры использования машины реального времени (MATLAB, Simulink, Программно-аппаратный симулятор)

Добрый день, уважаемая Аудитория!
В своей практике я часто сталкиваюсь с ситуацией, когда при упоминании мною в разговоре некой «машины реального времени» в глазах собеседника проскакивает миллион ассоциаций, к сожалению, не имеющих отношения к теме разговора.
В первой статье я хочу немного пролить свет на данную тему со столь необычно звучащим для русскоязычной инженерной аудитории названием.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Всех интересующихся запуском алгоритмов управления и физических моделей в виде моделей Simulink в режиме жесткого реального времени с минимальными трудозатратами — прошу под кат!
Внимание, много изображений!

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Итак, краткое определение:

В русскоязычной литературе и обиходе часто встречается термины программно-аппаратный симулятор и полунатурное моделирование. С моей точки зрения, они не являются полными. Потому как «симуляция моделей» — не единая функция данного устройства.

Перечень производителей таких решений довольно обширен. Я приму к рассмотрению изделия от Speedgoat, с которыми мне посчастливилось довольно плотно работать.

Ниже, на основе примеров, я постараюсь раскрыть суть использования таких машин.

Пример №1

Команда инженеров занимается разработкой электрического привода. Есть модель в Simulink, в которой подсистему Controller (система управления) разработал инженер по системам управления, а подсистему Plant (модель двигателя) — инженер отдела физического моделирования.

Задача: Аппаратного прототипа контроллера еще нет, и не ясно когда будет. Прототипа двигателя тоже нет, или его страшно подключать к пока еще сырой системе управления.

Решение: Использовать машину реального времени для быстрого прототипирования системы управления. И еще одну машину, но более производительную, для запуска физической модели двигателя в реальном времени. Интерфейсы между такими машинами могут и должны быть такими же, как между реальным двигателем и контроллером. Такая связка называтся HIL — Hardware-In-The-Loop. По простому — программно-аппаратная симуляция. Она позволяет на ранних стадиях интегрировать и тестировать алгоритмы управления в связке с моделью объекта управления в реальном времени с учетом влияния среды передачи данных между устройствами.

На иллюстрации ниже показана схема такого процесса. Машина реального времени для системы управления может быть в защищенном исполнении для последующего размещении в полевых условиях. Машина же для физической модели необходима более производительная — изображена справа. Перенос алгоритма и модели в реальный мир производится в один клик мышью и может быть выполен инженером без помощи программиста и без глубокого вникания в нюансы ОСРВ.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Пример №2

Все та же команда. Появился прототип двигателя, прототип контроллера еще только в разработке.

Задача: Необходимо протестировать систему управления на реальном объекте управления.

Решение: Система управления уже оттестирована на модели двигателя при работе на ПК. Потом еще более полно в режиме HIL. Теперь же, когда появился реальный прототип — его уже не так страшно запускать. Потому как большинство ошибок уже отловлено и необходимо лишь валидировать работу системы.

Возможен также случай, когда объект управления был с самого начала. Тогда быстрый переход от модели системы управления к работающей железке можно назвать Быстрым Прототипированием или Rapid Prototyping.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Пример №3

Опять знакомая команда. Вышел первый образец контроллера.

Задача: Необходимо подключить первый образец к, возможно, многокиловатному двигателю

Решение: Из соображений безопасности не стоит горячится, а сперва прогнать пару тестов с использованием модели двигателя на машине реального времени. Это будет чистой воды Plant Simulation или Симуляция Объекта Управления.

Можно и целую модель самолета на машине реального времени запустить. В авиации такой симулятор часто нежно называют «электронная птица».

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

Ниже иллюстрация описывающая суть решения задачи и видео рабочего процесса с PLC Siemens в качестве контроллера, и машины реального времени в качестве объекта управления.

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

PLC Siemens + Speedgoat real-time machine

Пример №4

Финальная стадия разработки.

Задача: Необходимо провести 100500 тестов на реальном приводе и задокументировать результаты в кратчайшие сроки.

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

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Как видно из примеров, одна и та же машина может быть переиспользована в различных вариантах использования. Но все же полностью унифицировать данные устройства невозможно — есть некое распределение по функционалу. Линейка Speedgoat, например, имеет следующий вид:

Simulink что это за программа. Смотреть фото Simulink что это за программа. Смотреть картинку Simulink что это за программа. Картинка про Simulink что это за программа. Фото Simulink что это за программа

Образовательная версия — это неизмеримая радость для любой лаборатории в техническом университете.
Имея такую в лаборатории, можно за фиксированный период дипломирования, например, успеть сделать намного более продвинутый проект.

Машину реального времени от Speedgoat внутри имеет робот Гепард от MIT:

И две таких же я отвез в Набережные Челны на кафедру систем управления филиала КФУ.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *