
【ITエンジニアのための製造業知識入門 第1回】 PLC(プログラマブルロジックコントローラ)とは何か
クラスメソッドマレーシアの森永です。
今回から「ITエンジニアのための製造業知識入門」というシリーズを始めます。製造業のお客様のプロジェクトに関わるようになると、現場の方との会話の中で「PLC」「MES」「BOM」といった、IT業界ではあまり馴染みのない言葉が次々と出てきます。意味がわからないまま話を聞いていると、会話についていけなかったり、要件を正しく理解できなかったりすることもあるのではないでしょうか。
この連載では、そうした製造業でよく登場する用語をひとつずつ取り上げ、ITエンジニアが最低限押さえておくとよいポイントを整理していきます。第1回のテーマは、製造現場の自動化を語るうえで欠かせない「PLC(Programmable Logic Controller、プログラマブルロジックコントローラ)」です。
PLCとは何か
PLCとは、工場の生産ラインやプラントにあるモーター・バルブ・センサーといった機器を、あらかじめ組んだプログラムに従って自動制御するための産業用コントローラです。ボタンが押されたら(入力)コンベアを動かす(出力)、といった条件分岐やタイミング制御を、ソフトウェアとして記述・変更できるのが特徴です。PLCのことをシーケンサという名前で呼ぶ人もいたりしますが、同じものです。
なぜ生まれたのか:リレー回路からの脱却
PLCが登場する以前、工場の制御はリレー(電磁継電器)を大量に組み合わせた制御盤によって行われていました。リレー制御は動作原理としては確実なのですが、生産ラインの仕様変更のたびに制御盤内部の物理的な配線を1本ずつ組み直す必要があり、大規模な設備ではこの配線変更だけでかなりの手間と時間がかかっていたようです。
この課題を解決する形で生まれたのがPLCです。こちらの記事やこちらの記事によると、1968年にGeneral Motors(GM)社が「Standard Machine Controller」という仕様書をベンダー各社に提示したのがきっかけとされています。主な要件は次のようなものでした。
- リレーではなく固体素子(半導体)を使用し、モジュール式で拡張可能なこと
- 入力16点・出力16点を基本とし、入力256点・出力128点まで拡張できること
- 配線のやり直しではなく、プログラミング・再プログラミングで仕様変更に対応できること
- 停電してもプログラムが失われないこと
- メモリは最低1k、最大4kであること
この仕様に応えたのが、Bedford Associates社が開発した「Modular Digital Controller」でした。1968年1月にコンセプトメモが作成され、同年3月にはプロトタイプが実演されたとされています。これが後の「Modicon 084」で、Bedford Associates社は1969年に社名をModicon社に変更しています。(現在はSchneider Electricに買収されて同社のPLCのシリーズ名になっています)
もうひとつ興味深いのが、PLCのプログラミングに使われる「ラダー図」という表記法です。ラダー図がリレー回路図によく似た見た目をしているのは、当時すでに電気配線図に慣れ親しんでいた現場の電気技師が、新しいPLCにも違和感なく移行できるように設計されたためといわれています。ただし実際の動作原理はリレー回路とは異なり、PLCは「①入力の状態を読み取る→②プログラムを上から順に実行する→③出力を更新する」というサイクル(スキャンサイクル)を高速に繰り返すことで制御を実現しています。リレー回路のように複数の経路が同時に動くわけではなく、あくまで順序立てて処理している、という点はITエンジニアとしては直感的に理解しやすいポイントかもしれません。
実際にどんな見た目なのか、現場で定番の「自己保持回路」というサンプルで見てみましょう。ボタンを押している間だけでなく、押した後も動作を保持し続けたい場合によく使われる基本パターンです。

