リアルタイム振動データでベアリングの欠陥を早期に検出:neo-pkg-bearing-analytics 1.0.0 リリース
ベアリングの欠陥は、振動の大きさより先に欠陥周波数に現れます。
回転機械の故障の多くは、ベアリングから始まります。ベアリングの軌道輪に傷ができると、玉がその上を通過するたびに短い衝撃が一定の間隔で発生します。1秒間に何回衝撃が起こるかは、ベアリングの形状と回転数によって決まります。これを欠陥周波数と呼びます。欠陥の初期段階では振動の大きさ(振幅)がほとんど変わらないこともありますが、振動信号にはすでに欠陥周波数が現れ始めています。
neo-pkg-bearing-analyticsは、振動データから欠陥周波数を見つけてベアリングを診断するパッケージです。欠陥周波数に基づく診断は、専門家が長年使用してきた実績のある方法ですが、これまでは専用の診断装置と専門知識を持つ人材が必要でした。このパッケージでは、Machbase Neoにリアルタイムで蓄積される振動データに対して、その方法を直接適用できます。クエリやコードを書く必要はなく、設備ごとの回転数とベアリングの型番を入力するだけです。
ベアリングの異常を早期に把握できれば、突然の設備停止を待つのではなく、計画した保全時間に合わせて整備できます。
振動の大きさだけでは不十分な理由
振動監視でよく使われるのは、振動の大きさにしきい値を設定し、一定の水準を超えたら警報を出す方法です。単純な方法ですが、ベアリングを保護するには二つの課題があります。
1. 誤警報が多いこと。負荷の大きい設備や、もともと振動の大きい設備は、正常でも強く振動します。振動が大きいことは「どこかに問題があるかもしれない」ことを示すだけで、ベアリングが損傷しているとは限りません。
2. 検出が遅れること。ベアリングの欠陥は、ごく小さな傷から始まります。このときの衝撃は全体の振動に埋もれるほど小さく、振動の大きさが目立って増えるころには、欠陥がかなり進行している可能性があります。
そのため専門家は、振動の大きさだけでなく、ベアリングの欠陥周波数が現れているかを先に確認します。設備ごとの回転数とベアリング情報を設定しておけば、専門家が装置を持ち込んで行っていた分析を、このパッケージがNeoに蓄積された振動データで実行します。
neo-pkg-bearing-analyticsの主な機能
1. 欠陥周波数の検出 — 損傷が疑われる箇所を見つける
先ほど説明した衝撃を図にすると、次のようになります。自動車のタイヤに挟まった石が1回転ごとに「カチッ」と音を立てるように、玉が傷を通過するたびに、一定の間隔で衝撃が発生します。

欠陥周波数は、傷が外輪、内輪、転動体のどこにあるかによって異なります。そのため、どの欠陥周波数が現れているかを見ると、損傷が疑われる部位を推定できます。
ただし、こうした衝撃は他の振動に埋もれて見えにくくなっています。そこで、衝撃が現れやすい高周波数帯をまず抽出し、その衝撃が繰り返される周波数を取り出します。騒がしい工場の中で、特定の音だけを聞き分けるような処理です。

上の画面は、中国の西安交通大学が公開したベアリング寿命試験データ(XJTU-SY)を使い、実際に故障するまで運転したベアリングの外輪欠陥を、このパッケージで分析した結果です。ベアリングの形状と回転数から事前に計算した欠陥周波数115.6 Hzと、その2倍、3倍の位置にピークが並んでいます。この並びが外輪欠陥の痕跡です。
2. 状態判定 — 欠陥周波数で異常を検出し、振動の大きさで深刻度を決める
状態判定は「良好・注意・危険・深刻」の4段階です。二つの基準が、それぞれ異なる役割を担います。
欠陥周波数 — 判定を引き上げるかどうか:ベアリングの欠陥周波数が検出されると、判定の引き上げが始まります。検出されなければ、振動がどれだけ大きくてもベアリングの判定は「良好」のままです。
振動の大きさ — どこまで引き上げるか:国際規格ISO 10816では、機械の大きさに応じた振動の許容範囲を、A(新設設備の水準)からD(損傷が懸念される水準)までの領域に分けています。欠陥周波数によって判定を引き上げる際、その深刻度をこの領域で決めます。

