Project#Profinet Connection With TwinCAT PN Controller x Wago 720-8215 PN Device

今回の記事ではTwinCAT3がTF6271を使用しProfinet Controllerを立ち上げ、WagoのPFC200(7520-8215)とProfinet 通信を0から説明します。よろしくお願いします。

Video

English Version

Japanese Version

Interface

Wago 750-8215 CPUでは4つのPortがあります。それはX1,X2,X11,X12で内部には5 Port のスイッチが繋がっています。CPU本体は4つのPortですが、5番目のPortはCPUと繋がっています。このX1,X2,X11,X11 4つのInterfaceは以下の設定ができます。

  • 1つのNetworkで4つのPortを同じIP を共有する
  • 2つのNetworkで2つのPortことに1つのIP を共有する
  • 2つのNetworkで1つのPortが1つのIP 、他の3つのPortは1つのIP共有する
  • 4つのNetworkで各Portは自分のIPがある

それらの設定はCPUのWeb serverから構築できます。

LED

PROFINET通信状態を示すのはBFとDIA2つのLEDです。BF=Bus Faultの意味で、DIAはProfinet診断情報ありの意味になっています。

Technical Data

Interface Configuration

Wago 750-8215 CPUでは4つのPortがあります。それはX1,X2,X11,X12で内部には5 Port のスイッチが繋がっています。CPU本体は4つのPortですが、5番目のPortはCPUと繋がっています。このX1,X2,X11,X11 4つのInterfaceは以下の設定ができます。

  • 1つのNetworkで4つのPortを同じIP を共有する
  • 2つのNetworkで2つのPortことに1つのIP を共有する
  • 2つのNetworkで1つのPortが1つのIP 、他の3つのPortは1つのIP共有する
  • 4つのNetworkで各Portは自分のIPがある

それらの設定はCPUのWeb serverから構築できます。

Network Structure

以下はCPU Portの構造です。注意するのはCommissioningとProfinet Networkを分けるほうが便利です。X1,X2はEthernet interfaceとしてエンジニアリングツールとつながるとか、X11,X12はProfinet通信専用にわけたほうがよいと思います。

MAC ID And IP Assignment

これからInterfaceとIPの設定を行います。Web Serverにアクセスします。

Ethernet Configuration

Networking>Ethernet Configuration>Configurationをクリックします。

この画面は各PortはのBridge設定を行うことでき、設定完了したらSubmitボタンでOKです。

Configuration1

X1,X2,X11,X12の4つPortもBridge1に緑が設定されます。つまり4つのPortも同じIPを共有します。

Configuration2

X1,X2はBridge1に設定し、X11,X12はBridge2に設定します。

つまりX1,X2は一つのIPでX11,X12はまた別のIPを共有します。

Configuration3<Using in this Profinet>

X1はBridge1、X2はBridge2、、X11,X12はBridge3に設定します。

つまりX1,X2は別のIPで、X11,X12は同じIPを共有しています。

こちらは今回の設定です。

Configuration4

各のPortm自分だけのIPあるの設定できます。

TCP/IP Configuration

次はIPを設定します。Networking>TCP/IP Configuraton>Configurationをクリックします。

TCP/IP ConfigurationのFieldで三角ボタンで設定画面を展開します。

設定したBridge数によりbr0,br1,br2などを別々に設定できます。

Profinet Interfaceだと設定されたBridgeはIPなどもProfinet上位Controllerに上書きされるので気をつけてください。

Implementation

Configuration

こちらは今回の構成です。Beckhoff TwinCAT3がTF6271を使用しProfinet Controllerを立ち上げ、そしてWago Controllerの750-8215がProfinet Devicsを構築しProfinet Real-Time通信します。

Wago Side

まずWago側から始めます。

Interface

X1/X2は別のIPで、X11,X12のProfinetは同じIPを持つようにします。

E!COCKPIT からProjectをDownloadなどするときはX1,X2を使ってください。

Configure The PN-Controller

E!COCKPITをNetworkに切り替えます。

右側のProduct CatalogからProfinetを検索し>Generic_PROFINET_Controllerを選び、Networkに引っばり追加します。

PROFINET Controllerが追加されました。

Profinet ControllerをWago CPUに接続します。

いまProfinet Networkが立ち上がりました。

下図のような操作です。

Create the Mapping

Profinet Networkが構築OKになったら次はI/O Mapping を設定します。CPUをダブルクリックし、PROFINET I device Tabを開きます。

右クリックし>Add+ボタンで新しい変数を追加します。

Input/Outputも自動的に追加されました。この変数は実際Profinet通信でデータ交換する変数になります。

Data Typeの列に変数のData Typeを変更できます。

配列を設定します。隣にLength(arrary)の列も入力できるようになります。今回のTutorialでは長さ40に設定します。

Variableのところにあるのは実際プログラムで使用するPN IOの変数名です。

Export GSDML

Profinet通信はGSDML FileをController側にImportする必要があります。

NETWORK FUNCTIONS>PROFINET I DEVICEのTabをクリックします。

Exportボタンをクリックします。

Export先を設定しGSDMLを生成します。

Program

Exportも終わり、次はテスト用のプログラムを作成します。

Program Structureをクリックします。

Default にあるPLC_RPGをクリックします。

以下のようにBytesの配列を作成し、User Programの中に使用します。前もいったかもしれませんが、Codesys は該当する変数をプログラム内で使わないと更新しないのです。

Download

最後はNETWORK FUNCTIONS>NETWORK>ConnectでProjectをCPUにDownloadします。

LED Status

いまの状態ではBFとDIAも赤くなっているはずです。

TwinCAT3 Side

Wago側が終わったところで次はTwinCAT3側です。

Add PN Controller

