この記事は修正中です。少々お待ちください。20241203
ラダープログラム(Ladder Program)とは、主にPLC(プログラマブル・ロジック・コントローラ)を制御するプログラミング言語の1つです。
PLCとは、工場設備や産業機械の制御に使われる他、信号機、エレベータ、テーマパークのアトラクション等、身近な機械で頻繁に使用されています。
PLCを制御するためのプログラム言語はIEC61131-3により5種類が定義されており、ラダープログラムはその中の1つで、2024年時点で日本国内で最も普及している言語です。
この記事では、ラダープログラムとはどのようなプログラミング言語なのか?を簡潔ではありますが解説します。少しでもラダープログラムについてイメージを膨らませて頂くことができれば幸いです。
目次
1. ラダープログラムとは?
ラダー(Ladder)とは、直訳すると梯子(はしご)という意味です。ラダープログラムはリレー回路をベースに考案されたプログラム言語で梯子のような見た目をしています。
従来、自動化システムはリレー回路と呼ばれるリレー(電磁石で動作するスイッチ)やタイマリレー(時間差で動作するリレー)を数個~数千個用いて制御されていました。
リレー回路の場合、動作変更や追加機能を組み込むためには、配線の変更やリレー部品の追加が必要になり、作業に大きな手間と時間が掛かります。
また、リレーが接点の溶着や接触不良を起こした場合、回路全体を見直さなければならない可能性もあり、トラブルシューティングにも大きな労力が必要になります。
ラダープログラムはリレー回路と比較して、動作変更や追加機能の組み込みが容易で、サーボモータやアナログ入出力、ネットワーク接続等の複雑な制御にも対応することが可能です。
リレー回路とラダープログラムの比較
実際のリレー回路とラダープログラムを比較します。
↓がリレー回路です。
↓がラダープログラムです。(三菱電機製:GX Works3で作成)
個々の記号は異なりますが、左右に縦線があり、横線で各記号を接続しており、似た見た目をしている事が分かるかと思います。
どちらもスイッチ(緑)を押している間、ランプ(赤)が点滅(点灯0.6秒、消灯0.4秒)する回路です。
スイッチ(緑)とランプ(赤)の他に、リレー回路の場合はタイマリレー2ヶが必要になり、ラダープログラムの場合はPLCが必要になります。※別途、電源や電線はどちらの場合も必要になります。
ラダープログラムのメリット
ラダープログラムは梯子のような見た目から、エンジニアが直観的に理解し易く、従来のリレー回路に慣れている人にとっては馴染みが深い形状をしています。
また、特に日本国内における工場設備や自動機の大半はラダープログラムが使用されており、他の言語に比べて使用する頻度が非常に高いです。
ラダープログラムのデメリット
リレー回路に比べるとデメリットは少ないですが、上記のような「ランプ点滅させるだけ」のようなシステムの場合、部材の費用が高額になります。タイマリレーは数千円程度で購入できるものが大半ですが、PLCは安価なものでも数万円はします。
プログラミング言語(CやPython)に比べると、複雑な算出演算の実装には不向きです。ラダープログラムでは四則演算をはじめとする算出命令が使用できますが、演算が複雑になるほどプログラムは縦に長くなり可読性が低下します。
ラダープログラムはPLCのメーカによって命令の内容が異なる場合があり、内部で使用するデバイスも基本的にメーカ毎に異なります。エンジニアによっては「A社は使えるけど、B社は使えない」ケースがあります。また、ラダープログラムを作成するソフトウェアはPLCを販売しているメーカから有償で購入する必要があり、敷居が高いと言えます。
2. ラダープログラムの記号
先ほどのフリッカー回路のラダープログラムを用いて記号を解説します。記号はPLCのメーカによって異なる場合がありますが、今回は三菱電機製のソフトウェアGX Works3を用いて解説します。
a接点
a接点は特定の条件が成立した時にONする接点です。↓の場合、PLCのX0端子に接続されたスイッチ(緑)を押すと、デバイスX0のa接点がONします。
b接点
b接点は、a接点とは逆に特定の条件が成立した時にOFFする接点です。
OUTコイル
OUTコイルは、コイルより左側の条件が全て成立するとONします。コイルはラダープログラム内で「外部への出力」や「一時的な記憶」をすることができます。↓の場合、デバイスY0のコイルがONするとPLCのY0端子に接続されたランプ(赤)が点灯します。
タイマのコイル
一般的なOUTコイルは条件が成立した時点でONしますが、タイマのコイルは設定した時間が継続して成立した時点でONします。タイマには積算タイマや設定時間が1msの高速タイマ等の種類があります。
命令
ラダープログラムには接点やコイルの他に各種命令があります。↓はEND命令と呼ばれ、ラダープログラム末尾に指令することでラダープログラムの処理を先頭に戻す役割があります。PLCメーカによって命令の種類は異なりますが、算出演算や特殊ユニット専用の命令等、様々な命令が用意されています。
3. ラダープログラムの用途
ここまで、ラダープログラムは梯子(はしご)のような見た目で、リレー回路を元に作られたプログラミング言語と解説しました。
ではこのラダープログラムは一体どのような場所に、どのような用途で使われているのでしょうか?
ラダープログラムは、主にPLC(プログラマブル・ロジック・コントローラ)という制御機器を動かすために使用されるプログラミング言語です。
以下は三菱電機、キーエンス、オムロン製のPLCです。
このPLCは、工場設備や産業機械を制御するための制御機器で、いわば機械の脳みそに相当するものです。つまり、PLCなくして製造業は成り立たない!と言えます。(大げさではありません)
実は、PLCはラダープログラム以外にも制御することができる言語がいくつか存在します。しかし、現在(2021年4月)の日本国内におけるPLCを制御するプログラミング言語はラダープログラムが大多数を占めている現状です。
4. 各社の開発ソフトウェア
ラダープログラムを作成してPLCに書き込みを行ったり、PLCのデータをモニタ、読み出し等を行うソフトを開発ソフトウェアと呼ぶことが多いです。
開発ソフトウェアはPLCを販売しているメーカから購入する必要があり、PLCに適したものを使用する必要があります。
今回は私が現場でよく使用する開発ソフトウェアを4ヶ紹介します。
三菱電機:GX Works3
キーエンス:KV STUDIO
オムロン:CX Programmer
パナソニック:FPWIN GR7
このアプリケーションはパソコンにインストールして使用するものが大半ですが、残念ながらいずれのアプリケーションも結構高額で、気軽に手に入れることができずに「学習することを諦めてしまう」方が多いのが現状です。
確かに、ラダープログラムの学習を進める上で、必ずどこかのタイミングでラダープログラム作成用のアプリケーションとPLC本体が必要になります。
ただ、ラダープログラムの基礎部分は机上で学ぶことができます。当サイトでも、なるべく初学者に向けたコンテンツを増やしていきたいと思います。
ラダープログラムを解説している書籍も数多くあり、私がオススメするものを以下のページで紹介しておりますので、宜しければご覧ください。
シーケンス制御・ラダープログラム初心者にオススメな参考書5冊もちろん、私が実際に読んでオススメできるもののみを紹介しています。
5. おわりに(まとめ)
ラダープログラムがどのようなプログラムなのか?簡単ではありますが解説しました。
- ラダープログラムは梯子(はしご)のような見た目のプログラミング言語
- 元々はリレー回路をベースに作られた
- ラダープログラムは主にPLCを制御するためのプログラム
以下の参考書は、シーケンス制御について易しく解説しているものです。
シーケンス制御とは?から始まり身近な使用例や世の中のどのようなところに活用されているか、専門的な用語をほとんど使用することなく解説しています。
見やすいイラストが充実しており、スラスラと読めると思います。
本書の後半では三菱電機製のシーケンサを用いて簡単なラダープログラムについても解説しています。
シーケンス制御の全くの初心者に是非オススメしたい参考書です。