振動が大きいだけで欠陥周波数がない場合は、その事実を画面に別途表示し、ベアリングの判定は引き上げません。原因がベアリング以外にある可能性があるためです。反対に、振動がまだ小さくても欠陥周波数が現れれば「注意」に引き上げます。これこそ、このパッケージが検出を目指す初期欠陥です。
以下は、先ほどの寿命試験ベアリングについて作成したレポートです。明瞭な欠陥周波数が検出され、振動の大きさもC領域まで増えているため、「危険」と判定されました。

この判定方式の効果は、公開データで確認できます。大学や研究機関が公開した4種類のベアリング試験データ(CWRU・MFPT・Paderborn・XJTU-SY)から、正常なベアリング100件と損傷したベアリング283件、合計383件を選び、判定基準だけを変えて比較しました。

いずれもベアリング試験装置で測定されたデータのため、正常なベアリングでも振動が大きくなります。その結果、振動の大きさだけを見る基準では、正常と欠陥をほとんど区別できませんでした。正常な100件のうち69件で警報を出す一方、損傷したベアリングは37%しか検出できなかったのです。
複数の基準を組み合わせても、誤警報の問題は解消しませんでした。損傷したベアリングの検出率は74%まで上がりましたが、誤警報率は69%のままでした。
欠陥周波数の検出を判定引き上げの条件にすると、誤警報率は3%に下がり、損傷したベアリングの65%を検出できました。また、損傷したベアリングの半数強、約54%では、損傷部位まで正しく特定できました。現場で継続して使うには警報を信頼できることが必要なため、まず誤警報を減らすことを優先しました。
故障をどれだけ早く知らせるかも確認しました。故障まで運転を続けるNASAのベアリング寿命試験では、外輪欠陥で破損の約3日前、転動体欠陥で約25日前に最初の警報を出しました。これらは公開された試験装置のデータで検証した結果であり、実際の現場設備のデータではまだ検証していません。
AIの学習ではなく、信号・統計分析を使う方式なので、設備ごとに学習用データを集める必要はありません。回転数とベアリングの型番を入力すれば、その日から状態判定を始められます。
3. モニタリング — すべての設備を一つの画面で
アプリを開くと、選択した設備がすべてカードで表示されます。各カードの現在の振動値、直近1分間の推移、状態判定がリアルタイムで更新され、状態の悪い設備が先頭に表示されます。

最上部のサマリーにある「判定保留」は、現在判定できない設備の数です。設備が停止している、信号が途切れている、センサー値が異常である、回転数やベアリング情報が未設定である、といった場合に判定保留となります。判定できない設備を「良好」と表示すると、安心すべきでない状態で安心させてしまうためです。
監視は、アプリを開いている間だけ行われるわけではありません。サーバー監視を有効にすると、Neoサーバーが同じ判定処理を継続し、アプリを閉じても記録の蓄積と通知を続けます。監視が停止したり遅延したりした場合も画面に表示されるため、通知がないときに監視自体が止まっていないかと心配する必要はありません。

4. 詳細分析 — 判定の根拠と次に取るべき行動まで
カードをクリックすると、その設備の詳細分析が開きます。センサーが記録した生の振動波形と、振動を周波数ごとに分けた複数のグラフを、一つの画面で確認できます。グラフには欠陥周波数の位置があらかじめ表示され、その位置にピークがあるかを目で確かめられます。以下は、先ほどの寿命試験ベアリングを詳細分析で表示した画面です。
判定カードと総合分析 — 判定の根拠と今すべきこと
画面上部の判定カードでは、ベアリングの欠陥パターンと振動の大きさから、どのように状態判定が決まったかを1行で示します。例えば「欠陥パターンあり+ISO A領域 → 注意」です。その直下には、今すべきことが1行で表示されます。総合分析を開くと、判定の根拠と、推奨される行動を実行するための具体的な手順が、判定結果に応じて表示されます。判定自体にはAIを使わないため、同じデータなら常に同じ結果になります。必要に応じて、AI(Claude・OpenAI・Gemini・Ollama)による詳しい所見を追加することもできます。

RMS推移 — 振動の大きさの時間変化
振動の大きさが段階的に増加し、故障直前には最も高い領域に達します。

