今回は、24VアイソレートIO基板とOpenPLCを使って、24Vリレー回路を駆動したので紹介します。なぜ24V?と思われるかもしれませんが、工場で使用されるPLCなどは、電源もIO電圧も24Vが標準となっています。ラズパイで24Vのリレー回路を駆動できれば、いろんな機器との接続が可能になり、活用の幅を広げることができます。
今回製作した、24Vリレー駆動回路の全体構成です。24VアイソレーションIO基板を使って、ラズパイに24V電源の信号を接続します。ラズパイ内部でOpenPLCを動作させて24Vリレーを駆動します。

全体の接続構成図は以下です。24VアイソレーションIO基板を介して、ラズパイの入出力端子(入力端子:%IX0.3,%IX0.4, 出力端子:%QX0.1)に接続します。24VアイソレーションIO基板があるおかげでお手軽に実現できます。

アイソレーションIO基板の出力側は、%QX0.1を使用し、リレーのコイルに接続
動作確認用に作成したラダー図です。
①X0(セットスイッチ)を押すとY0(出力)がONとなり保持されます。
②X1(リセットスイッチ)を押すY0(出力)がOFFになります。
Y0(出力)をリレーのコイルと接続して、コイルが励磁されると、リレー内のスイッチがON/OFF切り替わることを確認します。

ラズパイの出力端子:%QX0.1を使用 ※%QX0.0を使う場合は起動時に一時的にONになるので注意
このシステムで重要な24V電源がなかったので、秋月さんでACアダプタを購入して、24V給電用の基板を製作しました。



100均でド2.5mmのドリルを買って穴を広げてからジャックを取り付けました。
24Vのリレーは専用の端子台に固定しました。

このリレーはC接点が4つ搭載されているので、いろんな組み合わせで使用できそうです。2a2bの組み合わせとかも選択できますね。

以下、リレー端子台のピン配でちょっと悩んだので、
端子台を上から見て、接点のピン番号と端子位置は以下です。
2次側の回路を接続するときに間違えないように(自分用です)

念のためコイルサージ吸収用にダイオードを入れておきました。

実際に、24V電源とスイッチ、24Vリレーを全て接続するとこんな感じです。

さっそくOpenPLCを使って、ラダー図からOpenPLC Runtime用のプログラムを生成します。

①ラダー図を作成
②ラズパイのGPIO端子を割り付け
③”Generate program for Open PLC Runtime”ボタンを押す
次に、コンパイルしたプログラムをアップロードします。

①生成したプログラムを選択
②“Upload Program”ボタンを押してプログラムをアップロード
プログラムの名前と説明(任意)を記入して”Upload program”ボタンを押します。

①プログラムの名前を記入
②プログラムの説明を記入
②“Upload Program”ボタンを押してプログラムをアップロード
以下のように、コンパイルが始まって、プログラムが転送されます。
転送が完了すると、”Compilation finished successfully!”と表示されます。”Go to Dashboard”ボタンを押して、Dashboardに移動します。

”Start PLC”ボタンを押して、PLCを開始します。

正しく起動するとStatusが”Running”になります。

”Monitoring”メニューで、ラズパイの端子状態を確認できます。入力を変化させると、リアルタイムにValueの値が変わります。

以上で、OpenPLC側の設定は完了です。
実際にボタンを押して、動作を確認した動画です。ボタンを押すとリレーのコイルが励磁されてLEDが点灯しているのが分かります。リレーのスイッチが切り替わる音が何とも言えません。
④押しボタン(リセットスイッチ)を押す⇒⑤出力がOFF⇒(LEDが消灯)
※左側:セットスイッチ, 右側:リセットスイッチ
実際にコイルが励磁されて、スイッチが切り替わってるところを確認しました。
ラズパイ+OpenPLC+24VアイソレートIO基板を使うことで、活用の幅が広がりそうですね。とりあえず、自動水やりシステムでも着手してみようかな・・・
面白いものが出来たら紹介します。
24VアイソレートIO基板については、以下の記事を参照ください。
OpenPLCのインストールは以下の記事を参照ください。