TwinCAT3起動し>新しいプロジェクト作成>I/O>Device>右クリック>Add New Itemします。

Profinet I/O Controller(RT)を選び>Okします。

Profinet ControllerにするEthernet Interfaceを選び>Okします。

そしてProfinet Controllerが追加されました。

Sync Task

Sync TaskのTab開き、Special Sync Taskを選び>Create new I/O Taskをクリックします。

Task名を入力しOKします。

TaskのCycle TimeをBase 2のように調整してください。

2,4,8,16…のよう。

自分はUSB>LANのAdapterを使用するのでサイクルを遅め128msに設定します。注意するのはProfinet通信のCycle TimeはControllerによって代わり、設定上では最速SendClockFactorは1msだと設定できます。

PN Controller IP

次はSettings Tabを開いてIP Configurationを設定し”Set IP settings”で確定します。注意するのはこのIPは自分のEthernet Interfaceとかぶらないように設定してください。

Adapter

最初にも設定しましたが、念のためにEthernet Interfaceの設定がOKかもう一回確認しましょう。

Add PN Devices

これからWagoのPN Devicesを追加します。

先ほど追加したPN Controllerを右クリック>Add New Itemします。

Miscellaneous>PROFINET IO Devices>Okします。

E!COCKPITからExportされたGSDMLを選び>Openします。

それでWagoのPN Devicesがついあk

Configure- Legacy config

もし使用するTwinCAT Runtime Version 4024以下ならこのCheckboxを入れてください。

y

Configure – IP

PN DevicesのIPです。ProfinetはController(今回はTwinCAT3)から各Devices(今回はWago 750-8215)に振り分けます。IPを実際のアプリケーションに合わせて設定してください。

Configure-Device name

ProfinetはController(今回はTwinCAT3)から各Devices(今回はWago 750-8215)に振り分けると言いました。その振り分けの基準はそのDevices Nameです。

Configure-Mapping

次はMappingですね。

Add PLC

PLC>右クリック>Add New Itemします。

MAIN

Wago側で定義したByte 配列をProcess IOとして定義し、プロジェクト内で使用します。

Build

Build>Build Solutionでコンパイルします。

Link the Variables

最後はUser Program内の変数とProfinet IOの変数と紐付けます。

Inputs

Inputsをクリックします。

Ctrl+AでProcess Inputを全選択>右クリック>Change MultiLinkします。

User Programで定義したProcess Inputを選び>OKします。

[X]の列にXがついておけばOKです。

Outputs

次はOuputsです。Outputsをクリックします。

Ctrl+AでProcess Outputを全選択>右クリック>Change MultiLinkします。

User Programで定義したProcess Outputを選び>OKします。

[X]の列にXがついておけばOKです。

Download

Configurationが終わったらActivate ConfigurationでHardware configurationをRuntimeにDownloadします。

OKします。

TwinCAT RuntimeをRunにしますか?OKします。

LoginでProgramをDownloadします。

YESします。

StartでRuntimeをRunにかけます。

Summary

ここからは簡単なまとめになります。

GSD

まずはGSDML Fileです。ProfinetネットワークでPN DevicesにするのはWagoの750-8215 CPUなので、E!COCKPIT からGSDMLをExportし、TwinCAT3側にImportします。


Device Name

Profinetで一番大事なDevice NameではE!COCKPIT側はStation Nameの項目で設定できます。TwinCAT3側のI/O>Devices>PN Controller>あなたがGSDML Fileを使用しImportしたDevicesになります。

Mapping

Mappingでは、E!COCKPIT側のPROFINET i-Device Tabで設定します。ExportしたGSDML がTwinCAT3側にImportしたらSubTermとして反映します。

IP 

最後にTwinCAT3側はIP addressの項目でIPをDevice Nameに沿って各Deviceに振り分けます。

Result

では実際の通信結果を見てみましょう。まずTwinCAT3のProfinet Controllerをクリックします。

Scan PNIO Devicesをクリックします。

しばらくします…

ネットワーク上のProfinet機器を全部検索し、なおかつDevice Name・IPを設定する機能もあります。いまの結果はplc200-xxxはWagoのCPUでIPもPN Controller(TwinCAT3)から勝手に振り分けています。

Turn it to Run

最後はRunボタンでWago CPUをRunにかけます。

通信正常であれば、BFが緑になり、DIAはOFFになります。

Check in Wago Side 

ではWago側をCheckしましょう。E!COCKPITを開くとPROFINET がいまRunning中で、緑がついてます。

Check in TwinCAT3 Side

TwinCAT3側ではPN Controller>Inputs>の3つの変数があり、PN Controllerの状態を示しています。いま3つとも0なんでエラーなしです。

さらにPN Devices>Inputsを開くと、各PN Devicesの細かい状態も確認できます。

いまはPnioBoxState=0,PnioBoxDiag=2になっています。

2=IOCC-AR is establishedの意味で、接続OKです!

Variables Check

最後にTwinCAT3側とWago側も現在値を書き込んでみて、データがちゃんと送信されたかをCheckしましょう。

まずはWagoからデータが来ていますね。

次はTwinCAT3からデータが来たかを見てみましょう。

よし、TwinCAT3からもきましたね!

最後に、WiresharkにもPNIOのPackageがあります。

お疲れ様でした!

If the connection is not Established..

もしどうしもつながらないであれば、

  • GSDML が正しいか
  • そのGSDMLは実機のPN DevicesとVersionあっているか
  • I/O>Devices>Add New Itemの画面正しいProfinet I/O Controller選んでたか
  • PN ControllermのTask設定大丈夫か
  • Cycle Timeは2-Baseなのか?1,2,4,8,16…
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

シェアする

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

フォローする