Beckhoff#TF6281でRockwell PLCとEthernet/IP Scanner間でTag通信しよう

この記事では、Beckhoff TwinCAT3のTF6281 Ethernet/IP ScannerとRockwell PLCのEthenret/IP Scanner間でTag通信する構築を1から説明します。

Rockwell側は古いPLCを使用していますが、新しいデバイスも同じ思想です。

さ、FAを楽しもう!

Implementation

Beckhoff Side

まずはBeckhoff 側から構築します。

Configure Etherent/IP Network

TwinCAT3側でEthenret/IP ネットワークを構築します。

Add Ethernet/IP Scanner

Ethernet/IP Scannerを追加するため、I/O>Devices>Add New Itemします。

Ethernet/IP>Ethernet/IP Scannerを選び>OKします。

Done!Ethernet/IP Scannerが追加されました。

Configure Ethernet Adapter

AdapterのTabを開き、Serachボタンをクリックし現在TwinCAT Runtime稼働してるPCに使用できるEthernet Adapterを検索します。

適切なInterfaceを設定し、OKで進みます。

Configure Task

次はEthernet/IPの同期Taskを設定するため、Sync TaskのTab開>Special Sync Task>Create New IO Taskをクリックします。

Task名を入力します。

Done!

Configure IP Address

TwinCATのEthenret/IP Scanner IPアドレスを設定します。Settings>IP AddressとNetwork Maskをアプリケーションに合わせて設定しましょう。

Done!

Add Producer Object List

Scanner同士が通信するには、Producer TagとConsumer Tagを定義する必要があります。

Producer Tagは出力で、Consumer Tagは入力になります。Scannerを右クリック>Add New Itemします。

Miscellaneous>Producer Object Listを選び>OKで進みます。

Done!Producer Object Listが追加されました。

Append Producer Connection

TwinCAT 側のEthernet/IP ScannerにProducer Tagを追加するため、右クリック>Append Producer Connectionをクリックします。

Done!Producer Tagが追加されました。

Setting Tabを開き、Producer Tagを設定します。

Output Size

Producer Tagのサイズ(Byte)を設定するため、”0 Bytes”をクリックします。

今回は4ByteのProducer Tagを構築します。

Done!

Connection Tag

Connection Tagの項目にProducer Tag名を設定します。そのTag名はあとでRockwellに合わせて設定する必要があります。

Result

Done!Producer Tagの設定が完了しました。

Add Generic EtherNet/IP Slave

今度はRockwell PLC側のProducer Tag(TwinCAT3の視点ではConsumer Tag)と接続するため、Ethernet/IP Scanner>右クリック>Add New Itemします。

Miscellaneous>Generic Ethernet/IP Slaveを選択し、Okで進みます。

Generic Ethernet/IP Slaveが追加されました。

IP Address

Generic Ethernet/IP SlaveのIPアドレスを設定するため、右クリック>Change IP Addressします。

RockwellのPLCのIPアドレスに設定してください。

Rockwell側ではPort Configuration TabからIPアドレスを確認できます。

Append Consumer Connection

Generic Ethernet/IP Slave(今回の記事ではRockwellのPLC)にCousumer Tagを追加するため、Append Consumer Connectionをクリックします。

Cousumer Tagが追加されました。

こちらはConsumer Tagの設定画面になります。

Input Data Size

Consumer Tagの入力データサイズを設定します。

このデータサイズはRockwell側で設定したProducer Tagに合わせて設定しましょう。

Transport Type/Cycle Time Multiplier

RPIと接続設定はアプリケーションに合わせて設定しましょう。

Port/Slot

Plot=1を設定します。このパラメータは通常は1ですが、Rockwell側の設定をしっかり確かめましょう。

Connection Tag

次に、Connection TagはRockwell PLCのProducer Tag名に合わせて設定してください。

Result

Done!これで設定OKです。

GVL

Global Variables Listを追加します。

下図のようにProcess 入出力データを定義します。

Build

Build>Build Solutionでプロジェクトをコンパイルします。

Mapping-OutputData

Producer Tag とプログラム内の変数と紐つけるため、Producer Tag>右クリック>Change Linkをクリックします。

先ほどと定義した変数と紐つけましょう。

Mapping-InputData

Cosumer Tag とプログラム内の変数と紐つけるためCosumer Tag>右クリック>Change Linkをクリックします。

先ほどと定義した変数と紐つけましょう。

PROGRAM

最後は簡単な通信確認プログラムを確認します。

Activate Configuration

Activate CofigurationでHardware ConfigurationをTwinCAT RuntimeにDownloadします。

OKで進みます。

TwinCAT RuntimeをRun Modeに切り替えます。

Login

LoginでプログラムをDownloadします。

