Развертывание или интегрирование прогнозирующего алгоритма обслуживания обычно является завершающим этапом разработки алгоритмов рабочего процесса. Как вы в конечном счете развертываете алгоритм, может также быть фактор на более ранних стадиях проекта алгоритма. Для примера, является ли алгоритм запусков на встроенном оборудовании, в качестве независимого исполняемого файла или в качестве веб-приложения, может иметь влияние на требования и другие аспекты полной разработки системы прогнозирующего обслуживания. 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™ Internet of Things (IoT) позволяет вам агрегировать, визуализировать и анализировать живые потоки данных в облаке. Для диагностики и прогнозирования алгоритмов, которые выполняются в интервалы 5 минут или дольше, можно использовать платформу ThingSpeak IoT, чтобы визуализировать результаты и контролировать условие вашей системы. Можно также использовать ThingSpeak как платформу быстрого и простого прототипирования перед развертыванием с помощью MATLAB Production Server. Можно передать диагностические данные с помощью веб-сервисов ThingSpeak и использовать его инструменты построения графиков для создания панелей мониторинга прогресса и генерации аварийных сигналов отказа. ThingSpeak может напрямую общаться с настольными MATLAB или кодами MATLAB, встроенными в целевые устройства.
В некоторых случаях можно использовать MATLAB Coder™ и Simulink® Кодер для генерации кода C/C + + из MATLAB или Simulink. Для примера:
Можно сгенерировать код для оценки оставшегося срока полезного использования с помощью основанных на деградации моделей RUL с помощью MATLAB Coder. Для примеров смотрите Сгенерируйте Код для Предсказания Оставшейся Полезной Жизни и Сгенерируйте Код, который сохраняет Состояние Модели RUL для Перезапуска Системы.
Многий System Identification Toolbox™ функции поддерживают генерацию кода. Например, вы можете сгенерировать код из алгоритмов, которые используют оценку состояния (например, extendedKalmanFilter
) и оценка рекурсивного параметра (например, recursiveAR
).
Многий Signal Processing Toolbox™ и Statistics and Machine Learning Toolbox™ функции и объекты также поддерживают MATLAB Coder.
Более полный список функциональности MathWorks с поддержкой генерации кода см. в разделах Функции и Объекты, поддерживаемые для генерации кода C/C + + (MATLAB Coder).
Один из вариантов, который вы часто должны сделать, это развернуть ли ваш алгоритм во встраиваемой системе или в облаке.
Реализация облака может быть полезной, когда вы собираете и храните большие объемы данных в облаке. Устранение необходимости передачи данных между облаком и локальными машинами, на которых работает алгоритм прогнозирования и мониторинга состояния, делает процесс обслуживания более эффективным. Результаты, рассчитанные в облаке, могут быть доступны через твиты, уведомления по электронной почте, веб- приложения и панели мониторинга. Для облачных реализаций можно использовать ThingSpeak или MATLAB Production Server.
В качестве альтернативы алгоритм может запускаться на встраиваемых устройствах, которые ближе к фактическому оборудованию. Основными преимуществами этого являются то, что объем отправляемой информации уменьшается, когда данные передаются только при необходимости, и обновления и уведомления о работоспособности оборудования немедленно доступны без каких-либо задержек. Для встраиваемых реализаций можно использовать MATLAB Compiler, MATLAB Coder или Simulink Coder, чтобы сгенерировать код, который запускается на локальной машине.
Третья опция - использовать комбинацию двух. Части алгоритма предварительной обработки и редукции данных могут запускаться на встраиваемых устройствах, в то время как прогнозирующая модель может запускаться на облаке и генерировать уведомления по мере необходимости. В таких системах, как масляные сверла и авиационные двигатели, которые работают постоянно и генерируют огромное количество данных, хранение всех данных на борту или передача их не всегда жизнеспособно из-за сотовой полосы пропускания и ограничений затрат. Использование алгоритма, который работает с потоковыми данными или с пакетами данных, позволяет хранить и отправлять данные только при необходимости.
После того, как вы разработали кандидата на развертывание, вы тестируете и проверяете эффективность алгоритма в реальных условиях. Эта фаза может включать разработку тестов для верификации, проверки ПО в цикле или HIL-тестирования. Эта фаза очень важна для проверки как требований, так и разработанного алгоритма. Это часто приводит к пересмотру требований, алгоритма или реализации, итерации на более ранних фазах в проекте-V.
Наконец, вы поместите алгоритм в производственное окружение. Часто эта фаза включает мониторинг эффективности и дальнейшую итерацию требований проекта и алгоритма, когда вы получаете опыт работы.