Arduino Opta を試す:ホビー用ArduinoとPLCの橋渡しになる産業用コントローラ

YouTubeで開く ↗
概要

ArduinoはArduino Proシリーズの1製品として、見た目からして産業機器らしいPLC(Programmable Logic Controller)「Arduino Opta」を出している。リレーメーカーのFinderとArduinoの共同製品で、話者はこれを「ホビー用途のArduinoと産業用PLCの橋渡し」にあたる製品と位置づける。本動画では実機でArduinoとしての使い方、PLCとしての使い方、両者の組み合わせを試し、その使い勝手を評価している。

8分で読めます

PLCとは何か:リレーシーケンス制御の置き換え

話者はまずPLCの成り立ちを説明する。昔の工場の自動制御は、リレーを大量に使い、それらを配線して組み上げる「リレーシーケンス制御」で実現されていた。しかしこの方式には問題が多かった。制御内容を変えるには配線をやり直す必要があって手間がかかる。リレーは消耗品なのでメンテナンスが大変で、消費電力も意外と多い。そもそもリレー自体のサイズも大きい。

こうした扱いにくさを解消するために登場したのがPLCである。リレーと配線で組んでいた制御を、PLC上のソフトウェアに組み込む。リレー制御で使われていたラダー図をそのままPLC上のソフトウェアで組み、同じ動作をさせる。そしてその信号のオン・オフでリレーの接点を開閉し、大電力を制御する。話者の整理では、制御などの複雑な部分をPLCが担当し、電力のオン・オフをリレーが担当するという役割分担になる。

Optaの位置づけとポート仕様

Optaは「Arduino」と名乗ってはいるが、中身は基本的にPLCだと話者は言う。使い方は3通りある。Arduino IDEでスケッチを書き込んでArduinoとして使う方法、PLC IDEという開発環境でラダーを書いてPLCとして使う方法、そしてラダーとスケッチを組み合わせて高度な制御をする方法だ。ただ話者が使っていて一番良いと感じたのは、Arduinoのライブラリが使えることや、使いやすい環境が最初から用意されていることだという。

ポートの仕様は次の通りである。電源は12V〜24V入力に対応しており、一般的な産業用PLCと同じように使える。入力ポートはデジタル・アナログ兼用で、アナログ入力は最大10V、デジタル入力は24Vまで。アナログは電圧入力のみで電流入力には対応しておらず、電流入力を使いたい場合は別売りの拡張モジュールが必要になる。

出力は4チャンネルのメカニカルリレーで、定格は250V AC 10A。話者は、モータの突入電流にさえ気をつければだいたいの負荷に使えそうだと見る。ただしPLC自体が高価なので、メカニカルリレーの寿命を考えると、モータなどの大電力負荷をオン・オフする場合は外部にコンタクタを付けたいという。入出力は必要最低限の数だけで、小規模なプロジェクトならこれで足りるだろうというのが話者の評価である。

モデルのバリエーションと価格

Optaには複数のモデルがある。入門用の「ライト」から最上位まで、どのモデルにも入出力ポート、プログラミング用のUSB、イーサーネットポートが備わる。一段上のモデルではこれにRS485が加わり、さらに上の最上位モデル「WiFi」ではWiFiやBluetoothなどの無線機能が搭載される。

話者が今回購入したのは最上位のWiFiモデルだ。今のところWiFiやBluetoothを使う予定はないが、とりあえず全部できるモデルを買っておいたという。価格はライトが税抜き2万5,000円、WiFiが税抜き3万3,000円。話者は、WiFi経由でPLC内の変数を吸い出したい、スケッチを書き込みたいといった需要がない限り、ライトでもだいたいのことはできてしまうと述べている。

拡張モジュール

拡張モジュールは本体の右側に連結して使い、5台まで連結できる。一番左がPLC本体になる。モジュールの種類は本体に書かれた番号で見分けるが、文字が小さく、どれがどれか分からなくなりやすいと話者は指摘する。

