Contents
三菱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を終了してください。保存忘れずに。