ファクトリーオートメーション(FA)サービスサイト:株式会社三松

PLCの基礎知識、プログラミング言語とは

日本では、自動車を中心とした製造業などで、1980年代からファクトリーオートメーション(FA)が進んできました。ご存知のとおり、いま多くの組立・加工の生産ラインにおいて、自動機器や産業用ロボットが活躍しています。「PLC」(Programmable Logic ControllerまたはProgrammable Controller)は、このような各種機械の動作を制御するために重要な役割を果たしています。ここでは、PLCの基礎知識、プログラミング言語について解説していきます。

目次

  1. PLCとは
  2. PLCプログラミング言語の世界標準「IEC 61131-3」

PLCとは

PLCは、それまでの制御手法であるリレーシーケンス制御の代替として開発されました。後述しますが、リレーシーケンスからPLCへの発展における重要な点は、ハード上で行っていた制御をソフト上でも行えるようになったということです。

まず初めに、シーケンス制御とは、日本産業規格のJIS Z8116において、「あらかじめ定められた順序又は手続きに従って制御の各段階を逐次進めていく制御」と定義されている制御方法です。 そして、リレーシーケンス制御とは、電気信号を機械的な動作に変えて、接点を開閉する電気制御機器である、「電磁リレー」などの部品をスイッチとして使用して、電気回路のON/OFFの切り替えを行うシーケンス制御です。リレーシーケンス制御とPLC制御の決定的な違いは、電気回路での物理的な制御か、プログラムによる制御かという点です。 PLC制御では、作業者がプログラムによって内容を記述し、その内容を順に実行していくことでシーケンス制御を行います。

リレーシーケンス制御の場合は、作業者が物理的な回路を作成し、様々な調整を行いながら制御を行う必要があります。そのため、設備が大きくなればなるほど、回路も複雑で使用スペースも大きなものになっていました。

しかしPLCが登場したことで、複数のリレーやタイマーを1つのPLCによって再現し、制御することが可能になりました。これにより、省スペース化が可能になり、複雑な生産設備でも制御盤を小さくすることが出来、工場スペースの有効活用が可能になりました。

その他に、PLCによるプログラムでの制御に変わることで、動作を変えたい時に、リレーシーケンス制御では必要だった配線の差し替えが不要になるというメリットもあります。

また、リレーと比較すると、「接点不良」や「接点の摩耗」などもなく、PLCの方が長寿命だとされています。たとえ故障したとしても、ユニット単位での交換が可能です。

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での使用言語の特長を簡単に紹介しましたが、各メーカー、特長のあるプログラム支援ツールが用意されており、これらの言語をすべてサポートしているツールもあれば、使用頻度の高い一部言語だけが使えるツールもあります。

ファクトリーオートメーション コラム集

このサイトで掲載している記事をコラム集としてまとめてダウンロードしていただけます。

この資料をダウンロードする

関連記事