紹介されたモジュールは3種類である。1つ目はチャンネル数を増やすもので、16チャンネルのプログラマブル入力と8チャンネルのメカニカルリレーを追加できる。本体だけでチャンネル数が足りない場合に使うものだ。2つ目も同じく16チャンネル入力・8チャンネル出力だが、出力がソリッドステートリレーで、定格は24V 2A。低電圧で高速にスイッチングしたい場合に向くと話者は言う。3つ目はアナログ拡張モジュールで、6チャンネルのプログラマブル入力、2チャンネルのプログラマブル出力、4チャンネルのPWMを追加する。入力・出力ともに電圧モードと電流モードを選べ、これはOpta本体にはない機能である。本体の電圧入出力に対応していないセンサやアクチュエータを使いたいときに活躍するという。

Arduinoとして使う:delayが招いた不安定な動作

実演の構成は、Opta本体、スイッチングハブ、DC電源、パトライトである。ファクトリーオートメーション機器らしく、パトライトとのイーサーネット経由の通信も試している。

まずはArduinoとして、Arduino IDEでコードを書き、USB-Cケーブルで書き込んだ。ボタンを押している間だけ0.25秒間隔で点滅するコードで、一応は動いた。ただし話者自身が「結構適当に作ったコード」と言うように、押すタイミングによってはなかなか光り始めない、点きっぱなしになる、ボタンを離しても消えない、といったおかしな動作があった。話者はコード中で使ったdelayが悪影響を及ぼしているのではないかと推測し、こうした動作はPLC的に組んだ方が良いのではないかと考えて、次のPLCとしての使い方へ進む。

PLCとして使う:ラダーとタイマーでリレーを制御

PLCとして使うには、Arduino PLC IDEという開発環境が別途必要になる。PLC IDEの機能をフルに使うには本来ライセンスが必要だが、Optaにはライセンスが内蔵されており、最初から全機能が使える。話者は、先に挙げた販売価格は実質的にライセンス込みの価格だということだと説明している。

ラダーでは入力のボタンと出力のコイルを用意する。入力にはプログラマブル入力を割り当てることも、本体に最初からあるユーザーボタンを使うこともでき、今回はユーザーボタンを使った。コイルには内蔵のインジケータLEDや内蔵メカニカルリレーを割り当てられる。さらにタイマーを追加し、1秒以上入力が入り続けるとタイマーから出力されるようにした。つまり、ボタンを1秒以上押し続けるとインジケータLEDが光り、内蔵リレーが閉じるという動作である。

実際に押すと、1秒後にリレーがカチッと鳴り、LEDが点灯した。リレーに実際に電流を流しても問題ないかを確かめるため、白熱電球をつないで試すと、押して1秒後に電球が点き、離すとすぐ消えた。話者はこれを「なかなかPLCみたいな動作」と評している(白熱電球が熱くなるので注意、という一言も添えている)。

ラダーとスケッチを組み合わせてパトライトを制御

最後に、ラダーとArduinoスケッチを組み合わせた。ラダー側では入力ポートに押しボタンをつなぎ、押すとin1という変数が1になるようにして、その変数をスケッチ側へ渡す。このためには追加の設定として、ラダーとスケッチで共通に使う変数を「Shared variables」として定義する必要がある。スケッチ側では、押されたボタンに応じて、イーサーネットで接続したパトライトのランプを光らせるコードを書いた。パトライトとPLCはスイッチングハブを介してLANケーブルでつながっている。

ここで話者は一つつまずいた。コード中のコメントに全角文字を使うとエラーになるという点である。話者の記憶では、コンパイルまでは通ったものの書き込みの段階でエラーが出たといい、Optaを使おうとしている人は気をつけてほしいと注意している。

動作としては、ボタンを押すと同時にパトライトが光り、同時押しにも対応し、適当に連打してもきちんと追従した。話者は、今回はボタンとパトライトという簡単な構成だが、たとえばPLCの入力にセンサ出力をつなぎ、センサが閾値を超えたらリレーに制御信号を出して装置を止め、パトライトを光らせるといった応用もできると述べる。スイッチングハブ経由で他のイーサーネット機器と通信できる点も良いポイントに挙げている。

話者の結論

話者は、Arduinoだからもう少し低機能なものかと思っていたが、意外にかなりしっかりした製品だったと振り返る。小規模な制御を組みたい人や学習用途には良い選択肢になるという。価格はイーサーネット付きで2.5万円、無線付きの上位版で3.3万円で、コストパフォーマンスはかなり頑張っている方だと話者は評価する。他社のPLCはソフトウェアが有料だったり、そもそも個人では購入しづらかったりするため、PLCへの敷居を下げてくれるこうした製品は貴重だ、というのが話者の結論である。