Развертывание или интеграция прогностического алгоритма обслуживания обычно является завершающим этапом процесса разработки алгоритма. То, как в конечном итоге развернуть алгоритм, также может рассматриваться на более ранних стадиях разработки алгоритма. Например, независимо от того, работает ли алгоритм на встроенном оборудовании, как автономный исполняемый файл или как веб-приложение, это может повлиять на требования и другие аспекты полной разработки системы прогнозирования и обслуживания. Продукты MathWorks ® поддерживают несколько этапов процесса разработки, развертывания и проверки алгоритмов предиктивного обслуживания.
Конструкция-V, концептуальная схема, часто используемая в контексте конструирования на основе модели, также актуальна при рассмотрении проектирования и развертывания прогностического алгоритма обслуживания. В проекте-V освещаются ключевые этапы развертывания и внедрения:

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