Развертывание или интегрирование прогнозирующего алгоритма обслуживания обычно являются заключительным этапом рабочего процесса разработки алгоритмов. Как вы в конечном счете развертываетесь, алгоритм может также быть фактором в более ранних стадиях проекта алгоритма. Например, ли алгоритм работает на встроенном оборудовании как независимый исполняемый файл, или когда веб-приложение может оказать влияние на требования и другие аспекты полной разработки системы прогнозирующего обслуживания. 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, не повторно кодируя или создавая пользовательскую инфраструктуру.
Сервис аналитической платформы Интернета вещей (IoT) ThingSpeak™ позволяет вам совокупный, визуализируйте и анализируйте живые потоки данных в облаке. Для диагностики и алгоритмов предзнаменований, которые запускаются с промежутками в 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-тестирования. Эта фаза очень важна, чтобы подтвердить и требования и разработанный алгоритм. Это часто приводит к версиям в требованиях, алгоритме или реализации, выполняющей итерации на более ранних фазах в проекте - Против.
Наконец, вы помещаете алгоритм в производственную среду. Часто эта фаза включает контроль эффективности и дальнейшую итерацию на конструктивных требованиях и алгоритме, когда вы получаете опыт работы.