Развертывание или интегрирование прогнозирующего алгоритма обслуживания обычно являются заключительным этапом рабочего процесса разработки алгоритмов. Как вы в конечном счете развертываетесь, алгоритм может также быть фактором в более ранних стадиях проекта алгоритма. Например, ли алгоритм работает на встроенном оборудовании как независимый исполняемый файл, или когда веб-приложение может оказать влияние на требования и другие аспекты полной разработки системы прогнозирующего обслуживания. Продукты MathWorks® поддерживают несколько фаз процесса для разработки, развертывания и проверки прогнозирующих алгоритмов обслуживания.
design-V, концептуальная схема, часто используемая в контексте Модельно-ориентированного проектирования, также релевантен при рассмотрении проекта и развертывания прогнозирующего алгоритма обслуживания. Проект-V подсвечивает ключевое развертывание и фазы реализации:
Разработка спецификаций и требований включает факторы и с прогнозирующей точки зрения алгоритма обслуживания и с перспективы развертывания. Прогнозирующие требования алгоритма обслуживания прибывают из понимания системы вместе с математическим анализом процесса, его сигналов и ожидаемых отказов. Требования развертывания могут включать требования к:
Эффективность ЗУ и вычислительная мощность.
Рабочий режим. Например, алгоритм может быть процессом пакетной обработки, который запускает в некотором фиксированном временном интервале такой как один раз в день. Или, это может быть процесс потоковой передачи, который запускается каждый раз, когда новые данные доступны.
Обслуживание или обновление алгоритма. Например, развернутый алгоритм может быть зафиксирован, изменение только изменяется посредством случайных обновлений. Или, вы можете разработать алгоритм, который адаптирует и автоматически обновляет, когда новые данные доступны.
Куда алгоритм запускается, такой как, должен ли алгоритм запуститься в облаке или быть предложен как веб-сервис.
Эта фаза проекта-V включает управление данными, проект предварительной обработки данных, идентификацию индикаторов состояния и обучение модели классификации для обнаружения отказа или модели для оценки остающегося срока полезного использования. (См. Алгоритмы Разработки для Мониторинга состояния и Прогнозирующего Обслуживания, которое предоставляет обзор процесса проектирования алгоритма.) В стадии проектирования вы часто используете исторические или синтезируемые данные, чтобы протестировать и настроить разработанный алгоритм.
Если вы разработали алгоритм кандидата, следующая фаза должна реализовать и развернуть алгоритм. Продукты Mathworks поддерживают много различных потребностей приложения и ограничений ресурсов, в пределах от автономных приложений к веб-сервисам.
MATLAB® Compiler™ — Создайте автономные приложения или совместно использованные библиотеки, чтобы выполнить алгоритмы, разработанные с помощью Predictive Maintenance Toolbox™. Можно использовать MATLAB Compiler, чтобы развернуть код MATLAB во многих отношениях, включая как автономное приложение Windows®, разделяемая библиотека, дополнение Excel®, блок Microsoft®.NET или типичный COM-компонент. Такие приложения или библиотеки, запущенные вне среды MATLAB с помощью MATLAB Runtime, который является свободно распространяемым. MATLAB Runtime может быть группирован и установлен с вашим приложением или загружен во время процесса установки. Для получения дополнительной информации о развертывании с MATLAB Compiler, смотрите Начало работы с MATLAB Compiler (MATLAB Compiler).
MATLAB Production Server™ — Интегрируйте свои алгоритмы в сеть, базу данных и корпоративные приложения. MATLAB Production Server усиливает MATLAB Compiler, чтобы запустить ваши приложения на выделенных серверах или облаке. Можно группировать прогнозирующие алгоритмы обслуживания с помощью MATLAB Compiler SDK™, который расширяет функциональность MATLAB Compiler, чтобы позволить, вы создать C/C++ совместно использовали библиотеки, блоки Microsoft.NET, классы Java® или пакеты Python® от программ MATLAB. Затем можно развернуть сгенерированные библиотеки на MATLAB Production Server, не повторно кодируя или создавая пользовательскую инфраструктуру.
ThingSpeak™ — Этот сервис аналитической платформы Интернета вещей (IoT) позволяет вам совокупный, визуализируйте и анализируйте живые потоки данных в облаке. Для диагностики и алгоритмов предзнаменований, которые запускаются с промежутками в 5 минут или дольше, можно использовать платформу ThingSpeak IoT, чтобы визуализировать результаты и контролировать условие системы. Можно также использовать ThingSpeak в качестве быстрой и легкой платформы прототипирования перед развертыванием с помощью MATLAB Production Server. Можно передать диагностические данные с помощью веб-сервисов ThingSpeak и использовать его инструменты построения диаграммы, чтобы создать инструментальные панели для контроля прогресса и генерации предупреждений отказа. ThingSpeak может связаться непосредственно с настольным MATLAB или кодом MATLAB, встроенным в целевые устройства.
MATLAB Coder™ и Simulink® Coder — Генерируют код C/C++ из MATLAB или Simulink. Многие Signal Processing Toolbox™, Statistics and Machine Learning Toolbox™ и System Identification Toolbox™ функционируют MATLAB Coder поддержки. Например, можно сгенерировать код из алгоритмов, которые используют оценку состояния System Identification Toolbox (такую как extendedKalmanFilter
) и рекурсивная оценка параметра (такая как recursiveAR
) функциональность. Смотрите Функции и Объекты, Поддержанные для Генерации кода C/C++ — Список Категорий (MATLAB Coder) для более всестороннего списка.
Один выбор, который часто необходимо делать, к тому, развернуть ли алгоритм на встраиваемой системе или на облаке.
Внедрение облака может быть полезным, когда вы собираете и храните большие объемы данных по облаку. Устранение необходимости передать данные между облаком и локальными машинами, которые запускают предзнаменования и медицинский контрольный алгоритм, делает процесс обслуживания более эффективным. Результаты, вычисленные на облако, могут быть сделаны доступными через твиты, уведомления по электронной почте, веб-приложения и инструментальные панели. Для внедрений облака можно использовать ThingSpeak или MATLAB Production Server.
Также алгоритм может работать на встроенных устройствах, которые ближе к фактическому оборудованию. Основные преимущества выполнения этого - то, что отправленный объем информации уменьшается, когда данные передаются только при необходимости, и обновления и уведомления о здоровье оборудования сразу доступны без любой задержки. Для встроенных реализаций можно использовать MATLAB Compiler, MATLAB Coder или Simulink Coder, чтобы сгенерировать код, который работает на локальной машине.
Третья опция должна использовать комбинацию двух. Части предварительной обработки и выделения признаков алгоритма могут быть запущены на встроенных устройствах, в то время как прогнозирующая модель может работать на облаке и сгенерировать уведомления по мере необходимости. В системах, таких как нефтяные развертки и авиационные двигатели, которые запускаются постоянно и генерируют огромные объемы данных, храня все данные на борту или передавая его, не всегда жизнеспособно из-за сотовой пропускной способности и ограничений стоимости. Используя алгоритм, который работает с потоковой передачей данных или с пакетами данных, позволяет вам сохранить и отправить данные только при необходимости.
После того, как вы разработали кандидата развертывания, вы тестируете и подтверждаете производительность алгоритма при реальных условиях. Эта фаза может включать тесты разработки для верификации, программного обеспечения в тестировании цикла или HIL-тестирования. Эта фаза очень важна, чтобы подтвердить и требования и разработанный алгоритм. Это часто приводит к версиям в требованиях, алгоритме или реализации, выполняющей итерации на более ранних фазах в проекте - Против.
Наконец, вы вводите алгоритм в эксплуатацию. Часто эта фаза включает контроль производительности и дальнейшую итерацию на конструктивных требованиях и алгоритме, когда вы получаете опыт работы.