PLCとは10分でわかる!富士電機PLCコラム世界の製造業で進むIoTの流れ
10分で誰でもわかる! 自動化に必須の「PLC」をまるっと解説
日本では、自動車を中心とした製造業などで、1980年代から機械や設備の自動化が進んできました。いま多くの組立?加工の生産ラインにおいて、自動機器や産業用ロボットが活躍していることはご存知のとおりです。このような各種機械の動作を制御するために重要な役割を果たしているのが「PLC」(Programmable Logic ControllerまたはProgrammable Controller)という裝置です。ちなみにPLCと同様の働きをする製品に「シーケンサ」がありますが、PLCと同じものです。ここからは、PLCの基礎知識や構造、種類、プログラミング言語までを、まるっと解説しましょう。
機械の自動化に必要な最重要アイテム、「PLC」ってなんだ?
PLCは、生産ラインの自動化に大変役立ちますが、それだけでなく、エレベータ、上下水道プラント、ダム、植物工場、遊園地のアトラクションなど生活を支える施設を背後から支えています。
PLCを一言で説明すると、いわば「小型コンピュータ」のようなもので、プログラミングによって機械をコントロールできる裝置と思えば理解が早まるかもしれません。PLCが登場する以前は、機械を順序どおりに動かす「シーケンス制御」を行うために、リレー裝置やタイマ裝置などを用いて、一から電気回路を設計していました。
しかし、いまはPLCによって、プログラミング(命令)だけで、機械を自由にコントロールできるようになりました。制御もオン/オフ出力だけでなく、より高度な演算を伴った処理(PID制御やS字カーブ速度制御など)を実現できるようになり、その機能は年々、進化を続けています。
最近では、DX(デジタルトランスフォーメーション)の進展にともなって、PLCはIoTやスマート工場を陰で支える重要な要素の1つになっています。昔のPLCは、演算も加算?減算といった簡単な計算しかできなかったのに対し、いまはsinやcosやtanといった三角関數なども扱えます。例えば、これを使って風力発電システムで、羽と風が當たる角度を最適になるように計算し、効率よく電気を発生させることも可能です。
PLCの內部構成、PLCの種類とメリット?デメリットとは?
前項で、PLCは「小型コンピュータのようなもの」と説明しましたが、ここからは內部構成と機能ごとの役割、さらに、種類について見ていきましょう。