- 縦2本の棒(
┤ ├):a接点(ノーマルオープン。ボタンを押すとONになる接点) - 斜線が入った縦2本の棒(
┤/├):b接点(ノーマルクローズ。普段はONで、ボタンを押すとOFFになる接点) - 丸(
( )):コイル(出力)
動作としては、まずX0(起動ボタン)を押すとM10(内部リレー)がONになります。M10がONになると、それ自身のa接点(自己保持接点)もONになるため、X0のボタンを離してもM10のON状態が保たれ続けます。この状態を解除したいときはX1(停止ボタン、b接点)を押します。X1がONになると回路が遮断され、M10はOFFに戻ります。「押した瞬間だけ反応する」のではなく「押したことを覚えておく」という考え方は、ITのプログラムでいうところの状態管理に近く、ITエンジニアにも直感的に理解しやすいのではないかと思います。
ラダー図以外のプログラミング手法
PLCのプログラミングというと真っ先にラダー図が思い浮かびますが、実はそれだけではありません。PLCのプログラミング言語は「IEC 61131-3」という国際規格で標準化されており、この規格では次の5つの言語が定義されています。
| 言語 | 種別 | 特徴 |
|---|---|---|
| ラダー図(LD) | グラフィカル | リレー回路図に似た表記。ビットのON/OFF制御が直感的にわかりやすい一方、ロジックが複雑になると読みにくくなる傾向があります |
| ファンクションブロック図(FBD) | グラフィカル | 処理をブロックの組み合わせとして表現。入出力の関係が視覚的にわかりやすい |
| シーケンシャルファンクションチャート(SFC) | グラフィカル | 工程の状態遷移を表現するのに適しており、単独ではなくLDやSTと組み合わせて使われることが多い |
| ストラクチャードテキスト(ST) | テキスト | 一般的なプログラミング言語に近い記法で、複雑な演算やロジックの記述に向いている |
| インストラクションリスト(IL) | テキスト | アセンブリ言語に近い低レベルな命令の羅列 |
どの言語を使うかはメーカーやツール、対象のシステムによって異なりますが、「PLC=ラダー図だけ」ではなく、複雑な演算やレシピ管理のような処理にはST、工程の状態管理にはSFC、といったように用途に応じて言語を使い分けている現場もある、というのは知っておくとよいポイントです。
現在のPLC:リレーの延長にとどまらない存在に
ここまでPLCの成り立ちを「リレー回路の代替」として説明してきましたが、現在のPLCは制御だけを行う機器ではなくなってきています。PLCには現場のセンサーや機器から集めたデータを一時的に蓄積し、工場内ネットワークやインターネット経由で上位のシステムへ橋渡しするような機能が追加されていきました。集めたデータはサーバー側でAIによる分析にかけられ、稼働状況の可視化や故障予兆検知(予知保全)といった用途に使われることもあります。
これに加えて近年では、クラウド接続に対応し、コンテナ化されたアプリケーションを動かしてデータの前処理や機械学習の推論を行う「エッジコンピューティング」の役割も担うPLCも増えてきています。
つまり現在のPLCは、「制御を行うコントローラ」であると同時に、「現場のデータをIT側に取り込むための入り口(エッジ)」としての役割も期待されるようになってきています。IT側のエンジニアとしてPLCに関わる機会があるとすれば、こうしたデータ収集・連携の文脈であることも多いのではないかと思います。
実機がなくてもPLCプログラミングを試せる
「実際にラダー図を組んでみたい」と思った方のために、PLC実機を持っていなくてもPCだけでPLCプログラミングを体験できるツールを2つ紹介します。
- OpenPLC:無料・オープンソースのPLCソフトウェアです。プログラムを書く「OpenPLC Editor」はWindows/Linux/macOSで動作し、ラダー図・ST・FBD・SFCに対応しています。実機がなくても、PC上のソフトウェアだけで作成したプログラムを動かして動作確認ができます。Raspberry Piなどを繋いで、ハードウェアを操作することも出来たりします。
- CODESYS:ドイツのCODESYSが提供する、特定のPLCメーカーに依存しないIEC 61131-3準拠の開発環境です。開発環境(CODESYS Development System)は無料でダウンロードできます。仮想環境上で制御プログラムを動作させる機能もあり、実機なしでの学習・検証に活用できます。
どちらも「習うより慣れよ」で試せるツールなので、現場のPLCに直接触れる機会がなくても、PLCプログラミングがどんな感覚で書けるのか、一度手を動かしてみると理解が深まると思います。
ISA-95におけるPLCの位置づけ
製造業の会話では「ISA-95」という言葉もよく出てきます。ISA-95(国際規格としてはIEC 62264)は、工場の中の様々なシステムを、担っている役割に応じて0〜4のレベルに整理した参照モデルです。この連載でも今後たびたび登場する概念なので、ここで簡単に紹介しておきます。
| レベル | 主な役割 | 該当するシステムの例 |
|---|---|---|
| レベル4 | 経営計画・基幹業務 | ERP、サプライチェーン管理 |
| レベル3 | 製造の運用管理 | MES(製造実行システム) |
| レベル2 | 監視・制御 | PLC、DCS、SCADA |
| レベル1 | センシング・操作 | センサー、アクチュエーター、I/Oモジュール |
| レベル0 | 物理プロセスそのもの | 実際の生産設備・機械 |
※ PLCは資料によってはレベル1(センシング・操作)に位置づけられることもあります。詳しくは表の後の本文で補足します。
こちらの解説のように、PLCをレベル2(監視・制御層)と明確に位置づける資料もあります。一方で、PLC自体がI/Oを通じてセンサーやアクチュエーターを直接扱う(レベル1に相当する役割も担う)ことも多く、資料によって表現が揺れているのが実情です。そのため本記事では、PLCはレベル1〜2あたりに位置する、という幅を持たせた理解にとどめておきます。
なお、セキュリティの文脈でよく出てくる「Purdueモデル」もISA-95と同じく0〜4のレベルで語られることが多いのですが、目的が異なります。Purdueモデルはネットワークのセグメンテーションやセキュリティゾーンの設計に主眼を置いたモデルで、ISA-95は企業システムと制御システムの間のデータ連携を整理するためのモデルです。
日本・海外の主要PLCメーカー
現場でよく名前が挙がるPLCメーカーを、日本国内・海外に分けて紹介します。詳細は各社の公式製品ページをご覧ください。
国内メーカー
- 三菱電機:MELSEC iQ-Rシリーズ、MELSEC-Q/L/FXシリーズなどを展開。(製品ページ)
- オムロン:統合オートメーションプラットフォーム「Sysmac」のもと、Sysmac NJ/NXシリーズなどを展開。(製品ページ)
- キーエンス:KV-8000/7000シリーズ、KV-Nanoシリーズなどを展開。(製品ページ)
海外メーカー
- Siemens(ドイツ):統合開発環境「TIA Portal」に対応するSIMATIC S7-1500/1200シリーズなどを展開。(製品ページ)
- Rockwell Automation(アメリカ):Allen-Bradleyブランドで、EtherNet/IP対応のControlLogix、CompactLogixシリーズなどを展開。(製品ページ)
- Schneider Electric(フランス):IoTプラットフォーム「EcoStruxure」と連携するModiconシリーズなどを展開。(製品ページ)
ITエンジニアとして知っておくと良いこと
最後に、製造業のプロジェクトに関わるITエンジニアの視点で、PLCについて押さえておくと役立ちそうなポイントを挙げます。
- プログラム変更=現場の設備停止を伴うことが多い:Webシステムのように気軽にデプロイできるものではなく、変更には現場の稼働停止・安全確認・現地作業の調整が必要になることが一般的です。
- 通信プロトコルが多様:PLCは歴史的にメーカーごとに独自のプロトコルを使ってきた経緯があり、現在もEtherNet/IP、PROFINET、Modbus、OPC UAなど複数の規格が並存しています。IT側のシステムとPLCを接続する際は、どのプロトコルでデータを取得するのかを確認する必要があります。
- OT(Operational Technology)とITの文化の違い:PLCを含む制御システムの世界は「安全第一・可用性最優先」の文化が強く、機密性よりも動き続けることが重視されます。
まとめ
今回は「ITエンジニアのための製造業知識入門」の第1回として、PLCの基本的な役割、誕生の経緯、ISA-95における位置づけ、主要メーカー、そしてITエンジニアとして押さえておきたいポイントを紹介しました。
PLCは製造業の自動化を支える中核的な存在でありながら、IT業界の人間からするとブラックボックスになりがちな領域です。まずはOpenPLCやCODESYSなどでPLCプログラミングに触れてみるだけで理解が少し進むかと思います。