生波形 — センサーが記録した振動をそのまま表示
加工していないセンサー値を表示するため、衝撃のピークを直接確認できます。

FFT周波数スペクトル — 振動を周波数ごとに分解したグラフ
回転周波数と欠陥周波数の位置にマーカーがあるため、どの周波数成分が強いかを一目で確認できます。

スペクトログラム — 時間とともに変化する周波数成分
明るい色ほど強い成分を示し、どの周波数帯がいつから強くなったかを確認できます。

詳細分析には、このほかにもベアリングの欠陥を異なる観点から確認する指標があります。欠陥による衝撃がどれだけ鋭くなるか(クレストファクター・尖度の推移)、欠陥に関連する帯域のエネルギーが増えているか(欠陥帯域エネルギーの推移)、どの周波数帯で衝撃が強いか(帯域別の衝撃性)を確認できます。
5. レポートと通知
レポートは、ボタン一つで生成できる単一のHTMLファイルです。追加のソフトウェアなしでブラウザーから開けるほか、グラフを拡大して確認でき、上部の印刷ボタンから印刷やPDF保存ができます。

レポートは「サマリー」と「全体分析」の二つのタブで構成されます。サマリーは30秒で読めるように設計しています。最上部に状態判定と診断結果、その直下に今すべきことを1行で示し、主要な数値、疑われる欠陥、具体的な対処方法が続きます。判定の限界も明記し、この測定では原理的に分からないこと、確認したが見つからなかったこと、まだ説明できていない信号を区別して示します。全体分析タブでは、深刻度、推移、スペクトル、欠陥の根拠、具体的な対処方法まで、すべてのグラフと根拠を順番に確認できます。
通知は、状態判定の変化や信号の途絶などが起きた際に送信されます。一時的なスパイクで大量の通知が出ないよう、判定の変化が2回連続で確認された場合にのみ通知します。1回だけのスパイクは記録に残すだけです。通知先にはSlack・Discord・Google Chatなどを利用でき、メールやSMSが必要な場合は、自動化ツールを経由して受信できます。
使い始めるには
必要なもの — Machbase Neo 8.7.3以降と、振動センサーデータが蓄積されるTAGテーブル。ROLLUPの設定を推奨します。設定しない場合、長期間の推移は直近の期間に制限され、サーバー監視は動作しません。
準備 — Neoにパッケージをインストールした後、管理者がアプリ設定画面でパッケージ用の保存領域を作成し、利用するアカウントにパッケージの利用権限と分析対象テーブルの参照権限を付与します。アカウントごとにNeoでAPIトークンを発行し、アプリに入力します。
開始 — 振動データのテーブルを選び、設備ごとの回転数とベアリングの型番を入力すると、すぐに判定が始まります。ただし通知には、同じ状態判定が2回連続(既定では10分間隔)で確認される必要があるため、最初の通知は早くても10分後です。
任意の機能 — 通知、サーバー監視、AI所見は必要に応じて有効にします。
推奨事項 — 初めて導入する際は、通知を有効にする前に判定だけを動かし、設備に適した結果になるかを確認してください。
詳しい使い方と検証結果は、英語・韓国語・日本語のマニュアルで提供しています — \
おわりに
このパッケージの中心にある考え方は一つです。欠陥は、振幅より先に周波数に現れます。そのため、振動が大きいという事実よりも、ベアリングの欠陥周波数が現れているかを先に確認し、根拠がある場合にだけ状態判定を引き上げます。
また、すべての判定に根拠を添えています。なぜそのように判定したかが分かる道具であってこそ、現場で信頼して使えると考えるからです。点検担当者に代わるものではなく、担当者がより早く、より的確に確認すべき場所を見つけるための道具です。
1.0.0は、その第一歩です。現在は、一つのセンサーが一方向で測定した振動からベアリングを診断します。そのため欠陥の原因は仮説として提示し、一方向の測定による限界を画面とレポートの両方に明記しています。今後は、水平方向・垂直方向・軸方向など、複数の方向で測定した振動を組み合わせる分析を追加し、ベアリング診断の根拠をさらに強化する予定です。試験装置のデータでは効果を確認していますが、実際の現場設備のデータではまだ検証していません。現場でお使いいただいた結果やご意見をお寄せください。そのフィードバックをもとに、改善を続けていきます。