まず、スイッチや各種センサから信號を取り込む「入力部」があります。PLCのコア部は、その入力信號を演算処理して出力する「MPU※ 演算部」と、プログラムとデータを保存する「メモリ部」で構成されています。そして、MPUの演算結果を外部機器に出力する「出力部」のほか、必要な電気を供給する「電源部」に大別されます。
(※ CPU部分で演算をする電子部品)
具體的な製品の種類には、これらの機能を1つの筐體にまとめた「小型ブロック式」と、機能ごとに分けられたモジュールを自由に組み合わせてカスタマイズできる「ビルディングブロック式」があります。それぞれのメリットとデメリットは次のとおりです。
【小型ブロック式】
最大のメリットは、小型で価格も手頃なので、導入しやすい點です。ただし、1つの筐體に基本的な機能が、ワンブロックとして、ひとまとめにパッケージされているため、柔軟性に欠けることが弱點です。プログラム容量や入出力數、高度な機能も限定的です。しかし、自社システムが小規模であり、シンプルな制御で済むような場合には、お手軽な小型ブロック式のPLCで十分に対応できるでしょう。
【ビルディングブロック式】
必要なモジュール(ブロック)を集めて組み立てるため、自社の機械やシステムに適した柔軟な制御が行える點がメリットです。モジュールを取り付けるために、ベース部が用意されることもあります。入出力モジュールなどを拡張すれば、數萬點の大規模な制御にも対応可能です。公共インフラなどの停止できない重要なシステムの場合は、冗長構成にすることで信頼性を高めることができます。ただし、モジュールごとに購入するため、小型ブロック式と比べて、それなりに費用がかかります。
各モジュールには、一般的なCPUモジュールや入出力モジュール、電源モジュールなどがあります。CPUモジュールのなかには、上位マシンから段取り替えデータをダウンロードしてPLCの設定を変更したり、逆にPLC側で収集したロギングデータをアップロードできるなど、便利な機能を備えたものもあります。製品によっては、専用ネットワークでやり取りする通信モジュール(Ethernetのほか、PROFIBUSやDeviceNetなどのフィールドバス)や、高速パルスによって機械の位置決めが可能なモジュールなどが用意されていることもあります。
どれが主流? PLCで制御プログラムを組むための5つの言語とは?
PLCは、プログラミングによって自由に機械の動作やタイミングなどを変えられることが大きな特長です。では、PLCの制御プログラムを組むには、一體どうすればよいのでしょうか? 一般的には、パソコンに各社のPLC専用ソフトウェア(プログラミング支援ツール)をインストールし、PLC専用ソフトウェアで作成した制御プログラムをPLC側に転送する方式をとります。
PLC用のプログラムを作成する場合には、従來は各PLCメーカーの獨自言語が使われてきましたが、國際電気標準會議規定(IEC)の「IEC61131-3」に対応した言語を採用するPLCが増えてきました?!窱EC61131-3」では次のような5種類のプログラム言語を使います。
【PLC用の言語】
- IL(インンストラクション?リスト)
- LD(ラダー?ダイアグラム)
- FBD(ファンクション?ブロック?ダイアグラム)
- ST(ストラクチャ―ド?テキスト)
- SFC(シーケンシャル?ファンクション?チャート)
IL(インンストラクション?リスト)言語は、マイコンで言えば「LD」「OR」「AND」といったアセンブラのようなテキスト言語です。アプリケーションを小型?高速化したい場合に有効ですが、プログラミングの生産性やメンテナンス性で弱い面もあります。
最もよく使われているのがLD(ラダー?ダイアグラム)言語です。このラダーとは「梯子」(ハシゴ)の意味ですが、昔から使われているシーケンス図の記法に似ているため、技術者にとって理解しやすいこともあり、人気があります。

FBD(ファンクション?ブロック?ダイアグラム)言語は、グラフィカルなファンクションブロック(加減算など)を組み合わせて、順序ロジックを作れます。使用頻度の高いプログラムや回路は、関數ブロックを活用することで、より簡単に再利用が可能になります。
ST(ストラクチャ―ド?テキスト)言語は、PASCALベースの構造化テキスト言語です。C言語に似ているため、ソフトウェア技術者に向いています。ラダー言語では対応が難しい複雑な制御や、ネスティング(入れ子)の分岐條件などがある場合に威力を発揮します。
SFC(シーケンシャル?ファンクション?チャート)言語は、製造ラインの工程間の遷移條件や処理を明確にして記述できるグラフィック言語です。各工程を箱型のステップで表現し、その遷移條件を満たすと、次のステップが実行されます(これを活性化と呼びます)。
ここまで、PLC用のプログラム開発に使う言語の特長を簡単に紹介しましたが、各メーカーによって特長のあるプログラム支援ツールが用意されています。これらの言語をすべてサポートしているツールもあれば、よく使われる一部の言語だけが使えるツールもあります。
PLCを選定する場合、まずは制御したい機械やシステムの規模感を勘案します。そして制御の內容によって、PLCの種類(小型ブロック式/ビルディングブロック式)や、各種機能、性能などを十分に確認することが大切です。ハードウェアについては、數ミリ秒と高速かつ高性能な制御を実現した製品もあります。また、ソフトウェアの視點から、プログラミングのし易さやプログラミング支援ツールの機能にも目を向けたいところです。
最新のPLCには、ここで紹介しきれないほど、多くの機能が用意されています。もし、PLCの導入にお悩みの方や、より詳しい情報をお求めの方は、こちらをご覧いただけると、より理解が深まるでしょう。