そうした状況を打破すべく作られているのがOpenPLCになります。オープンソース・ソフトウェアとして開発されており、対応デバイスの中にRaspberry Piも含まれています。今回はそんなOpenPLCを紹介します。
OpenPLCのインストール
OpenPLCのインストールはとても簡単です。ただしコンパイルでかなり時間がかかります。(筆者のラズパイ0環境では1時間以上かかりました)
必要があれば apt-get install git
でGitをインストールしておきます。
git clone https://github.com/thiagoralves/OpenPLC_v3.git cd OpenPLC_v3 ./install.sh rpi
OpenPLCはRaspberryPi(Raspbian)だけでなくUniPi NeuronやDockerコンテナの上でも起動する事ができます。./install.sh rpi
はどのプラットフォーム上で構築するかのオプションです。今回はRaspberryPiを用いるのでrpi
をオプションに選んでいます。
インストールが終わったら一度再起動します。そうするとWebサーバが立ち上がっていますので、 http://(Raspberry PiのIPアドレス):8080
でアクセスします。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/44ef2a3b014b3614eda461f2aed8546b.png?w=1200&ssl=1)
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/f89a5f02f856831d8a110bb0006b995f.png?w=1200&ssl=1)
管理画面のID、パスワードは両方ともopenplcとなっています。
セットアップ
まず最初にRaspberry Piのピン配置を設定します。これはHardwareメニューにて行います。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/efe4c8fe4b57c1b6b8028d44003c50e2.png?w=1200&ssl=1)
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/99a95647b0767508b7ea5ff951b73e22.png?w=1200&ssl=1)
HardwareでRaspberry Piを選択して、設定を保存します。そうするとRaspberry Pi上でコンパイルが実行され、インストールが行われます。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/d7a532b6d273bf06cebf427db1307be3.png?w=1200&ssl=1)
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/5474a129f72e01cb2b052b4f51dd2a57.png?w=1200&ssl=1)
なお、OpenPLCでのピン配置は以下のようになっています。名称が異なるので注意してください(via openplc | Getting Started – RPi)。
こちらはHello World的なプロジェクトを動かしたところです。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/9feb1cf54cc67a80a7280c84ad58eff8.png?w=1200&ssl=1)
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/1876f64f68b0ab8f84b17aa39cedc1a4.png?w=1200&ssl=1)
[youtube https://www.youtube.com/watch?v=BDUs7uxNyH4&w=560&h=314]
OpenPLC Editorについて
PLCの世界ではラダー言語と呼ばれる図を使って制御を図示します。テキストで書くこともできますが、WindowsとLinux用のGUIエディタが提供されています。それがOpenPLC Editorです。
こちらがWindows版の画面です。Windows用といっても実際にはCygwinを介してLinux版が立ち上がっているようです。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/openplc-5.png?w=1200&ssl=1)
スイッチやLEDなどを定義して、それらを線で結びつけます。回路図と同様に設計を行います。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/openplc-4.png?w=1200&ssl=1)
シミュレータも入っており、OpenPLC Editor上で動作チェックも可能です。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/openplc-3.png?w=1200&ssl=1)
最終的にラダー言語のファイルをダウンロードします。このファイルはOpenPLCでアップロードして実行できます。
![](https://i0.wp.com/blog.tkrel.com/wp-content/uploads/2019/07/openplc-7.png?w=1200&ssl=1)
まとめ
条件がシンプルなプロジェクトであれば、OpenPLCを使ってRaspberry Piの回路を制御することもできるでしょう。さらに産業用機械であったり、Arduinoなども制御できるようになっています。研究用途から実際の工場などでも活躍できそうです。
]]>