三菱PLC専用ノードを使った制御例

1. 概要

生産の現場でよく使用されている制御機器にPLC(Programable Logic Controller:シーケンサ)がある。一般的にPLCを制御するためには、ラダープログラミングを行う必要があります。しかし、三菱のPLC用の専用ノードが公開されています。入手して、動作を確認したところ、PLCの入力/出力共に動作することが確認できました。以下、その確認内容に関して説明します。
また、PLCをTCP/IP上で制御する際に、GX-Works3で相手先機器の設定が必要になります。この設定に関しては、Appendixにまとめます。

2. 三菱PLC専用ノードの取込み

動作確認ができている三菱PLCの専用ノードとして、“node-red-contrib-mcprotocol”があります。これをNode-REDのフローのパレットの管理から取り込みます。
“MITSUBISHI”というタブの中に、MC ReadとMC Writeの2つの青いノードが追加されています。
このノード以外にも、三菱PLC用のノードというのが見つけっていますが、動作確認ができませんでしたので、入手する際には、気を付けてください。

3. 出力制御:パトランプの点灯/消灯

Node-REDから、PLCの出力を制御してみます。パトランプの点灯/消灯を行います。

3-1. PLCとパトランプの配線

Node-REDから、PLCの出力を制御してみます。パトランプの点灯/消灯を行います。下の図1のように、パトランプの+側の配線を24V電源の+端子に接続します。
パトランプのー側の配線は、PLCのY0の端子に接続します。PLCのCOM端子を、24V電源のー端子に接続します。最後に、24V電源の+端子を、PLCの+V端子に接続します(1次側の電源として使用されます)。結局、図2の端子接続図のY00の信号に負荷として、パトランプを接続した配線になります。

3-2. Node-REDのフロー作成

パトランプの点灯/消灯を制御するNode-REDのフローを作ります。点灯のためのInjectノード(Buttonノード)と消灯のためのInjectノード(Buttonノード)とMC Writeノードを配置します。
MC Writeノードは、ConnectionのプロパティでHostにPLCのIPアドレスとGX-Works3で相手先機器として設定したポート番号を記載します。
frame,protocol,PLC TypeはそのままでOKです。

MC WriteノードのAddressに“Y30,16”と記載しています。意味は、IO3ポートに接続した出力ユニットのY0番から16ビット分ということです。

このMC Writeノードに、msg.payloadとして送るために、Injectノードには、以下のように記載します。
ONの時は、msg.payload = “1111111111111111”, OFFの時は、msg.payload = “0000000000000000”です。
左から右に、下位ビット(0)~上位ビット(15)の順です。
すなわち、msg.payload = “1000000000000000”と入力するとY30のみがONします。
msg.payload = “0000000000000001”と入力するとY3FのみがONします。

3-3. 動作確認

Node-REDのフローをデプロイすると、MC Writeノードの下に、“connected”と表示されます。
そして、電源を供給して、ONのInjectノード(Buttonノード)を押すと、MC Writeノードの下に“Good”と表示されて、パトランプが点灯・回転します。また、OFFのInject(Buttonbノード)を押すと、同様にMC Writeノードの下に“Good”と表示され、パトランプが消灯します。

 

 

 

4. 入力制御+出力制御:接触スイッチによるパトランプの点灯/消灯

次に、PLCの入力端子に接続した接触スイッチを押すと、スイッチが押されたことを読み出して、パトランプを点灯するフローを作成します。

4-1. PLCとパトランプと接触スイッチの配線

図3にパトランプと接触スイッチの接続図を示します。パトランプは図1の接続と同じです。接触スイッチをの片方を24V電源の+端子に接続し、もう一方をPLCの入力ユニットのX0端子に接続します。電源のー端子にPLCのCOM端子を接続します。図4の回路構成図に示すように、PLCのユニット内部に3.3kΩの抵抗が入っており、接触スイッチを押すと電流が流れて、ONになったことを検出できます。パトランプを点灯/消灯する仕組みは、ここまでの説明と同じです。

4-2. Node-REDのフロー作成

