手動運転で各軸の動作を確認できたら、いよいよ「原点復帰」の実装です。 ボタン一つで初期位置に戻る便利な機能ですが、設計者の「危機管理能力」が試される回路でもあります。
「とりあえず戻ればいい」という組み方では、非常停止からの復旧時に設備を壊したり、ワークを落としたりするリスクがあります。
どうするのが安全か、トラブルが少ないかを考えて設計します。
原点復帰の役割
原点復帰の主な目的は、装置がどの位置で停止していても、周囲と干渉させずに安全な初期状態(原点)へ導くことです。
特に「異常停止後」のリカバリにおいて、この回路がどれだけ正確に組まれているかが設備の信頼性に直結します。
原点位置の定義
プログラムを組む前に、まずはこの装置における「原点」がどの状態を指すのかを明確にします。
- 横シリンダ: 左端
- 縦シリンダ: 上昇端
- チャック: 開(※ただし、ワーク保持時は「閉」のまま停止させる)
理想の原点状態は「チャック開」ですが、物理的な安全を優先し、ワークを保持している場合は「閉」のまま動作を完了させます。


つまり今回はこの2パターンを原点状態として設計します。
動作順序の組み立て
物理的な干渉を防ぐため、各軸を動かす順番を決めていきます。
まず「閉端リードスイッチ」の状態を確認します。
閉端ONの場合: ワークを保持していると判断し、落下防止のためチャックを「閉」のまま保持します。
それ以外(閉端OFF): ワークはないと判断し、原点位置である「開」へ動かします。
チャックの状態が確定したことを受けて、水平移動時の干渉を防ぐために垂直軸を上昇させます。
垂直の上昇端を確認してから、水平軸を左端(原点位置)へ移動させます。
【実践】原点復帰のラダー回路構成
では、先ほどの3ステップを具体的なラダー回路に落とし込んでいきます。ここでは、「条件とインターロック」を用いた構成例を解説します。
他にも原点復帰用のステップ回路を作るやり方がありますがまた別の機会に紹介します。
1. 原点状態の定義付けと原点復帰指令の作成
まずは原点状態がどの位置なのかと言う決め事をラダー図で作成します。
原点復帰ではここがONする位置へ指令を出していくことになります。

上で説明した通りチャックは閉状態でも原位置としました。
2.原点復帰指令の作成
続いて原点復帰指令を作成していきます。

原点復帰条件(M50)がONしているときに原点復帰ボタンを押している間だけ原点復帰動作を行うような設計としました。
今回はボタンを押しっぱなしにしないと原点復帰が完了しない設計ですが、設備によっては一回押すだけで原点まで動き切るものもあります。その場合は原点復帰指令(M51)を自己保持します。
3. 原点復帰開始とチャックの判断(STEP 1)
最初は、「チャックの状態把握」です。
シリンダの「開端」と「閉端」のセンサー状態を組み合わせると、以下の 4パターン が考えられます。これをラダー図で仕分けることが、安全な原点復帰のキモとなります。④に関しては後日異常作成編で解説します。
| パターン | 状態 | 推測される状況 | 原点復帰でのアクション |
| ① 閉端ON | ワーク保持中 | ワークを掴んで停止している | 「閉」のまま維持(落下防止) |
| ② 開端ON | 空(カラ) | すでに開いた状態で停止している | 「開」のまま維持 |
| ③ 両方OFF | 中間停止 | 動作中に停止、またはワーク紛失 | 「開」指令を出して状態を確定 |
| ④ 両方ON | センサー異常 | リードスイッチの故障または位置ズレ | 異常停止(原点復帰を許可しない) |
なぜ「両方OFF」は「開」にするのか?
ここが設計の分かれ道です。中間位置で止まっている場合、そのままでは「原点状態」とは言えません。
今回は、「閉端がONしていない=ワークを掴んでいない」と判断し、安全のために一度「開」端まで動かして、状態を確定させてから次のステップ(上昇)へ進めます。
以上を踏まえてラダー図を作成していきます。
第2回(手動回路とインターロック編)で作った出力回路にそのまま足していきます。

