カスタムワイヤレスプログラマブルロジックコントローラ(PLC)の作成
DigiKeyの北米担当編集者の提供
2018-06-27
産業用IoTは急速に成長していますが、産業エンジニアには、従来のプログラマブルロジックコントローラ(PLC)が提供する以上のカスタム柔軟性および接続性が必要です。しかし、マイクロコントローラに基づいた真の組み込みソリューションを実装する経験を持つ産業エンジニアはほとんどいないため、ソリューションのカスタムビルディングは高価で時間がかかります。
この記事では、開発者がアプリケーションを実装するためのラダーロジックを使用できる独自のワイヤレスPLCを作成する方法を示す前に、PLCの概要を紹介します。
プログラマブルロジックコントローラ(PLC)の紹介
PLCは、産業用アプリケーションの特定のプロセスを自動化するために使用される耐久性のあるコンピュータです。自動化されているプロセスは、製造工場の組み立てラインからIoTビルの照明制御システムまで、そしてその中間にあるものすべてに及びます。
一般的なPLCアーキテクチャには、次のものがあります(図1):
- 内部RAMおよびROMを備えた中央処理装置
- デジタルおよびアナログ入力
- デジタルおよびアナログ出力
- 産業用定格電源
- 目的の動作を実行するロジックアプリケーション

図1:一般的なPLCアーキテクチャには、一連のアナログおよびデジタル入力があり、それはアナログおよびデジタル出力の動作を活発にするロジックアプリケーションに対して処理および実行されます。(画像提供:Unitronics)
従来のPLCの市場には利用可能な多くのオプションがありますが、開発者はPLCの動作をカスタマイズしたり、独自のデバイスをカスタムで作成することができます。これを行うにはいくつかの方法がありますが、従来の組み込みシステムのエンジニアがこれを容易に行うことができる興味深い方法の1つとして、STM32 Open Development Environment(ODE)があります。
ワイヤレスPLCの構築
開発者が独自のワイヤレスPLCを構築するために必要な3つの主要なハードウェアコンポーネントは、次のとおりです。
- CPU
- 入力/出力信号調整
- Wi-Fiモジュール
開発者はゼロから始めて、これらのコンポーネントすべてを設計したり、既存のエコシステムを活用することができます。STMicroelectronicsは、これらの各コンポーネントを含むSTM32開発者パックを製造することによってPLCの作成を簡素化し、ラダーロジックアプリケーションを開発するためのベースラインソフトウェアも提供しています。
ここでは、これらの主要コンポーネントと、それが産業環境で機能するために満たす必要のある条件を調べてみましょう。
調べる最初のコンポーネントはCPUです。この場合は、STMicroelectronicsのSTM32F401REです。STM32F401REは、84MHzで動作し、アプリケーションコード用の512MBのフラッシュスペースと、96KBのRAMを備えた32ビットArm® Cortex®-M4プロセッサです。STM32F401REは、Nucleo-401RE評価ボード上にあり、他のハードウェアとのインターフェースをとるArduinoヘッダ、および組み込みソフトウェアをプログラミングするためのST-Linkも含まれています。Nucleo-401REは、すべてのPLCコードが実行される場所です。

図2:Nucleo-401RE開発ボードは、PLCコントローラのベースとなり、512MBのアプリケーションコードスペースとデータ用の96KBのRAMを備えています。(画像提供:STMicroelectronics)
PLCを構築するために必要な第2のコンポーネントは、入力および出力用の信号調整ボードです。開発者は、アプリケーションが要求した場合に、2つのボードを選択したり組み合わせたりすることができます。
1つは、X-Nucleo-PLC01A1産業用I/O拡張ボードです(図3)。X-Nucleo-PLC01A1には、CLT01-38SQ7高速デジタル入力リミッタを介した8つの調整入力が含まれています。CLT01-38SQ7は、入力ピンによって消費される電流を制限することにより、PLCのデジタル入力を保護します。VNI8200XPモノリシック8チャンネルドライバを使用して調整された8つの産業用出力もあります。これは、非常に低い供給電流を特長とし、統合型SPIインターフェースおよび高効率100mAのマイクロパワー降圧スイッチングを内蔵しています。VNI8200XPは、それぞれ0.7アンペアまで駆動できる8つのソリッドステートリレーのオンチップを提供します。X-Nucleo-PLC01A1には、各入力と出力の状態を視覚的に確認するためのLEDインジケータ、および温度やその他のボードの障害について信号を送る3つのアラームライトも含まれています。X-Nucleo-PLC01A1は、SPI通信リンクを介してNucleo-401REと通信します。

