【PLC×データ可視化】ヒストグラムで測定データを見える化!ラダーによる区間設定の実装方法
製造現場では、測定データの可視化が品質改善や異常検知の第一歩。
前回はトレンドグラフの作成方法をご紹介しましたが、今回は一歩進んで、**「ヒストグラム」**を使ったデータ分布の見える化に挑戦します。
この記事でわかること
- ヒストグラムの基礎と、製造現場での活用メリット
- ヒストグラムの区間(ビン)をPLCで自動生成する方法
- ST言語で書いたスクリプトの詳細と、実行結果のイメージ
ヒストグラムとは?
データの偏り・異常・傾向を一目で把握できる分析ツール
ヒストグラムは、データを一定の範囲(ビン)に区切って頻度を可視化するグラフです。
特に製造業における測定値や検査結果の分析において、次のような利点があります。

ヒストグラムの活用メリット
- 測定値が規格内に収まっているか一目でわかる
- 異常値の有無や偏りが見える
- 工程のばらつきや変化傾向を早期に発見できる
- 異常の**兆候(例:二山分布)**を視覚的に捉えられる
現場での具体的な活用例
- 中心値からのズレを即座に検出
- NG品の発生傾向が強い区間を特定
- データの山が複数出た場合、異物混入や工程ばらつきの可能性を疑える
このように、ヒストグラムは「データの傾向や異常の早期発見」にとても役立ちます。
ヒストグラムの区間をPLCで自動生成する方法
本記事では、ラダー制御を使ってヒストグラムの区間(帯域)を自動で設定する仕組みを解説します。
PLCにより「下限値+区間幅 × 回数」で区間を生成する処理を構築します。
使用デバイス一覧
| デバイス | 役割 | 備考 |
|---|---|---|
| DM5000 | カウンター | 自動増加 |
| DM5002 | 区間数設定値 | タッチパネル入力(例:10) |
| DM5004 | 書き込み先の指定 | 自動生成 |
| DM5006 | 区間幅設定値 | タッチパネル入力(例:100) |
| DM5008 | 繰り返し回数 | 自動計算(区間数 – 1) |
| ZF0 | 最初の下限値 | 例:100(タッチパネル入力) |
ラダー実装内容(ST言語)

'区間数設定値確認
IF DM5002 > 5 THEN '区間数が5以上であれば実行開始
DM5008 = DM5002 - 1
FOR DM5000 = 0 TO DM5008 STEP 1
DM5004 = DM5000 + 1
ZF0:DM5004 = ZF0:DM5000 + DM5006
NEXT
END IF
スクリプトの詳細解説
- 最初にDM5002(区間数)が5以上あるかを判定
→ 少なすぎると分析精度が下がるため実行しないように制御 DM5008 = DM5002 - 1
→ FOR文の繰り返し回数を決定FOR DM5000 = 0 TO DM5008
→ 各区間の上限値を順次計算ZF0:DM5004 = ZF0:DM5000 + DM5006
→ 前の区間値に「区間幅(DM5006)」を加算して次の区間上限を求める処理
(例:ZF0=100 → ZF1=200 → ZF2=300…)
これをDM5000がDM5008に到達するまで繰り返し、各区間の上限値を自動的に生成していきます。
実行結果のイメージ
初期値:ZF0 = 100、区間幅 DM5006 = 100
ZF1 = ZF0 + 100 → 200
ZF2 = ZF1 + 100 → 300
ZF3 = ZF2 + 100 → 400
…(9回繰り返し)
区間は自動的に「100単位」で設定され、ヒストグラムの帯域が完成します。
次回予告:測定データを区間ごとにカウント!
実際のヒストグラムを作成するラダー処理を解説します
今回はヒストグラムの区間(ビン)を自動生成する方法を紹介しましたが、
次回は、いよいよ測定データをリアルタイムに集計してヒストグラムを構築する処理を解説します!
- 測定値を区間ごとに自動で振り分け
- 各区間で出現頻度をカウント
- データ傾向をリアルタイム可視化!
PLCによるヒストグラムの実用的な構築方法に興味のある方は、ぜひ次回もご覧ください。
📘 参考リンク:ヒストグラムの基礎知識(統計局)
https://www.stat.go.jp/naruhodo/4_graph/shokyu/histogram.html
設備の自動化やロボット・PLCの連携でお困りごとがあれば、ご相談ください。
PLC・ロボットの制御を10年以上やってきた立場から、Pythonでのデータ連携、蓄積・可視化の仕組み、遠隔操作システムの構築までお手伝いしています。
まだ構想段階でも構いません。基本はリモートで対応しています。
▼ 次の記事はこちら

