exponenta event banner

Развертывание алгоритмов предиктивного обслуживания

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

Конструкция-V, концептуальная схема, часто используемая в контексте конструирования на основе модели, также актуальна при рассмотрении проектирования и развертывания прогностического алгоритма обслуживания. В проекте-V освещаются ключевые этапы развертывания и внедрения:

Технические условия и требования

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

  • Память и вычислительная мощность.

  • Режим работы. Например, алгоритм может представлять собой пакетный процесс, который выполняется с определенным фиксированным интервалом времени, например один раз в день. Или это может быть потоковый процесс, который выполняется каждый раз, когда новые данные доступны.

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

  • Где выполняется алгоритм, например, должен ли алгоритм выполняться в облаке или предлагаться в качестве веб-службы.

Проектирование и прототип

Этот этап проектирования-V включает в себя управление данными, разработку предварительной обработки данных, определение индикаторов условий и обучение классификационной модели для обнаружения неисправностей или модели для оценки остаточного срока службы. (См. раздел Разработка алгоритмов для мониторинга состояния и предиктивного обслуживания, в котором представлен обзор процесса разработки алгоритма.) На этапе проектирования для тестирования и настройки разработанного алгоритма часто используются исторические или синтезированные данные.

Внедрение и развертывание

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

Компилятор MATLAB

Используйте MATLAB ® Compiler™ для создания автономных приложений или общих библиотек для выполнения алгоритмов, разработанных с помощью Predictive Maintenance Toolbox™. Компилятор MATLAB можно использовать для развертывания кода MATLAB различными способами, включая автономное приложение Windows ®, общую библиотеку, надстройку Excel ®, сборку Microsoft ® .NET или общий COM-компонент. Такие приложения или библиотеки работают вне среды MATLAB, используя свободно распространяемую среду выполнения MATLAB. Среда выполнения MATLAB может быть упакована и установлена вместе с приложением или загружена во время процесса установки. Дополнительные сведения о развертывании с помощью компилятора MATLAB см. в разделе Начало работы с компилятором MATLAB (MATLAB Compiler).

Производственный сервер MATLAB

Используйте MATLAB Production Server™ для интеграции алгоритмов в веб-приложения, базы данных и корпоративные приложения. MATLAB Production Server использует компилятор MATLAB для запуска приложений на выделенных серверах или облаке. Алгоритмы предиктивного обслуживания можно упаковывать с помощью MATLAB Compiler SDK™, который расширяет функциональность MATLAB Compiler, позволяя создавать общие библиотеки C/C + +, сборки Microsoft .NET, классы Java ® или пакеты Python ® из программ MATLAB. Затем созданные библиотеки можно развернуть на производственном сервере MATLAB без перекодирования или создания пользовательской инфраструктуры.

ThingSpeak

Обслуживание ThingSpeak™ Internet of Things (IoT) платформы аналитики позволяет Вам совокупный, визуализируйте и проанализируйте живые потоки данных в облаке. Для алгоритмов диагностики и прогностики, которые выполняются с интервалами в 5 минут или дольше, можно использовать платформу ThingSpeak IoT для визуализации результатов и мониторинга состояния системы. ThingSpeak можно также использовать в качестве платформы быстрого и простого прототипирования перед развертыванием с использованием производственного сервера MATLAB. Можно передавать диагностические данные с помощью веб-служб ThingSpeak и использовать их инструменты построения диаграмм для создания панелей мониторинга для мониторинга хода выполнения и генерации аварийных сигналов отказа. ThingSpeak может взаимодействовать непосредственно с настольным кодом MATLAB или MATLAB, встроенным в целевые устройства.

Кодер MATLAB и кодер Simulink

В некоторых случаях можно использовать MATLAB Coder™ и Simulink ® Coder для генерации кода C/C + + из MATLAB или Simulink. Например :

Более полный список функциональных возможностей MathWorks с поддержкой генерации кода см. в разделе Функции и объекты, поддерживаемые для генерации кода C/C + + (кодер MATLAB).

Где развернуть

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

Внедрение облака может быть полезным при сборе и хранении больших объемов данных в облаке. Устранение необходимости передачи данных между облаком и локальными машинами, на которых выполняется алгоритм прогнозирования и мониторинга работоспособности, делает процесс обслуживания более эффективным. Результаты, рассчитанные в облаке, можно сделать доступными с помощью твитов, уведомлений по электронной почте, веб-приложений и панелей мониторинга. Для реализации облака можно использовать ThingSpeak или MATLAB Production Server.

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

Третий вариант - использовать комбинацию этих двух вариантов. Компоненты предварительной обработки и извлечения функций алгоритма могут выполняться на встроенных устройствах, в то время как прогнозная модель может выполняться в облаке и генерировать уведомления по мере необходимости. В системах, таких как нефтяные сверла и авиационные двигатели, которые работают непрерывно и генерируют огромные объемы данных, хранение всех данных на борту или передача их не всегда жизнеспособны из-за пропускной способности сотовой сети и ограничений по стоимости. Использование алгоритма, который работает с потоковыми данными или пакетами данных, позволяет сохранять и отправлять данные только при необходимости.

Интеграция программного обеспечения и систем

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

Производство

Наконец, алгоритм вводится в производственную среду. Часто этот этап включает мониторинг производительности и дальнейшую итерацию требований к конструкции и алгоритму по мере приобретения опыта эксплуатации.

Связанные темы