初心者向け

【初心者向け】ラダー制御「JMP/STG」とは?

fa-engineer

順序制御の基本を図付きでやさしく解説!

こんにちは!今回もラダー初心者の方に向けて、やさしく解説していきます。
前回は「SET/RESET命令」についてご紹介しましたが、今回はその応用編ともいえる「JMP/STG命令」の使い方です。

まだご覧になっていない方は、先にこちらの記事を読むことをおすすめします。

🔧 今回のテーマ:「JMP/STG命令」で順序制御をスッキリ記述!

JMP/STG命令は、ラダーでシーケンス制御(順序動作)を作成する際にとても便利な命令です。
今回は、エア機器を使った1サイクル搬送動作を題材に、図とラダー付きで使い方を丁寧に解説します。


🚀 そもそもシーケンス制御とは?

「あらかじめ決められた順番で機器を動かす制御方式」のことです。

この順序制御をJMP/STG命令を使って実現していきます。

🔧 使用する装置構成(構想図付き)

  • 青:エアスライダー(左右移動)
  • オレンジ:エアシリンダー(上下動作)
  • 緑:エアチャック(ワークのつかみ)

🎯 動作仕様(1サイクル搬送)

  • 起動ボタンを押すと動作開始
  • シリンダー+スライダー+チャックを使って、OUT側にあるワークをIN側へ搬送する

簡易フロー図

動作フロー図

💻 ラダー全体図

🧱 JMP/STGを書くときの基本ルール(4つ)

手順内容
MC ~ MCR で処理ブロックを囲う
起動条件には LDP(パルス)を使用
起動デバイスと MC のデバイス番号を一致させる
最後に ENDS 命令で終了処理を入れる

🔍 各ステップの詳細とラダー図解説

✅ ① STP/STE の使い方

  • STP(例:MR1001)がONの間、囲んだ処理が有効
  • STEで範囲を閉じる

✅ ② LDで起動条件を生成

  • 起動時に1サイクルだけ動作を開始するために出力側には微分を使用します

✅ ③ 最後に起動OFF+ENDSで終了処理

  • 動作終了時に、MR1001をOFF
  • ENDS命令でJMP/STGブロックを終了

🧠 JMPとSTGの基本動作

命令役割
JMP@MR000ジャンプ命令。対応する STG@MR000 に飛ぶ
STG@ME000ジャンプ先の目印。ここから処理開始

JMPは「ジャンプ命令」、STGは「ジャンプ先の目印」です。

  • JMP@MR000 がON → STG@MR000 にジャンプ
  • そのステップの処理を実行
  • 処理が終わったら次のJMP@MR001へ…

🛠 シリンダー下降の例

  1. MR1001がONすることでシリンダーが下降を開始 → STG@MR000がON
  2. 降下完了でASセンサ(R34000など)がON
  3. タイマーONDL開始 → 規定時間後MR501がON
  4. JMP@MR001がON → STG@MR001 にジャンプ → 次のステップへ

✅ まとめ:JMP/STGは“順序制御の見える化”に最適!

  • JMP/STGは「処理の順番を明確にしたい時」に最適!
  • 複雑なシーケンスでもラダーを整理しやすく、可読性アップ
  • 書き方ルールさえ守れば、構造もスッキリします

📌 初心者にもおすすめの理由

  • 「1ステップ=1処理」として書けるので保守性も抜群
  • ラダーの見通しが良くなり、デバッグも簡単
  • 記述ルールを守れば誰でも使える!

以上、JMP/STGを使ったラダーシーケンス制御の基礎解説でした。

何度かラダーを書いてみると、手順ごとの「見える化」ができてとても便利ですよ!

「JMP/STG」は、一連の動作を順序立てて記述したい時にとても便利な命令です。
ぜひ実際の設備制御でも使ってみてください!

ABOUT ME
Yu
Yu
設備エンジニア(フリーランス)
生産技術の現場で10年以上の経験を持ち、制御設計を中心に生産設備の開発全般に携わってきました。 特に、産業用ロボットを活用した自動化設備の開発を得意としており、機械・電気・制御の知識を横断的に活かして業務に取り組んでいます。 近年では、PLCと連携したIoTシステムの構築にも注力しており、PythonやSQL Serverなどを活用したデータ収集・可視化・分析の仕組みづくりにも対応しています。 現場のリアルな課題を解決するための実践的なノウハウを発信していきます。
記事URLをコピーしました