PLCプログラミング言語の世界標準「IEC 61131-3」
「IEC 61131-3」とは世界共通の標準規格で、国際電気標準会議(IEC)がPLC用のプログラム言語を定義したものです。
1969年、Modicon(現シュナイダーエレクトリック)が最初に製品としてPLCを発売しましたが、プログラミングツールや言語は各メーカーで異なっていたため、「ハードウェアについてはメーカーの独自性は尊重しますが、言語は統一しましょう」 「誰にでもPLCのプログラムを作れるようにしましょう」という概念で、1980年代のフランスとドイツでその原型ができ、その時点でガイドラインの呼称は「1131」でした。
「IEC61131-3」では次のような5種類のプログラム言語を使います。
- IL(インストラクション・リスト)
- LD(ラダー・ダイアグラム)
- FBD(ファンクション・ブロック・ダイアグラム)
- ST(ストラクチャ―ド・テキスト)
- SFC(シーケンシャル・ファンクション・チャート)
IL(インストラクション・リスト)言語は、マイコンで言えば「LD」「OR」「AND」といった一連の命令をリストとして記述する方法で、コンピュータのアセンブリ言語によく似ています。アプリケーションの小型化や高速化に有効ですが、他の言語と比べ、メンテナンス性に劣ると言われています。
最も使用頻度が高いのがLD(ラダー・ダイアグラム)言語です。このラダーとは「梯子」(ハシゴ)の意味ですが、それまで使われていたシーケンス図の記法に似ており、技術者にとって理解しやすいこともあり、人気があります。ビット単位の処理には向いていますが、システムが複雑で大規模になるほど機能単位でのモジュール化が難しくなってきます。
FBD(ファンクション・ブロック・ダイアグラム)言語は、ファンクションと呼ばれる箱と接続する配線により、電子回路を設計するようにプログラムを記述でき、データの流れもわかりやすくなります。使用頻度の高いプログラムや回路は、関数ブロックを活用することで、より簡単に再利用が可能になります。
ST(ストラクチャ―ド・テキスト)言語は、PASCALをベースとした構造化テキスト言語です。マイコンボードの開発者やC、C++系のエンジニアに向いています。ラダーでは実装が難しい複雑な制御や、ネスティング(入れ子)の分岐条件などがある場合に効果を発揮します。
SFC(シーケンシャル・ファンクション・チャート)言語は、製造ラインの工程間の遷移条件や処理を明確にして記述できるグラフィック言語です。各工程を箱型のステップで表現し、その遷移条件を満たすと、次のステップが実行されます(これを活性化と呼びます)。
ここまで、PLCでの使用言語の特長を簡単に紹介しましたが、各メーカー、特長のあるプログラム支援ツールが用意されており、これらの言語をすべてサポートしているツールもあれば、使用頻度の高い一部言語だけが使えるツールもあります。