時刻ずれはAIの相関分析を壊す
設備の時系列データとMESの実績を紐付ける最も簡単な方法は、「設備IDと時刻範囲」でつなぐことです。MESに記録されたロットの着手・完了時刻の間にある時系列を、そのロットのデータとみなします。この方法は、すべてのシステムの時計が合っていることが前提です。
ところが工場では、時計がずれていることがよくあります。PLCの内蔵時計が設定されたまま何年も補正されていない、検査装置のPCがネットワークにつながっておらず時刻同期されていない、夏時間やタイムゾーンの扱いがシステムによって違う、といった原因です。
ずれの影響は、工程のサイクルタイムとの比較で決まります。サイクルタイム30秒の工程で時計が20秒ずれていれば、時系列の3分の2が隣の製品のデータになります。良品と不良品の波形が混ざり、AIは「不良の特徴」を学習できません。さらに厄介なのは、ずれがあってもデータは問題なく見えることです。エラーは出ず、精度が出ない理由が分からないまま時間が過ぎます。
時刻を揃える4つの方法
時刻ずれへの対策は、同期の仕組み、時刻の規約、タイムゾーンの統一、監視と補正の4つを組み合わせます。
方法1:時刻同期の仕組みを入れる
最初の対策は、すべての機器の時計を基準時刻に合わせることです。代表的な方式は2つあります。
| 方式 | 精度の目安 | 仕組み | 向いている用途 |
|---|---|---|---|
| NTP(Network Time Protocol) | 一般的なLAN環境でミリ秒程度 | ネットワーク上の時刻サーバに定期的に問い合わせて補正する | PLC、MES、ヒストリアン、検査PCなど大半の機器 |
| PTP(Precision Time Protocol、IEEE 1588) | 対応機器・ネットワークでマイクロ秒以下 | 対応するスイッチ・機器でネットワーク遅延まで補正する | 高速な計測、複数センサの同期、モーション制御 |
精度は機器とネットワークの構成によって変わるため、上の値は目安です。多くのAI用途では、NTPでミリ秒程度に揃っていれば十分です。PTPが必要になるのは、複数の高速センサの波形を同じ時間軸で重ねて分析するような場合です。
工場内に時刻サーバを置き、すべての機器がそこを参照する構成にします。制御ネットワークの機器がインターネット上の時刻サーバを直接参照する構成は、セキュリティ上避けてください。PLCによっては時刻同期の機能を持たないものもあり、その場合は上位の機器から定期的に時刻を書き込む方法を検討します。
方法2:どの時刻を使うかの規約を決める
時計が合っていても、どの時刻を記録するかが揃っていなければ紐付けはずれます。工場のデータには、少なくとも3種類の時刻があります。
| 時刻の種類 | 意味 | 例 |
|---|---|---|
| 発生時刻(ソース時刻) | 事象が実際に起きた時刻 | PLCが値を取得した時刻、検査装置が撮影した時刻 |
| 受信時刻 | データを受け取ったシステムの時刻 | ゲートウェイやブローカーが受信した時刻 |
| 記録時刻 | データベースに書き込まれた時刻 | ヒストリアンやMESのDBへの登録時刻、作業者の入力時刻 |
AIの紐付けに使うべきは発生時刻です。受信時刻や記録時刻は、通信の遅延やバッファリング、手入力の遅れで発生時刻からずれます。特にMESの実績を作業者が後から入力する運用では、記録時刻と実際の作業時刻が数十分ずれることもあります。
規約として、データごとにどの時刻を持つかを決め、可能なら発生時刻と記録時刻の両方を残します。OPC UAではソース時刻とサーバ時刻を区別して持てるため、ソース時刻を使う設定にします。UNSのペイロードにも発生時刻を含めます(UNSのトピック設計)。
方法3:タイムゾーンと表記を統一する
海外工場を含むデータ基盤や、クラウドのサービスを使う場合は、タイムゾーンの扱いを統一します。システムによって、日本時間で記録するもの、協定世界時(UTC)で記録するもの、タイムゾーン情報を持たないものが混在していると、9時間のずれが生じます。夏時間のある国の工場では、年2回、1時間のずれや重複が発生します。
規約としては、保存はUTCかタイムゾーン付きの形式(例:2026-10-12T09:15:32.120+09:00)に統一し、表示のときに現地時刻に変換する方法が安全です。タイムゾーン情報を持たない時刻データは、取り込むときに必ずタイムゾーンを付けます。
方法4:ずれを監視し、過去データを補正する
時刻同期を入れても、機器の故障や設定変更でずれが再発することがあります。継続的に監視する仕組みを作ります。
- 同じ事象を複数のシステムが記録している場合(例:設備の停止をPLCとMESの両方が記録)、両者の時刻差を定期的に集計し、閾値を超えたら通知する
- 時刻同期の状態(同期できているか、最後の同期時刻)を機器ごとに監視する
過去データについては、ずれの量を推定して補正します。設備の停止信号とMESの停止記録のように、同じ事象を両方で記録しているデータから、期間ごとのずれ量を推定できます。補正した場合は、補正前の値と補正量を残しておきます。
許容誤差を工程ごとに決める
どこまで時刻を揃えればよいかは、工程とAIの用途で決まります。目安として、紐付けの単位(サイクル、ロット、シフト)の長さに比べて、十分小さいずれに抑えます。
時刻での紐付けには限界があります。サイクルタイムが非常に短い工程や、品質要求が高い工程では、時刻ではなくIDで紐付ける方式が確実です。紐付けの方式はMESとAIの関係、データ品質の全体像は製造データ品質の10の問題で扱っています。
よくある質問
時刻のずれがどれくらいあるか、どうやって調べればよいですか?
同じ事象を複数のシステムが記録しているデータを探すのが簡単です。設備の停止をPLCの稼働信号とMESの停止記録の両方で見る、検査装置の撮影時刻とMESの検査実績を比べる、などです。数日分の差を集計すると、平均的なずれとばらつきが分かります。
PLCに時刻同期の機能がありません。どうすればよいですか?
上位のゲートウェイやSCADAから、定期的にPLCの時計を設定する方法があります。または、PLCの時刻を使わず、ゲートウェイがデータを取得した時刻を発生時刻とみなす方法もありますが、その場合は通信遅延の分だけ誤差が出る点に注意してください。
手入力のMES実績の時刻はどう扱えばよいですか?
作業者の入力時刻は実際の作業時刻とずれるため、可能なら設備の信号(着手・完了のボタン、稼働信号)から自動で時刻を取る運用に変えます。変えられない場合は、入力時刻と設備信号の差を把握し、紐付けにどの程度の誤差があるかを前提として扱います。
この記事に出てくる用語
AIは「データ基盤」で決まる
PoCは成功したのに本番で止まる。原因の多くはモデルではなく、MESと設備データの側にある 全130本
- MESとAIの関係:ロット・作業指示・品質判定がAIの精度を決める理由
- 製造業AIが本番で止まる7つの理由:PoCは成功したのにラインに載らない構造
- 製造業のAI-OCR:紙の検査記録・点検表・ミルシートをデータ化する手順
- データ基盤の段階的導入ロードマップ:ユースケースから逆算する8ステップ