今回の原点復帰(M51)は、チャックを「無理やり開ける」のではなく、現在のセンサー状態を見て、動作を自動で使い分けるように組まれています。
① 下の赤枠(48行目):ワーク保持時の「閉」維持
- 回路:
M51(原点復帰指令)ANDX15(チャック閉端) - 役割: 「ワークを持っているなら、そのまま離さない」ためのロジックです。
- 解説: 原点復帰が始まった瞬間、もしチャックが閉まっていれば(X15がON)、そのまま「閉指令(M111)」を叩き続けます。これにより、原点復帰の動作中にワークをポロッと落とす事故を物理的に防いでいます。
② 上の赤枠(42〜43行目):未完了時の「開」動作
- 回路:
M51AND (X14 A接点ORX15 B接点) - 役割: 「開いていたらそのまま開き続ける」もしくは「中途半端な位置にいるなら、一旦開ける」ためのロジックです。
- 解説: 開端にいるもしくは閉端にいない「中間位置」で止まっている場合、この回路が働いて「開指令(M110)」を出します。
- ここが重要!: 「ここで開指令を出したら、ワークを持っていても開いちゃうんじゃ?」と思うかもしれませんが、上段の
M108(開インターロック)が、ワーク保持中(X15 ON)の時は回路を完全に遮断しています。
4. 縦シリンダの上昇指令(STEP 2)
チャックの状態が確定(維持 or 開)したら、次は水平移動中にぶつからないよう、縦シリンダを安全な高さ(上昇端)まで逃がします。
ここで重要になるのが、「前のステップ(チャック)が終わるまで絶対に動かさない」というステップ間のバトンタッチです。
ラダー図のポイント:確定信号を待つ
第2回で設計した上昇インターロック(M104)が、ここでも活きてきます。

M104の上昇動作インターロックによって、
- チャックが開ききった(X14 ON) → ヨシ、上げていいぞ!
- ワークを掴みきった(X15 ON) → ヨシ、離さないから上げていいぞ!
この「どちらかの状態が確定するまで上昇させない」という動きになります。
チャックが中途半端な位置で周辺部材をなぎ倒す事故を防ぎます。
今回の縦シリンダは原点復帰で下降したいタイミングは無いので上昇にのみ原点復帰指令を入れています。
なぜ「上昇」を先に行うのか?
先に左(横シリンダ)に動かすのは非常に危険です。 下降端付近には治具やワーク、他軸の干渉物が密集しています。まずは「Z軸(高さ)を上げる」ことで、物理的な干渉リスクをゼロにする。
これは、基本的にどんな装置でも共通する原点復帰の順序かと思います。
5. 横シリンダの左移動と完了処理(STEP 3)
原点復帰の最終工程は、横シリンダを左端(原点)へ戻す動作です。 ここで「縦シリンダが上がりきっているか?」という心配をする必要はありません。なぜなら、第2回で作成した「共通インターロック」がすでにその安全を担保しているからです。

ラダー図の構成
横シリンダの出力回路(M107付近)には、すでに手動・自動共通のインターロック(M106)が入っています。
- 条件:
原点復帰指令(M51)+(既存のインターロック M106) - インターロックの中身:
M106の中に「縦シリンダ上昇端(X11)」が含まれているため、原点復帰のラインにわざわざ X11 を書き足す必要はありません。
このように、「出口(出力直前)」で一括して安全を担保することで、原点復帰のロジック自体は「ただ指令を出すだけ」という、非常に読みやすい形になります。
4. 原点復帰完了
横シリンダが左端(X12)に到達すれば、全ての軸が初期位置に戻ります。
ここで原点復帰条件(M50)が揃わなくなり、動作が止まります。

まとめ
今回の「原点復帰(M51)」は、以下の3ステップで完結します。
- 状況判断(STEP 1) チャックのセンサー(X15)をゲートにし、「ワークがあるなら閉じたまま、ないなら開ける」という動作を自動で振り分けます。
- 縦シリンダ上昇(STEP 2) チャックの状態確定(X14 or X15)をトリガーに上昇を開始。中途半端な位置での動作を物理的に防ぎます。
- 横シリンダ左移動(STEP 3) 「上昇端(X11)」が含まれる共通インターロック(M106)を条件に、左端へ移動。これで原点復帰完了です。
設計のポイント
「手動でも自動でも、危ない時は動かさない」というインターロックを出力直前(M104/M106など)に集約させることで、原点復帰のロジック自体は条件を並べ立てることなく、シンプルに「指令を出すだけ」の回路にすることができました。


コメント