Main Content

예측 정비 알고리즘 배포하기

일반적으로 예측 정비 알고리즘의 배포 또는 통합은 알고리즘 개발 워크플로의 최종 단계입니다. 최종적으로 알고리즘을 어떻게 배포할지는 알고리즘 설계의 초기 단계에서도 고려 사항이 될 수 있습니다. 예를 들어, 알고리즘이 임베디드 하드웨어에서 실행되는지, 독립형 실행 파일로 실행되는지 또는 웹 애플리케이션으로 실행되는지 여부는 전체 예측 정비 시스템 설계의 요구 사항 및 다른 측면에 영향을 줄 수 있습니다. MathWorks® 제품은 예측 정비 알고리즘의 개발, 배포 및 검증을 위한 여러 단계의 과정을 지원합니다.

모델 기반 설계의 맥락에서 자주 사용되는 개념적 다이어그램인 V형 설계도 예측 정비 알고리즘의 설계 및 배포를 고려하는 경우에 관련이 있습니다. V형 설계는 핵심이 되는 배포 및 구현 단계를 강조합니다.

사양 및 요구 사항

사양 및 요구 사항 개발에는 예측 정비 알고리즘 관점과 배포 관점 모두에서의 고려 사항이 포함됩니다. 예측 정비 알고리즘 요구 사항은 프로세스, 신호 및 예상되는 결함의 수학적 분석과 연계된 시스템의 이해에서 비롯됩니다. 배포 요구 사항에는 다음에 대한 요구 사항이 포함될 수 있습니다.

  • 메모리 및 계산 성능.

  • 작동 모드. 예를 들어, 알고리즘은 하루에 한 번과 같이 고정 시간 간격으로 실행되는 일괄 처리 프로세스일 수 있습니다. 또는 새 데이터를 사용할 수 있게 될 때마다 실행되는 스트리밍 프로세스일 수 있습니다.

  • 알고리즘의 유지관리 또는 업데이트. 예를 들어, 배포된 알고리즘이 고정되어 있고 간헐적 업데이트를 통해 변경 사항만 변경될 수 있습니다. 또는 새 데이터를 사용할 수 있을 경우 이에 맞게 조정하고 자동으로 업데이트하는 알고리즘을 개발할 수 있습니다.

  • 알고리즘이 실행되는 위치. 예를 들면 알고리즘이 클라우드에서 실행되어야 하는지 또는 웹 서비스로 제공되어야 하는지 여부입니다.

설계 및 프로토타입

V형 설계의 이 단계에는 데이터 관리, 데이터 전처리 설계, 상태 지표의 식별, 결함 검출을 위한 분류 모델 또는 잔여 수명을 추정하기 위한 모델의 훈련이 포함됩니다. (알고리즘 설계 과정에 대한 개요는 상태 모니터링 및 예측 정비를 위한 알고리즘 설계하기 항목을 참조하십시오.) 설계 단계에서는 개발된 알고리즘을 테스트하고 조정하기 위해 과거 데이터 또는 합성 데이터가 자주 사용됩니다.

구현 및 배포하기

후보 알고리즘을 개발한 후 다음 단계는 알고리즘을 구현하고 배포하는 것입니다. MathWorks 제품은 독립 실행형 애플리케이션에서 웹 서비스에 이르기까지 다양한 애플리케이션 요구 사항과 리소스 제약 조건을 지원합니다.

MATLAB CoderSimulink Coder

경우에 따라 MATLAB® Coder™Simulink® Coder를 사용해 MATLAB 또는 Simulink에서 C/C++ 코드를 생성할 수 있습니다. 예를 들면 다음과 같습니다.

코드 생성이 지원되는 MathWorks 기능의 보다 종합적인 목록은 C/C++ 코드 생성에 지원되는 함수 및 객체 (MATLAB Coder) 항목을 참조하십시오.

MATLAB Compiler

MATLAB Compiler™를 사용하면 Predictive Maintenance Toolbox를 사용해 개발된 알고리즘을 실행하기 위한 독립 실행형 애플리케이션 또는 공유 라이브러리를 만들 수 있습니다. MATLAB Compiler를 사용하여 독립 실행형 Windows® 애플리케이션, 공유 라이브러리, Excel® 추가 기능, Microsoft® .NET 어셈블리 또는 일반 COM 컴포넌트를 포함하여 다양한 방법으로 MATLAB 코드를 배포할 수 있습니다. 이러한 애플리케이션 또는 라이브러리는 무료 배포가 가능한 MATLAB Runtime을 사용하여 MATLAB 환경 외부에서 실행됩니다. MATLAB Runtime은 애플리케이션과 함께 패키징 및 설치되거나 설치 과정 중에 다운로드될 수 있습니다. MATLAB Compiler를 사용한 배포에 대한 자세한 내용은 Get Started with MATLAB Compiler (MATLAB Compiler) 항목을 참조하십시오.

MATLAB Production Server

