Beckhoff#TF6281でRockwell PLCとEthernet/IP Scanne同士でCIP Table通信しよう_Rockwell主導編

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

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

今回はRockwell側で主導的に関数を実行し、非同期通信を行います。

さ、FAを楽しもう!

MSG Instruction?

MSG 命令は、非同期でデータ・ブロックをネットワーク上の別のモジュー ルに読み書きします。ラダー図では、命令が実行されるたびに rung-condition-in をクリアからセットに切り替えます。

Time chart

こちらはMSG関数のタイムチャートです。

Timer On Delay (TON)?

TON命令は非保持型タイマーであり、命令が有効(rung-condition-inがtrue)であるときに時間を蓄積します。タイマーは、現在の時刻から最後にスキャンした時刻を引くことで動作します:

ACC = ACC + (current_time – last_time_scanned)

Time Chart

こちらはTONのタイムチャートです。

Implementation1-CIP Read Table

Beckhoff Side

ConsumedタグやProducedタグと同様に、この機能は2つのEtherNet/IPコントローラ間の通信に使用されますが、非周期的な通信である点が異なります。これにより、パラメータ、レシピ、その他のデータなど、サイクリックに送信する必要のないデータを2つのコントローラ間で交換できます。

データは構造体、配列、またはその両方を組み合わせることができます。TwinCATでは、コントローラからデータを読み込んだり、コントローラに書き込んだりすることができ、リモートコントロールを使用してTwinCATからデータを読み書きすることも可能です。

注意点としては:

  • このサービスで送受信されるデータは、TwinCATシステムで既知でなければなりません。
  • このデータは、グローバル変数としてETHIPフォルダとフラグ領域に格納されなければならない。
  • ライブラリTc2_EthernetIPも含める必要があり、DataTableの読み書き用のファンクション・ブロックが含まれています。
  • データ型は両方の PLC で一致していなければならない。

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 GVL

Global Variables Listを追加し、GVL名をETHIPに必ず設定してください。

すべての変数は固定アドレスを持ち、フラグ・エリア(%MBx, x アドレス)内に定義する必要があります。

Add Library

CIP Table通信用のライブラリを追加するため、References>Add Libraryします。

Tc2_EthernetIPを追加してください。

Build

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

Configure CIP Table

次はEthenret/IP ScannerのCIP Tableを確認するため、TC3 EIP Scannerをクリックします。

Explicit Message Listをクリックします。

先程ETHIPのGVLで定義した変数が表示されました。

Read/WriteのCheckboxをアプリケーションに合わせて必ず設定してください。

Activate Configuration

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

OKで進みます。

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

Login

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

Yesで進みます。

Start

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

Rockwell Side

TwinCAT側が構築完了したら次はRockwell PLCを設定します。

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にします。

Add Power Tags

Controller>Controller Tag>New tagで新規Tagを定義します。

Tagの定義画面が表示されます。

Nameで変数名を定義し、Data Typeを”MESSAGE”を指定してください。

MESSAGE変数が定義されました。

ADD MSG

ラダーに空きのRungを右クリック>Add Ladder Elementでラダー部品を追加します。

Input/Output>MSGを選んでください。

Done!MSG関数が追加されました。

Configure MSG

MSG関数で使用するMSG変数を入力してください。

先ほど定義したMSG変数を使用します。

次はMSG関数を設定するため、MSG関数内の…ボタンをクリックします。

こちらはMSG関数の設定画面になります。

Message Type

Message TypeをCP Data Table Readに設定します。それによってTwinCATのENTIP内の変数を読むことができます。

これでOKです。

Source Element

Soruce ElementはTwinCAT側のETHIP内の変数名と一致する必要があります。

Destination Element

New Tagをクリックし、CIP Table Readサービス経由で取ったデータを格納するTagを定義します。

いつも通りのTag設定画面です。

Tag名・またデータ・タイプを設定してください。

Communication

次は通信設定を行うためCommunication Tabを開きましょう。

Connected・Cache ConnectionsのCheckboxを入れ、Browseボタンをクリックし接続先を設定します。

先ほど追加した、Rockwell PLCに見せかけたTwinCAT PLCを選択します。

Connection Pathは設定Okです。

Add a Reflesh Timer

タイマーを追加するため、ラダーの空きRungに右クリック>Add Ladder Elementで新しいラダー部品を挿入します。

Timer/Counter>TONで遅延ONタイマーを追加します。

Done!

Download

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

Downloadで進みます。

少々お待ち下さい…

Yesで進みます。

Result

Doneのランプが青になり、またError Codeが空なので、MSG関数の実行がエラーなく終了しました。

TwinCATのETHIP.Var1の現在値がRockwell側に反映されました。

Implementation2-CIP Write Table

次はRockwell PLC側からTwinCATの変数を書き込んでみます。

Rockwell Side

Add Power Tags

先ほどと同じ操作でMESSAGE変数を追加します。

ADD MSG

MSG関数を先程と同じ操作で追加・定義します。

Message Type

MSG関数のMessage TypeをCIP Data Table Writeに設定しましょう。

Done!

Source Element/Destination Element

SouruceはRockwell PLCの変数に設定し、DestinationはTwinCAT側のETHIP.Var2に合わせて設定してください。

Communication

Communcation Tabを開き、PathをRockwell PLCに見せかけたTwinCAT PLCにします。

Download

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

Downloadで進みます。

少々お待ち下さい…

Yesで進みます。

Result

Doneのランプが青になり、またError Codeが空なので、MSG関数の実行がエラーなく終了しました。

TwinCATのETHIP.Var2の現在値がRockwell側で変更されました。

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

シェアする

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

フォローする