ふたつぼし inside

制作・活動内容、機材の使い方、作り方などなど

ユーザ用ツール

サイト用ツール


サイドバー

**ふたつぼしHomeに戻る**
**ふたつぼしストアを覗く**

コンテンツマップ



dandelions

最近更新されたページ

activities:products:plc

PLCによる展示物の自動運転

センサのテスト

Raspberry Piを使ったPLC(プログラマブル・ロジック・コントローラ)を利用して、展示スペース内の自動運転に挑戦します。
現在も照明はタイマーでON/OFFしてますが、常時不在となる展示スペース内でさらに動くものの展示ができるようにしたいです。

きっかけ

別冊書籍もともと雑誌のInterface誌の連載を見ていて、展示スペースでモーターを使った展示物を自動で動かす仕組みを作れるのではと思ったのがきっかけです。記事をまとめた書籍(基板提供付き、CQ出版社)も出版されたので、それを買っていろいろ調べ始めました。



PLC(プログラマブル・ロジック・コントローラ)について

  • あらかじめ作成したプログラムに従って、接続された機器を自動運転するもの。
  • ホームオートメーション、IOT機器の制御、建物管理、工場の生産機械のオートメーション等に使用されています。
  • 国内では、三菱製の「シーケンサ」に代表される自動化関連機器の豊富なラインアップがあります。
  • 1つのPLCにたくさんの機器を接続してそれらを自由に制御するシステムが組めます。機器の入れ替えや制御方法の見直しなどが容易にできるのが特徴。生産ラインなら製造機械の入れ替え、ライン構成の変更等にも柔軟に対応できます。
  • 制御用のプログラム作成に使用される言語(ラダー言語等)も、習得のハードルが低いとのことです。


Interface誌連載のラズパイPLCシステム

おまけの実験基板オートメーションの分野で使われてきたPLCにおいて、オープンソースのソフトが出てきて、手軽に自作で手を出せる環境が揃ってきたとのことです。
記事中では、ラズベリーパイをコントローラとして利用できるオープンソースのOpenPLCを使ってPLCシステムを作り、様々な利用方法の実験を紹介しています。
別冊の書籍版は記事中で使われている専用基板提供のおまけ付きで、部品を入手してはんだ付けすれば同様の実験が始められます(部品セットも別途市販(秋月電子通商 DC24VアイソレートI/O基板パーツセットArduinoアナログI/O拡張基板パーツセット)されています)。最近の半導体不足でラズベリーパイの入手が一番のネックかもしれません。

この基板に接続する周辺部品については用途や必要に応じて買い足してゆくことになります。基礎知識がないだけに品物を探すことが結構大変で疲れました。
書籍で出てくるような機械式リレーは、C接点リレーが大抵生産終了で入手できず、選択肢がありません。また、リレーユニットとソケットの対応や規格がよくわからず、どれを選べばよいか悩みました。


OpenPLC

  • かつてはPLCは製造工場や大規模施設で主に使われていたため、市販の機器やソフトは高額なものが多いです(特にソフトウェア)。その後、ホームオートメーションやIOTなど、より広い分野で使いたいニーズが増えて、一般に広く普及した小型マイコンボード(ラズベリーパイ等)にオープンソースのソフトウェアを載せて、安価にPLCのシステムを構築する使い方ができるようになってきました。
  • OpenPLCは、個人がオープンソースで開発した、無償で利用できるPLCソフトです。
  • サポートしているハードウェアはRaspberry Pi、Arduino、Windows/Linux PC、PiXtend/Unipi/FreewaveのRaspberry Pi組込製品他。
  • 使い方
    • プログラムを作るエディタ/ハードウェアに組み込む実行環境のランタイム/監視用ソフトのSCADAの2つに分かれており、手順に従ってしばらく動かしてみているとすぐ慣れると思います。難しいかどうかは、むしろこのソフトがどうという以前に、PLCというシステムの理解に左右されると思います。
    • Web上では、PLC関連というと三菱のシーケンサのプログラム関連の記事が多く出てきますが、それらよりもこちらの方がわかりやすい感じがします。
  • サイトが直近(2022/5?)でリニューアルされ、少しわかりにくくなった感じです。前はランタイムを入れた制御用の機器に入出力を追加するため使うSlaveデバイス扱いだったArduinoが、直接ランタイムをインストールできるようなバージョンに変わっていました。サポート対象の古いハードウェア関係の記事は整理されてしまったようです。まだ幾つかのページは工事中です。
  • Unipi1.1/Liteがサポートされています(UniPiのサイトではOpenPLCの詳しい情報は載せていないため、使い方はOpenPLCのサイトを参照します。以前はUniPi1.1用のインストラクションがあったのですが、サイトリニューアルで無くなったので、今後は"Linuxへのインストール"を参照することになります。

参考:OpenPLCの使い方

市販製品の活用

離れた場所にある展示スペースに設置することを考えると、自動運転を始めたらあまり止められなくなるので、設置(本番)用と手元での実験用と2台のPLC機器があるのが良さそうだと思えてきました。書籍の基板は手元用にして、もう1台の調達を考えます。
同じものをもう1台でも良いのですが、Raspberry Piをベースにした似たような市販製品(拡張ボード)が幾つか出ていることがわかったので、その中で良さそうなもの(UniPi1.1)を選びました。市販製品だと手作りよりは信頼性が高いので(作りが良いとは限りませんが)、安心感につながります。
Raspberry piも趣味の範疇から抜け出して、産業用をうたったパッケージ(電源や放熱の信頼性を確保した製品だと思います)も出ていますね。

Unipi製品

  • 家庭(スマートホーム)から建物管理、工場での製造までのオートメーションのためのPLC、IOTゲートウェイ、センサ、システム等の開発・製造を行っているチェコの会社のようです。
  • 制御ソフトウェアとして、オリジナルのMarvis、オープンソースのNodeRED等多くのソフトウェアが対応しており、一部の製品はOpenPLCにも対応しています。
  • Raspberry Piを取り付けるUnipi1.1/lite以外には、Raspberry Piがあらかじめケース内部に入っているものや、制御部も全部オリジナルのものなど様々な製品ラインアップがあります。


UniPi1.1

基板表 基板裏 Raspberry Piを載せると
OpenPLCでサポート対象になっている、Raspberry PiのI/O拡張ボードです。UniPi社の初期の製品でしょうか。きれいにケースに収まった他の製品群とは趣が異なります。

特徴

  • 入出力が、アナログIN✕2、デジタルIN✕14、リレーOUT✕8、アナログOUT✕1、I2C/UARTポート、1wire busと使い切れない位あり、RTC(Real time clock)付き、値段も安いです。
  • 入出力の数を減らしたLite版もあります。


使い方

  • 購入したボードにRaspberry Pi(2~4B)を取り付けるだけです。電源(5V 1.5A/2A~)は、Raspberry Pi側に給電することも、分けておくこともできます。
  • デジタル入力用に、センサー等の電源として+12Vをボードから給電できます。
  • リレー(250VAC@5A/24VDC@5A)も搭載済ですので、後は必要な機器を配線するだけです。
  • ソフトウェアはRaspberry Piにインストールします。


Raspberry Piの設定

UniPi1.1に乗せたRaspberry PiにOpenPLCを設定します。

  • 最新版のOSをインストールし、OpenPLCのランタイムをインストールします。OpenPLCのページでは、UniPi1.1はUniPi Industrial Platformという呼び名が使われています。
  • 書籍記事を参考に、Raspberry PiとWifiでつないでPLCプログラムを送り込めるように、Wifiルータの設定をします。
  • その後、他の機器からWifiのSSIDが見えなくなる現象が起きました。書籍中にもこの話があったので、システム起動時にWifi機能をOFF/ONするような設定を行うことで対応しました。
    Raspberry Piのシャットダウンが適正にされていないときに起きる不具合のようですが、単体で動かしているときは、運用上避けられないと思います。パワースイッチが欲しくなります(ちなみにBeagle Bone Blackでは基板上にパワースイッチが付いていて、ワンタッチでシャットダウンプロセスを開始できます)。


ラダープログラム

PLCをプログラムする言語は幾つかありますが、過去からよく使われてきたのはラダー図になります。今回はラダー図を学んでプログラムを作ります。

LED間欠点灯のサンプルはしご状に引いた線の途中にいろいろな役割をさせるブロックを配置した図がプログラムになります。PLCを動かすと、その図を左から右へ、上から下へと実行し、一通りこなしたら、最初からまた延々と繰り返し実行し続けます。

基本のブロックはスイッチとコイル(リレーの一部分)で、実際の入出力と対応させることで周辺機器から信号を受け取ったり、機器を操作したりします。いろいろな処理ができるように、内部処理用のスイッチやコイル、各種機能用の専用ブロックも用意されています。これらをつないで組み合わせて、目的の自動処理を実現するラダー図を作ってゆくことになります。



ケース作成(つづく)
:ラダープログラムの勉強、UniPi1.1によるPLCシステムの実際、展示スペースでの自動運転の状況等々…現在進行中

activities/products/plc.txt · 最終更新: 2023/12/05 10:27 by Staff_Ujiie