ラズベリーパイ(raspberry pi)のGPIOと三菱PLC(シーケンサ)FX3Gを接続・配線して、実際に動かしてみました。電圧レベルが違うためフォトカプラで絶縁して対応しています。
ラズベリーパイと三菱PLC(シーケンサ)は電圧レベルが違う
ラズベリーパイ(raspberry pi)のGPIOは基本3.3Vです。24Vの三菱PLC(シーケンサ)FX3G-40MRは直接動作できません。
そのため以前記事でフォトカプラを使って安全に24VリレーをON/OFFをしたのを応用します。
フォトカプラで絶縁して入出力させる
今回は手軽に購入できるフォトカプラで絶縁する入出力回路を検討して、LTSPICEによるシミュレーション・実動作確認まで行っていきます。
下記の入力・出力イメージのようにラズベリーパイと三菱PLC(シーケンサ)FX3Gを配線していきます。(※入出力で必要な24V電源はデバッグのため三菱PLC(FX3G)の内部24Vを使用します。)
・(ラズベリーパイ視点での)出力イメージ
・(ラズベリーパイ視点での)入力イメージ
フォトカプラPC817を使って接続・配線をする
前回と同じでフォトカプラはPC817です。非常に安く購入でき、ネットでも多く出回っているので選択しました。10個入りで数百円で購入できます。
PC817はDIP品ですのでブレッドボードへの挿入も簡単で電子工作にピッタリです。
次にPC817を使ってラズベリーパイと三菱PLC(シーケンサ)を接続できるように回路検討・シミュレーションをしていきます。
ラズベリーパイから三菱PLC(シーケンサ)への出力回路
三菱PLC(シーケンサ)FX3G-40MRの入力端子が何mA使うのか仕様を確認していきます。あまりにも大きい場合は前回と同様に電流増幅させるトランジスタを噛ます必要があるためです。
三菱FAサイトでFX3Gの仕様を確認する
三菱FAサイトでFX3Gの仕様確認します。(リンク先はこちらから)
仕様を確認すると今回使う「X10」の入力端子は5mA流れるということでしたので、5mAがフォトカプラでドライブできるかLTSPICEでシミュレーションします。
フォトカプラで三菱PLCを動作できるかLTSPICEでシミュレーションする
マニュアルの詳細をみると三菱PLC(シーケンサ)FX3Gの入力端子内部回路にはフォトカプラがあるようですが、今回のシミュレーションでは簡易的に抵抗(4.7kΩ)に置き換えて確認します。
シミュレーションの結果としてはフォトカプラで無事動作が確認できました。「緑色のラズベリーパイのON/OFF」で「青色の三菱PLC(シーケンサ)FX3Gを24VでON/OFF」できています
三菱PLC(シーケンサ)からraspberry piへの入力回路
「24Vの三菱PLC(シーケンサ)のリレー出力」からフォトカプラを経由して「3.3VのラズベリーパイのGPIO」に信号を伝えるための回路を検討していきます。
こちらは特にそこまで気にせずオープンコレクタで対応していけば大丈夫です。
オープンコレクタの箇所をLTSPICEでシミュレーションする
簡単にコレクタ側に3.3Vで10kΩで吊ってオープンコレクタをLTSPICEでシミュレーションします。(※ラズベリーパイのモデルは省略)
勿論結果は特に問題ありません。「青色の24Vの三菱PLC(シーケンサ)のリレーのON/OFF」が「緑色の3.3VのラズベリーパイのGPIO」に伝わっています。(※直接オープンコレクタでGPIOに接続していますので論理が逆になっています。)
ラズベリーパイと三菱PLC(シーケンサ)FX3Gの接続構成
今回実際に動かしたデバッグ環境の全体写真は下記となっています。動作が分かりやすいようにラズベリーパイとPLC(シーケンサ)の両方にデバッグLEDを2つ付けています。
フォトカプラの箇所をアップした写真が下記です。ブレッドボードで全て接続できます。
PLC(シーケンサ)FX3Gの入出力回路をアップした箇所が下記写真です。入出力時にLEDが点灯します。
三菱シーケンサの電源ケーブルなどに関しては下記記事と同じです。
また「入力SW」・「ラズベリーパイのGPIOを動かし方」などについては下記記事の内容と同じですので詳細は省略します。
raspberry piとフォトカプラ,PLC(シーケンサ)の回路図
ラズベリーパイとPLC(シーケンサ)FX3G以外も含めた今回の回路図は下記形となっています。
「GPIO17」から出力のフォトカプラをONさせて、「GPIO22」で入力のフォトカプラからの信号を受けます。「GPIO27」はラズベリーパイのプログラム起動SW用です。
今回のラズベリーパイ・シーケンサFX3Gのプログラム
今回は「ラズベリーパイ側」、「PLC(シーケンサ)FX3G側」の両方のプログラムを作成していきます。
raspberry piのラッチ(自己保持)ラダープログラム
ラズベリーパイのプログラムは下記記事で作成した「ラッチ(自己保持)回路 リセット付き」を改造します
今回はリセットSW(X002)は使わないので、その信号(X002)で三菱PLC(シーケンサ)から来る入力信号を検知させます。(検知させるだけ)
三菱PLC(シーケンサ)FX3Gのタイマーを使ったラダープログラム
三菱PLC(シーケンサ)FX3Gのプログラムを作成するにはGX Worksのソフトが必要になります。下記記事で紹介しています
今回はラズベリーパイからの入力を「X010」で受けた後に5秒ディレイを入れた後、出力「Y010」でラズベリーパイ側に信号を出力する内容としています。
今回のプログラム・デバッグ動作の内容
今回のデバッグ内容を説明していきます
プログラム動作開始時
今回のプログラム動作開始時(SW1を押していない状態)では何も入出力していません。
ラダープログラム上でも何も入出力していないことが分かります
SW1を押した後
SW1を押すとラズベリーパイ側のラダーが動き出し、PLC(シーケンサ)FX3Gに信号が出力されます。ラズベリーパイ出力LEDがONになります。
フォトカプラを通じて三菱PLC(シーケンサ)FX3Gの入力「X10」端子に信号が届きます。その後PLC(シーケンサ)側で5秒待っている状態になります
5秒ディレイ後、ラズベリーパイに信号が入力される
5秒後はPLC(シーケンサ)側からラズベリーパイ側に信号が出力されています。
ソフト上で見るとPLC(シーケンサ)FX3Gの「Y010」からラズベリーパイの「X002(GPIO22)」に伝わっていることが分かります。
動画での一連の流れ
今回の一連の流れをYoutubeの方にもあげておきました。流れとしては下記となっています。
3秒~ ①入力SWを押す。②ラズベリーパイ⇒PLC(シーケンサ)FX3Gに出力して赤色LEDがON。③5秒ディレイ開始
8秒~ ④ラズベリーパイにPLC(シーケンサ)FX3Gから入力して緑色LEDがON。⑤ラズベリーパイのソフトCODESYS上のX002もONになる
まとめ・感想
如何でしたでしょうか。ラズベリーパイをフォトカプラで絶縁することでPLC(シーケンサ)と接続・動作することができました。
よろしければ皆様もぜひトライしてみてください
次の記事ではPLC(シーケンサ)をパソコン・スマートフォンから(有線・無線の両方で)遠隔操作・監視してみました。
コメント
初めましてZuoyeと申します。記事を楽しく読ませてもらってます。
三菱、オムロンなどのラダーソフトを組んでいる電気設計屋です。
ラズパイをPLCとして扱う方法に興味があり、まさにCODESYSに注目していました。
Pythonと連携できたり、ラズパイらしい長所が生かせますね。
Ethernet/IPでリモートI/Oを使えるのでI/Oはそちらでやると拡張性がでますね。
WAGOでのリモートI/O例はYoutubeにありますが、国産のスレーブでやってみたいです。
これからも、注目させてもらいます。