図3:X-Nucleo-PLC01A1は、PLCアプリケーションに8つのデジタル入力と8つのデジタル出力を提供するように設計された産業用グレードのボードです。(画像提供:STMicroelectronics)
PLCはまた、高電流およびアナログ信号を制御する機能を必要とすることもあります。X-Nucleo-PLC01A1は、デジタル信号専用に設計されています。これらの他の信号を制御するために、開発者はX-Nucleo-OUT01A1を使用します(図4)。X-Nucleo-OUT01A1には、STMicroelectronicsのISO8200BQガルバニック絶縁8極ハイサイドスマートパワーソリッドステートリレーが内蔵されています。これらの出力をPLC01A1と比較した場合の大きな違いは、ボードがアナログ信号とデジタル信号の間でガルバニック絶縁を使用して10.5Vから33Vまでの電圧範囲で動作できることです。通信障害または熱保護イベントが発生したかどうかを示すために、ボードにはいくつかのLEDインジケータも搭載されています。

図4:X-Nucleo-OUT01A1は、PLCアプリケーションに最大0.7アンペアまで対応可能な8つのリレー出力を提供するように設計された産業用グレードのボードです。(画像提供:STMicroelectronics)
ワイヤレスプログラミングメカニズムを提供するために、またはIoTに接続するPLCを作成するために使用できる最終的なコンポーネントは、ワイヤレスチップです。開発者は、STMicroelectronicsの802.11 b/g/n準拠のWi-Fi拡張モジュールであるX-Nucleo-IDW01M1を使用することもできます(図5)。X-Nucleo-IDW01M1は、FCC、ICおよびCE認証済みで、生産システムの準備が整うようにする統合アンテナを備えています。

図5:X-Nucleo-IDW01M1は産業用グレードのWi-Fiモジュールで、PLCに統合してワイヤレス接続を提供できます。(画像提供:STMicroelectronics)
手元にあるこれらの各コンポーネントを使用することで、開発者は図6に示す順序でハードウェアPLCを組み立てることができます。損傷しないようなボードを後方に取り付けることは可能ですが、追加のデバッグが行われます。RS-485チップなど、PLCに追加する必要のあるカスタムハードウェアがある場合に備えて、開発者は、OlimexのProto ShieldやAdafruit Proto ShieldなどのArduinoプロトタイピングシールドを使用できます。

図6:機能的なPLCを実現するためにSTMicroelectronics開発ボードを組み立てる順序。(画像提供:Beningo Embedded Group)
PLCソフトウェアのセットアップ
PLCをセットアップするために必要なソフトウェアがいくつかあります。それは次のとおりです。
- PLC組み込みソフトウェア
- 組み込みコンパイラ
- ラダーロジックアプリケーション
PLC組み込みソフトウェアFP_IND_PLCWIFI1は、STMicroelectronicsによって開発され、STMのウェブサイトからダウンロードできます。これには、STM32F401REを稼働させるために必要なすべてのコードが含まれており、必要なハードウェアスタックに応じて、事前設定されたいくつかの構成が含まれています。組み込みソフトウェアには、STM System Workbench、IAR Workbench、およびKeil MDK用にすでにセットアップされた3つのプロジェクトがあり、http://www.st.com/en/embedded-software/fp-ind-plcwifi1.htmlからダウンロードできます。(図7)。開発者は、これらのいずれかを使用して、組み込みソフトウェアをコンパイルしてPLCに展開することができます。