接触スイッチが接続された入力ユニットのX0端子がOFFかONになったかを定期的(0.5秒毎)に読出し、ONになっていたらパトランプを点灯させるため、出力ユニットの端子Y30をONし、OFFだったらパトランプを消灯させるため、出力ユニットの端子Y30をOFFするNode-REDのフローを作成します。
作製したNode-REDのフローを以下に示します。
一番左に、05秒毎に起動するInjectノードを配置します。その次に、gateノードを使い、読み出し動作を行うかどうかを切り替えます。そして、gateノードがopenの場合には、MC ReadノードでX10-1Fを読み出します。読み出した結果のX10がtrueだったら”1”を、falseだったら”0”を、MC Writeノードを使って、Y30端子に出力し、パトランプの点灯/消灯を行います。

次の図は、接触スイッチをONにした時の、MC Readノードの出力を示しています。
X10からX1Fまでの状態が“true”と“false”で読み出されています。X10=“true”で接触スイッチがONになっていることが分かります。

以下、それぞれのノードのプロパティ画面を見ていきます。

まず、MC ReadノードとMC Writeノードのプロパティ画面を見てみます。
左がMC Readノードで、右がMC Writeノードです。
Connectionは、ReadノードとWriteノードで同じです。Addressは異なります。

MC ReadノードのAddressに“Y10,16”と記載しています。意味は、IO1ポートに接続した入力ユニットのX0番から16ビット分ということです。
MC WriteノードのAddressには、“Y30”とだけ記載しています。意味は、IO3ポートに接続した出力ユニットのX0番ということです。

次に、switchノードのプロパティ画面を見てみます。
msg.payload.X10 = “true” か、 msg.payload.X10 = “false”かで出力を切り替えています。

最後に、2つのchangeノードのプロパティ画面を見てみます。

msg.payload.X10=“true”の場合が、左側で、msg.payload = 1をMC Writeノードに出力します。
この場合、Y30がONしてパトランプが点灯します。
msg.payload.X10=“false”の場合が、右側で、msg.payload = 0をMC Writeノードに出力します。
この場合、Y30がOFFしてパトランプが消灯します。

4-3. 動作確認

Node-REDのフローをデプロイすると、MC ReadノードとMC Writeノードの下に、“connected”と表示されます。gateは、“close”しています。
24V電源を通電します。そして、toggleのInjectノードを押すと、gateが“open”して、X10-1Fの読出しが開始されます。接触スイッチは通常はOFFですので、X10端子はOFF状態です。そのため、パトランプは消灯したままです。
ここで、接触スイッチをONすると、X10端子がON状態になり、Y30をON状態にします。その結果、パトランプが点灯します。
そして、接触スイッチをOFFにすると、X10端子がOFF状態と読み出され、Y30をOFF状態にします。その結果、パトランプが消灯します。

 

Appendix. 三菱PLCの相手機器接続構成設定の方法

TCP/IPネットワーク越しに、PLCを制御するためには、Gx-Works3の設定画面で、「相手先機器接続構成設定」を行う必要があります。
ここでは、ポイントに絞って説明します。
1) 一番左のメニュー画面で、「パラメータ」⇒「R02CPU」⇒「ユニットパラメータ」を選択します。すると、以下の様な画面が現れます。

2) 右側のメニューの中の「相手機器接続構成設定」の<詳細設定>の右端の「・・・」をクリックして、詳細設定画面に移動します。

3) 以下の様な設定画面が現れます。右側のメニューで、「Ethernet機器(汎用)」を選びます。そして、出てきたメニューから「SLMP接続機器」を左下の欄にドラッグします。

4) ポート番号の入力を要求されますので、使用されていない任意のポート番号を入力します。

5) 複数の機器からアクセスする場合には、PLCの仕様により、ポート番号を変える必要があります。5つくらいSLMP接続機器をドラッグして追加して、異なるボート番号を設定します。このポート番号を、三菱PLC専用ノード mcprotocolからアクセスする際にIPアドレスと合わせて使用します。

6) 設定が終わったら、上部の「設定を反映して閉じる」を押して、抜けます。

7) メニューから「シーケンサへの書込み」をクリックします。

8) 下記の画面が現れますので、「パラメータ」にチェックを入れて、「実行」を押します。書込むか問い合わせてくるので「はい」を選んで、終了まで行きます。

9) 書き込みが終わったら、「閉じる」を押して終了です。

10) GX-Works3を終了してください。保存忘れずに。