MATLAB Production Server™를 사용하면 알고리즘을 웹, 데이터베이스 및 엔터프라이즈 애플리케이션에 통합할 수 있습니다. MATLAB Production ServerMATLAB Compiler를 활용하여 전용 서버나 클라우드에서 애플리케이션을 실행합니다. MATLAB 프로그램에서 C/C ++ 공유 라이브러리, Microsoft .NET 어셈블리, Java® 클래스 또는 Python® 패키지를 빌드할 수 있도록 MATLAB Compiler의 기능을 확장하는 MATLAB Compiler SDK™를 사용하여 예측 정비 알고리즘을 패키징할 수 있습니다. 그런 다음 사용자 지정 인프라를 다시 코딩하거나 생성하지 않고도, 생성된 라이브러리를 MATLAB Production Server에 배포할 수 있습니다.

ThingSpeak

ThingSpeak™ 사물 인터넷(IoT) 분석 플랫폼 서비스를 사용하면 클라우드 환경에서 라이브 데이터 스트림을 집계하고 시각화하고 분석할 수 있습니다. 5분 이상의 간격으로 실행되는 진단 및 예지진단 알고리즘의 경우 ThingSpeak IoT 플랫폼을 사용하여 결과를 시각화하고 시스템 상태를 모니터링할 수 있습니다. MATLAB Production Server를 사용하여 배포하기 전에 ThingSpeak를 빠르고 간단한 프로토타이핑 플랫폼으로 사용할 수도 있습니다. ThingSpeak 웹 서비스를 사용하여 진단 데이터를 전송하고, 차트 툴을 사용하여 진행 상황을 모니터링하고 고장 경보를 생성하기 위한 대시보드를 만들 수 있습니다. ThingSpeak는 데스크탑 MATLAB 또는 대상 장치에 내장된 MATLAB 코드와 직접 통신할 수 있습니다.

배포 위치

알고리즘을 임베디드 시스템에 배포할지 또는 클라우드에 배포할지를 선택해야 하는 경우가 많습니다.

클라우드 구현은 클라우드에서 대량의 데이터를 수집하고 저장하는 경우에 유용할 수 있습니다. 예지진단 및 건전성 모니터링 알고리즘을 실행하는 로컬 컴퓨터와 클라우드 사이에서 데이터를 전송할 필요를 없애면 보다 더 효과적인 유지관리 절차를 만들 수 있습니다. 클라우드에서 계산한 결과를 트윗, 이메일 알림, 웹 앱 및 대시보드에서 사용 가능하게 할 수 있습니다. 클라우드 구현의 경우 ThingSpeak 또는 MATLAB Production Server를 사용할 수 있습니다.

또는 실제 장비와 더 가까이 있는 임베디드 장치에서 알고리즘을 실행할 수 있습니다. 이 방법의 주된 이점은 데이터가 필요한 경우에만 전송되므로 전송되는 정보의 양이 줄어들고, 장비 건전성에 대한 업데이트와 알림이 지연 없이 즉시 제공된다는 것입니다. 임베디드 구현의 경우 MATLAB Compiler, MATLAB Coder 또는 Simulink Coder를 사용하여 로컬 컴퓨터에서 실행되는 코드를 생성할 수 있습니다.

세 번째 옵션은 이 두 가지 방법을 조합하는 것입니다. 알고리즘에서 전처리 및 특징 추출 부분은 임베디드 장치에서 실행하고 예측 모델은 클라우드에서 실행하여 필요에 따라 알림을 생성할 수 있습니다. 석유 시추 및 항공기 엔진처럼 중단 없이 운영되며 대량의 데이터를 생성하는 시스템은 셀룰러 대역폭과 비용 제한으로 인해 모든 데이터를 시스템에 보관하거나 전송하는 것이 어려울 수 있습니다. 스트리밍 데이터 또는 배치 단위의 데이터에 대해 작동하는 알고리즘을 사용하면 필요한 경우에만 데이터를 저장하고 전송할 수 있습니다.

소프트웨어 및 시스템 통합

배포 후보를 개발한 후 실제 조건에서 알고리즘 성능을 테스트하고 검증합니다. 이 단계는 검증, SIL(Software-in-the-Loop) 테스트 또는 HIL(Hardware-in-the-Loop) 테스트를 위한 테스트 설계를 포함할 수 있습니다. 이 단계는 요구 사항과 개발된 알고리즘을 모두 검증하는 데 중요합니다. 이 단계에서 요구 사항, 알고리즘 또는 구현이 수정되어 V형 설계의 초기 단계가 반복되는 경우가 많습니다.

프로덕션

마지막으로 알고리즘을 프로덕션 환경에 배치합니다. 사용자가 운영 경험을 쌓아 감에 따라, 종종 성능 모니터링과 설계 요구 사항 및 알고리즘에 대한 추가적인 반복(iteration) 작업이 이 단계에 포함되게 됩니다.

관련 항목