図7:PLCを実行するために必要な組み込みPLCアプリケーションパッケージ。(画像提供:Beningo Embedded Group)
組み込みアプリケーションをダウンロードしたら、目的のコンパイラIDEにインポートしてコンパイルできます。開発者は、コードが問題なくコンパイルされることがわかるはずです。コンパイルされたアプリケーションは、PCへの標準USB接続を使用してPLCにダウンロードできます。
最終的に、STMicroは、ロジックラダーアプリケーションの作成に使用できるシンプルなPLCアプリケーションプログラムも作成しました。このアプリケーションは、iOSとAndroidの両方で使用できます。アプリケーションは、モバイルデバイス用のアプリケーションストアでST PLCアプリケーションを検索することによって、モバイルデバイス上でダウンロードすることができます。
簡単なサンプルアプリケーション
PLC用の組み込みソフトウェアが実行されると、開発者は、ST PLCアプリケーションを使用してアプリケーションコードの開発に集中できます。アプリケーションコードは、ラダーロジックを使用して開発されます。開発者は、アプリケーションを起動し、ハードウェアスタックに含めるよう選択した開発ボードに基づいて、新しいプロジェクトを作成することができます(図8)。

図8:ST PLCアプリケーションから、開発者は、新しいプロジェクト(左の赤い強調表示)を作成し、プロジェクト名(右のオレンジ色)を選択し、使用されているハードウェア(右の緑色)を構成することができます。(画像提供:Beningo Embedded Group)
プロジェクトが構成されると、開発者には、アプリケーションのラダーラングを作成するためのクリーンスレートがあります。優れた最初のプロジェクトとは、入力を読み取ることができるかどうか、その入力に基づいて出力を設定できるかどうかを簡単にテストすることです。開発者は、[Add Rung]をクリックしてこのテストを作成し、アプリケーション内で必要なロジックを実装することができます。これが完了すると、開発者は図9の左側と同様のラングを作成したことになります。

図9:ST PLCアプリケーションから、開発者はロジックを実装して、目的のとおりにデバイスを制御できます(左)。アプリケーションが作成されると、アプリケーションの送信ボタンをクリックして、アプリケーションをPLCにワイヤレスでプッシュできます(右)。(画像提供:Beningo Embedded Group)
ラングを保存すると、開発者はメインのプロジェクト画面に戻ります。ここから、アプリケーションでラングを編集したり、追加のラングを作成することができます。アプリケーションを展開する準備ができている場合は、図9の右側に示すワイヤレス送信ボタンをクリックすると、接続してからPLCアプリケーションを送信します。開発者は、モバイルデバイスをPLCアクセスポイントに接続し、アプリケーションの送信を成功させるためにポートおよびIPアドレスを構成する必要があります。
ワイヤレスPLCの構築に関するヒントとコツ
独自のカスタムワイヤレスPLCを作成する際に、開発者が従うヒントとコツがいくつかあります。それは次のとおりです。
- ワイヤレスボードが動作していない場合は、ボードがスタック上で正しい向きになっていることを確認します(つまり、正しい向きに置きます)。
- SSIDにセキュリティキーを追加することにより、システムのセキュリティを向上させます。
- デフォルトのワイヤレス動作をステーションモードに変更することにより、アクセスポイントへの更新切り替え中にのみ、PLCを更新します。
- RS-485やModbusなどの産業用通信プロトコルを追加することを検討します。
- PLCで速度を上げる最善の方法は、関心を引く問題を考えてから、その問題をPLCで解決してみることです。
- Arm用IAR Embedded Workbenchを使用して、PLC組み込みソフトウェアをコンパイルします。ツールチェーンは30日間コード無制限です。
結論
カスタムPLCを構築することは必ずしも困難である必要はありません。ここで説明したように、STMicroelectronicsが提供するエコシステムにより、開発者はベースのPLCソフトウェアを非常に迅速に稼働させることができます。アプリケーションを簡単に変更およびカスタマイズして、幅広いアプリケーションや課題に対応することができます。
主な目的はラダーロジックを使用してエンドアプリケーションコードを作成することですが、開発者が経験と知識を持っていれば、組み込みソフトウェアを簡単に調整し、より強力で柔軟なハイブリッドシステムを実現できます。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


