주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

예측 유지보수를 통해 기계 수명 주기 최적화 및 가동 중단 시간 단축

이 예제에서는 기계의 유지보수 필요량을 예측하고 유지보수 알림을 생성하는 방법을 보여줍니다.

예측 유지보수를 통해 기계의 고장 발생 시점을 예측할 수 있습니다. 고장 발생 시점을 예측할 수 있다면, 장비 유지보수를 위한 최적의 타이밍을 잡는 데 도움이 됩니다. 이 예제에서는 평균 전압과 RMS 전압을 상태 지표로 사용하여 로터의 유지보수 필요성을 예측합니다. 테스트 대상 로터에 장착된 가속도계 센서를 사용하여 이러한 값을 측정할 수 있습니다.

SVM 분류기를 사용하여 모델 훈련하기

로터의 평균 전압과 RMS 전압이 포함된 trainingData.mat 데이터 세트를 불러옵니다.

load('trainingData.mat');

fitcsvm (Statistics and Machine Learning Toolbox) 함수를 사용하여 데이터 세트로 2클래스 서포트 벡터 머신(SVM) 분류기를 학습시킵니다.

X = trainingData(:,1:end-1);
y = trainingData(:,end);
SVMModel = fitcsvm(X, y);
classOrder = SVMModel.ClassNames
classOrder = 2×1

     0
     1

유지보수 요구 사항 분석하기

처리된 데이터의 산점도 플롯을 그리고 지지 벡터를 동그라미로 표시하십시오.

plotScatterDiagram(SVMModel, X, y)

처리된 데이터에 대한 결정 경계선과 여유선을 그래프로 표시합니다.

plotDBandML(SVMModel, X, y)

유지보수 필요량을 예측하고 알림 생성하기

daq 함수를 사용하여 DataAcquisition 객체를 생성합니다. addinput 함수를 사용하여 아날로그 입력 채널을 추가합니다. DataAcquisition 객체의 Rate 속성을 사용하여 스캔 레이트를 초당 1000회로 설정합니다.

dq = daq("ni");
addinput(dq, "Dev1", "ai0", "Voltage");
dq.Rate = 1000;

이 예제와 함께 제공되는 classifyData 함수를 사용하여 상태 지표를 추출하고, 훈련된 모델을 배포하며, 유지보수 경보를 생성하십시오. 이 예제에서는 스캔 횟수가 1000회에 도달할 때마다 예측 알고리즘을 실행합니다. DataAcquisition 객체의 ScansAvailableFcnScansAvailableFcnCount 속성을 사용하여 이러한 실행 설정을 수정할 수 있습니다.

dq.ScansAvailableFcn = @(src, event) classifyData(src, event, SVMModel);
dq.ScansAvailableFcnCount = 1000;

start 함수를 사용하여 백그라운드 데이터 수집을 시작함으로써 예측에 필요한 데이터를 수집합니다. 함수 내의 span 인수를 원하는 시간 범위로 설정하면, 한정된 시간 범위에 대한 데이터를 얻을 수 있습니다. 이 예제에서는 5초 동안 데이터를 수집합니다.

start(dq, "Duration", seconds(5));

참고 항목

도움말 항목