Yesで進みます。

Start

最後あhStartボタンでTwinCAT Runtimeを起動しましょう。

Rockwell Side

Consume TagとProduce Tagを使用してPLC – PLC通信を有効にするには、Rockwell側にEtherNet/IPコントローラをインストールする必要があります。ですが、Beckhoff Controllerを直接Rockwell Controllerを使用することはできないので、構成ツールでRockwellのコントローラを作成する必要があります。

Add New Module

Hardware ConfigurationにTwinCAT3の接続を作成するため、仮のRockwell Controllerを追加します。LocalENB>右クリック>New Moduleします。

RockwellのCPUを追加します。型式はなんでもよいので、今回の記事では1756‐EN2Tを設置します。

Done!

CPU Name

先ほど追加したCPUがわかりやすいように、CPU名をTC3(TwinCAT3)に設定します。

IP Address

IPアドレスをTwinCAT3側に合わせて設定してください。

Module Definition

次はModuleの設定を行うため、Changeをクリックしてください。

今回の記事はあくまでもTwinCAT Ethernet/IP Scannerを”Rockell”のPLCとして見せかけますので、Electronic KeyingをDisable Keyingし、Rack Connection とTime Sysnc ConnectionをNoneにしていきましょう。

Add New Local PLC

先程追加した”Rockwell PLC”を右クリック>New Moduleで新しいモジュールを追加します。

ここも適当なRockwell PLCでよいので、今回の記事では”1756‐L61”に設定します。

CPU Name/Slot

Module 名を設定し、Slotを1にします。

Configure Tag

TwinCAT PLCの接続を構築完了したら、次はController Tagを追加します。

Controller>Controller Tags>New Tagします。

こちらはTag追加の画面になります。

Consume Tag

この操作で追加できるのが”Consumer Tag”で、つまりRockwell側の入力データ、TwinCAT側の出力データになります。

Name

NameはTag名を定義します。そのNameはTwinCAT側で定義したProducer Tagと一致する必要があります。今回の記事ではTWIN_OUTにします。

Type

Typeは変数のデータ・タイプになります。ここでConsumedとして設定しましょう。

Connection

次はConnectionの設定です。つまりこのConsumer TagはどこのConnectionからのTagなのかを設定します。

こちらはConsumer Tag接続の設定画面になります。

Producer は先程追加したRockwell PLCに見せかけたTwinCAT3 Ethernet/IP Scanner接続を選択します。

Remote Dataは先程追加したTWIN_OUT Tagに設定します。

Data Type

次はデータ・タイプを設定します。

こちらのデータ・タイプにもTwinCAT3に設定したTagに合わせていきましょう。

Result

Done!Consumer Tagが追加されました。

最後はCreateボタンをクリックしTag設定を保存します。

Done!

Producer Tag

今度はProducer Tagを設定します。このTagはRockwellの出力データ、つまりTwinCAT3 Ethernet/IP Scanner側の入力データになります。Controller Tagを右クリック>New tagで新しいTagを追加します。

先ほどProducer Tagの操作と同じく、TypeだけをProducedに設定していきます。

Result

Done!

Producer Tagも追加されました。

PROGRAM

最後は簡単に通信プログラムを作成するため、Task>Main Task>MainProgram>MainRoutineをクリックします。

Add Rungで新しい空き回路を追加します。

これでよし。

Add Ladder ElementでRungにラダー部品を追加します。

こちらはラダー部品の追加画面になります。

ADD関数を追加します。

Done!

MyInTag(Rockwell PLCの出力)をCycleごとに1を加算します。

他のラダー部品も追加します。

GRT関数を追加します。

これは比較関数で、AがBより大きいの場合はTrueになります。

TWIN_OUTが1000より大きくなるとTrueになります。

Add Ladder Elementで次のラダー部品を追加します。

MOV関数を追加し、TWIN_OUTが1000より大きい場合0MyInTagを0に格納します。

Download

最後はRockwell側のプログラムをDownloadするため、Communication>Downloadします。

Downloadで進みます。

少々お待ち下さい…

Yesで進みます。

Result

最後はEthernet/IP Scanner間の通信を確認しましょう。EIP Scanner>Producer Object List>Stateをクリックします。

Stateの現在値は0で、つまりエラーがありません。

次はEIP Scanner本体のDevState変数を確認します。

現在値も0でつまり通信エラーもありません。

最後はGeneric Ethernet/IP SlaveのState変数も確認しましょう。

現在値も0でつまり通信エラーもありません。

RSLogix5000からI/O OKのLEDが緑点灯であり、通信エラーが発生してません。

WiresharkからもForward Openの成功Responseが見えます。

Rockwell PLCとTwinCAT PLCにも無事にデータ交換できました。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする