ソフトウェアPLCの分野には、プログラム言語や構造をオープンにするための国際標準規格と、それに基づいて開発されたオープンソースのソフトウェアPLCが存在します。
ここでいう「オープンな仕様」とは、特定のメーカーに依存せず、誰でも利用・学習・開発が可能な共通の枠組みを指します。
1. 🌐 PLCプログラミングの国際標準規格:IEC 61131-3
ソフトウェアPLCの仕様を語る上で、最も重要なのがIEC 61131-3という国際規格です。これは、特定のメーカーの仕様ではなく、PLCのプログラミング言語と構造を統一するために国際電気標準会議(IEC)によって定められました。
この規格は、事実上、PLCプログラミングにおけるオープンな共通仕様として機能しています。
💡 IEC 61131-3の主な特徴
-
ベンダーロックインの回避: この規格に準拠したPLC(ハードウェア/ソフトウェア問わず)であれば、プログラマーは異なるメーカーのシステムでも、ほぼ同じ言語と構造でプログラムを開発・保守できます。
-
再利用性の向上: FB(ファンクションブロック)など、プログラムの部品化・カプセル化の仕組みが標準化されており、実績のあるプログラムを異なるシステムで再利用しやすくなります。
多くの商用ソフトウェアPLC(例:CODESYSなど)もこのIEC 61131-3に準拠しています。
2. 💻 オープンソースのソフトウェアPLC:「OpenPLC」
IEC 61131-3というオープンな仕様だけでなく、実際に無償で利用・改変できるオープンソースのソフトウェアPLCも存在します。その代表例がOpenPLCです。
OpenPLCの特徴
-
IEC 61131-3の完全サポート: OpenPLCは、前述のIEC 61131-3で定義された5つの言語すべてをサポートしています。これにより、教育や研究目的で国際標準規格に準拠したPLCプログラミングを学ぶことができます。
-
無料の開発・実行環境:
-
OpenPLC Editor: プログラムを作成するための開発環境(無償)。
-
OpenPLC Runtime: 作成したプログラムを実行するためのソフトウェア(無償)。
-
-
マルチハードウェア対応: OpenPLC Runtimeは、汎用のPC(Windows/Linux)だけでなく、Raspberry PiやArduinoといった安価なマイクロコントローラボード上でも動作させることが可能です。
-
高い拡張性: オープンソースであるため、ユーザーがI/Oや通信プロトコルのドライバなどを自由に追加・改変し、特定のニーズに合わせてカスタマイズできます。
注目される理由
OpenPLCは、主に以下のような用途で注目されています。
-
教育・研究: PLCプログラミングの標準を学ぶためのコストを大幅に下げ、実機に近い環境を提供します。
-
プロトタイピング/DIY: 安価な汎用ハードウェアでPLC制御を試すためのプラットフォームとして活用されます。
-
ベンダーロックインの回避: 特定メーカーのソフトウェアやハードウェアに縛られない制御システム構築の選択肢を提供します。
3. 🤝 オープンな「データ連携」の仕様:OPC UA
制御プログラムの仕様(IEC 61131-3)とは別に、制御データを他のシステム(SCADA、MES、クラウドなど)とやり取りするためのオープンな仕様として、OPC UA(Open Platform Communications Unified Architecture)も重要です。
-
OPC UAは、産業界におけるセキュアで信頼性の高いデータ通信のための標準仕様であり、多くのソフトウェアPLCや産業用PCが対応しています。
-
IEC 61131-3で作成されたプログラムが生み出すデータを、OPC UAというオープンなプロトコルに乗せることで、製造現場とITシステム間の壁をなくし、デジタルトランスフォーメーションを推進します。
📌 まとめ
ソフトウェアPLCにおいては、「オープンな仕様」と「オープンソースのソフトウェア」の両面で選択肢が存在します。
-
仕様のオープン化: IEC 61131-3がプログラミング言語の国際標準として、メーカー間の垣根を取り払っています。
-
ソフトウェアのオープン化: OpenPLCが、IEC 61131-3に準拠した開発・実行環境を無償かつオープンソースで提供しています。
この「オープン」な流れは、製造業における柔軟性とイノベーションを加速させる重要な要素となっています。