ソフトウェアPLCとは?
ソフトウェアPLCの概要
「ソフトウェアPLC」は、産業用制御装置の「PLC(Programmable Logic Controller)」と対比させた言葉として使用される、ソフトウェアとしてパッケージ化された制御装置(コントローラ)のことです。
ソフトウェアPLCは、PLC専用メーカーのハードウェアではなく、汎用のハードウェアにインストールして使用します。(図1)
例えば、産業用パソコンにソフトウェアPLCをインストールすることで、PLCと同等、もしくはそれ以上の機能を実現し、機械やプロセス、工場全体などを制御することが可能になります。
特に、Windows パソコンでソフトウェアPLCで動作させる場合に大きなメリットが得られます。
分かりやすく使いやすい画面上でのプログラム開発や、すでに開発されて実績のある豊富なアプリケーションソフトウェアの活用、さらには、大容量メモリや強力なCPUパワーを必要とする高速画像処理や膨大なテキストデータ処理、高速ネットワーク通信などが容易にできます。
トレーサビリティを確保するためにADカードなどを簡単に追加できるといった、拡張性が高いのもメリットです。
ソフトウェアPLC製品の大まかな種類
現在、市場に出ているソフトウェアPLC製品は、大きく2種類に分けて考えることができます。
一つは、主にPLCエンジニアを対象としたソフトウェアPLC製品です。ほとんどの製品でPLCプログラミング言語の国際標準規格IEC61131-3に対応しており、PLCメーカごとに異なるプログラミング言語を標準規格に置き換えることで、生産性の向上を実現します。また、ラズベリーパイなどの小型コンピュータにインストールすることで、低価格で汎用的な制御装置を実現できます。
もう一つは、C言語での組み込み機器開発経験がある技術者、または、情報学部系の新卒社員やWeb/Server系を含めたWindowsプログラマなど、機械制御経験がない方も対象とした製品です。このタイプは、国際規格に対応することよりも、一般的なプログラムの延長線上で装置制御ができることを重視しており、制御装置開発が初めてでもシステムの導入や開発がしやすくなっています。
弊社のソフトウェアPLC製品 「MOS Bench」はこちらのタイプです。耐環境性や長期安定供給性に信頼ができる産業用PC上で、多くの方が慣れ親しんだWindows OS上に、誰でも簡単に本格的な機械制御プラットフォームを構築することができます。
ソフトウェアPLCメーカー・製品の種類と機能比較
上の表は主なソフトウェアPLC製品の一覧です。それぞれの製品を主な特徴で比較しました。
以下、それぞれのソフトウェアPLC製品について簡単に紹介します。
ドイツのCODESYS社が開発・販売しているソフトウェアPLC製品です。日本の代理店はLINX社です。PLCプログラミング言語の国際標準規格 IEC61131-3 に対応しており、世界各国で導入されている製品です
ドイツのBeckhoff Automation社が開発・販売するソフトウェアPLC製品です。日本には横浜と名古屋にオフィスがあります。国際標準規格 IEC61131-3 に対応しており、独自のリアルタイムカーネルを搭載します。
アメリカの Rockwell Automation社が開発・販売するソフトウェアPLC製品です。日本の代理店は日新システムズ社です。国際標準規格 IEC61131-3に対応しており、紹介しているソフトウェアPLC製品の中では最も歴史の長い製品です。
日本のILC社が開発・販売するソフトウェアPLC製品です。国際標準規格 IEC61131-3対応のラダー言語で制御プログラムを開発可能です。
日本のマイクロネット社が開発・販売するソフトウェアPLC製品です。国際標準規格 IEC61131-3に対応しており、WindowsリアルタイムOSの「INtime」を採用しています。
弊社プライムモーションが開発・販売する、ソフトウェアPLCを含むソフトウェアマシンコントローラです。独自開発したソフトウェアPLCとソフトウェアモーションコントローラが、Windowsリアルタイム拡張ソフトウェアの「RTX」上で動作します。
ソフトウェアPLC の4つの導入メリット
弊社ソフトウェアPLC製品「MOS Bench」を例にあげ、機械制御システムとして、産業用パソコン+ソフトウェアPLCを導入するメリットについて説明します。
「MOS Bench」は、高性能な機械制御ができるモーションコントローラ機能と、多数のモータ制御を同時に実行できるマルチタスク処理機能を合わせ持っています。それに加えて、Windowsに関わらずリアルタイム制御が可能な、新しいソフトウェアPLCです。
1,パソコンやWindows の資源を活用して、シンプルで多機能な機械システムを構築できる
ソフトウェアPLCのMOS Benchを、産業用Windowsパソコンにインストールします。そうすることによって、データ処理や通信が得意なPCと機械制御が得意なソフトウェアPLCそれぞれ優れた部分の良いとこ取りをして、非常にシンプルな装置構成かつ多機能な機械システムを構築できます。 (図A)
図のように、上位システムとのデータ通信、多機能かつ使いやすいGUIの作成、複数機械の同期的な機械制御、大量データの高速処理が必要な画像処理などの機能を、一台のパソコンで実現できます。
2,統合開発環境 MOS Bench IDE を使えば、アプリの開発と連携がストレスなくスムーズになる
MOS Bench IDEは、プログラム開発の生産性を向上させるための機能がふんだんに盛り込まれた、機械制御システム開発のための統合開発環境です。機械制御プログラムだけでなく、Visual Studioで構築したユーザーアプリケーションとの連携も容易になっています。(図B)
MOS Bench IDEは、C言語ライクの記述言語で、機械制御プログラムのすべてを、ラダープログラムなしで記述できます。これまでC#、Java、Pythonのような記述言語の経験があるけれど、機械制御は初めてという方でも不自由なく使いこなせるプログラム開発環境です。
例えば、移動動作は、レジスタを意識することなく、自然言語に近い”RobPtpMove”などと記述することで実現します。また、関数名を入力し始めると、関数候補が自動で表示される自動補完機能もあり、より直感的でスピーディーなプログラム開発が可能です。
さらに、機械制御に必要な豊富なライブラリをはじめ、試運転やバグ解析に便利なモータ手動制御用ソフトやIO/カウンタ/モータ動作波形解析ソフトまですべて標準装備しています。
3,実装済みのマルチタスク実行機能を使って、プログラム開発の生産性が向上する
これまで、ラダーで開発したプログラムは処理の羅列になりやすく、「巻物プログラム」と呼ばれていました。「巻物プログラム」では、何の制御のための変数やプログラムなのか区別がつきにくく、制御単位ごとに処理プログラムをまとめることは容易ではありませんでした。
一方で、MOS Benchは、マルチタスク実行機能がコアシステムとして実装されています。そのため、制御プログラム開発者は、面倒なマルチタスク機能を実装する必要がありません。制御対象とするロボットやステージ、可動軸などの制御単位ごとに独立したプログラムを作成し、それぞれタスク(プログラムのまとまり)として登録します。あとはマルチタスク実行機能が実行してくれます。(図C)
MOS Benchを導入することで、コアな部分はパッケージ化されたソフトウェアに任せることができ、貴重な開発リソースをメカ制御プログラム開発に集中して投入することができます。また、開発したプログラムはモジュール化されるので、再利用も容易になり、次回以降の開発にも役立ちます。
4,画像処理のような重たい処理も、機械制御も、一台のパソコンで遅延なく実行できる
これまで、Windowsパソコンで画像処理などのいわゆる重たい処理と、機械制御を同時に行うような場合、リアルタイムの確定性を持った機械制御をすることは困難でした。
しかし、MOS Benchであれば、コアの部分に、Windowsをリアルタイム拡張するソフトウェアを採用しているので、そのような問題は起こりません。機械制御は、専用リアルタイム処理になり、Windows処理から切り離されます。
これによって、PCやWindowsの資産を活かしながらも、きちんとした機械制御が可能になり、ユニットタイプのPLCに匹敵する高速安定制御を実現します。(図D)
「ソフトウェアPLC」と「PLC」の違いは?
「ソフトウェアPLC」はソフトウェア単体をさす言葉であり、「PLC」はハードウェアとソフトウェアのセットをさす言葉です。以下の図を用い、もう少し詳しく説明します。
図左のメーカ独自のPLCは、メーカ独自のハードウェア(独自設計された電子回路や基板、マイコン、FPGAなど)と独自のPLCソフトウェアで構成されています。つまり、ハードウェアとソフトウェアが一体になって販売されています。そのため、メーカ独自のPLCソフトウェアを任意のハードウェアに移植することはできません。
一方でソフトウェアPLCは、ハードウェアと切り離されており、ソフトウェア単体で販売されています。そのため、任意のハードウェア、例えば、産業用パソコンやラズベリーパイなどにインストールして使用できます。つまり、任意のハードウェアをPLC機能を持ったシステムにすることができます。
PLCについての基礎知識
ここからは、ソフトウェアPLCについて理解するための前提知識として、PLCについて解説します。
PLCとは?
PLCは Programmable (Logic) Controller の略であり、プログラマブル(ロジック)コントローラと読みます。
言葉の定義は、国際標準規格の「IEC61131-3」、または日本産業規格の「JIS B 3501 プログラマブルコントローラー 一般情報」に記載されています。
要約すると、PLCとは、工業環境下での機械やプロセス制御を目的とした、デジタル/アナログ入出力を介してデータを演算処理する、プログラミング可能なコンピュータに類似したシステムことです。
さらに簡単に言えば、PLCとは、自由にプログラム開発が可能な、機械やプロセスの制御コントローラのことです。
PLCの構成・仕組み
PLCは主に6つのハードウェア要素で構成されています。
入力装置 | センサやスイッチなどからの入力を取り込む |
出力装置 | モータやランプなどへ出力する |
演算装置 | 入力に対してプログラムをもとに演算処理し出力する |
記憶装置 | ユーザープログラムや入出力データ、演算処理結果データなどを記憶する |
通信装置 | 周辺機器との通信を行う |
電源装置 | PLC自体の駆動に必要な電源を供給する |
ハードウェアだけではPLCとして動作せず、PLCソフトウェアがインストールされてはじめてPLC機能を実現できます。PLCソフトウェアは記憶装置(メモリ)の部分に組み込まれます。
参考文献
・ISaGRAF Technology | Rockwell Automation
・ソフトウェアPLC|日新システムズ (co-nss.co.jp)
・TwinCAT | Automation software | ベッコフ 日本 (beckhoff.com)
・TwinCAT Howto – TwinCAT3の概要 (google.com)
・INplc概要 | (株)マイクロネット (mnc.co.jp)
・組込ソフトウェアPLC INTALOGIC(インタロジック):ILC「株式会社アイ・エル・シー」
・CODESYS Engineering for industrial automation
・CODESYS | 株式会社リンクス 製品サイト (linx.jp)
・. . . but drops ICS Triplex from ISaGRAF Branding | Control Global | Control Global
・CJ international welcomes you to the soft logic open world | IET Conference Publication | IEEE Xplore