Project#Beckhoff TwinCAT3 x Schneider TM221 CPU x Ethernet/IP Communication

今回の記事ではBeckhoff TwinCAT3 TF6281 Ethernet/IP  Scannerを立ち上げ、Schneider TM221 CPUのEthernet/IP AdapterとEIPでIO データ交換します。よろしくお願いします。

Version

こちらはツールのVersionです。

Thanks!

この記事が出来上がるのはベッコフ日本法人ベッコフオートメーション株式会社さまとMana Design worksさまから機材を貸してくださったおかけです。誠にありがとうございます。

ベッコフ日本法人ベッコフオートメーション株式会社

IPC6920-005はベッコフ日本法人ベッコフオートメーション株式会社さまが貸してくださったものです。Beckhoff Automationは1980 年会社設立、PCベースの制御技術をベースにしたオープンオートメーションシステム導入の先頭に立つドイツ企業です。

ベッコフ日本法人ベッコフオートメーション株式会社は、2011年に横浜に本社、2017年に名古屋オフィスを設立しました。

こちらはベッコフ日本法人ベッコフオートメーション株式会社様のホームページです。

どうぞよろしくお願いします。

https://www.beckhoff.com/ja-jp/

Mana Design Works

今回の記事はMana Design Works 様からのご提供でお送ります。内容は自体はシュナイダーですが、Mana Design Worksは大阪に本社あるSiemensの正式なソリューション パートナーで、Siemens製のCPU・HMI・Drive・Motion Controller・SCADAから国産メーカまで常に最適な提案できます

こちらはMana Design Works 様のホームページです。

どうぞよろしくお願いします。

https://mndw.jp/

Reference Link

http://soup01.com/ja/category/beckhoff/

http://soup01.com/ja/category/schneider%e3%82%b7%e3%83%a5%e3%83%8a%e3%82%a4%e3%83%80%e3%83%bc/

http://soup01.com/ja/category/protocol/ethernet-ip/

Configuration

Schneider TM221ME16TG Side

ETH Set-up

ETH1をクリックします。

EthernetにFixed IP addressを選択し、IPを設定します。

EtherNet/IP protocol enabled のCheckboxを入れ、EtherNet/IP Adapter機能を有効します。

Ethernet/IP Adapter Set-up

次はEtherNet/IPの設定を行い、ETH1>EtherNet/IP Adapterをクリックします。

Parameters>EnableのCheckboxをれいます。

Instance番号やSize(Words)をDefault設定します。

Output=Instance 100,20 Words

Input=Instance 150,20 Words

Applyで設定を適用します。

Program

Define 

まずEthernet/IP Adapterの変数を定義します。

Input

Tools>Network objects>Input assembly(Ethernet/IP)をクリックします。

Address %QWE0のSymbolにDEVICES1の変数名を定義します。

Output

Tools>Network objects>Output assembly(Ethernet/IP)をクリックします。

Address %IWE0のSymbolにDATAFROMTWINCAT0という変数名に宣言します。

Address %IWE19のSymbolにDATAFROMTWINCAT19という変数名で宣言します。

Code

Task>Master Task>1-New Pouでプログラムを作成します。

Rung0-Move Constant Value

最初はTwinCAT3側に定数を出力します。

Operation Blockをクリックシアmす。

Rung0のところに移動し、クリックします。

Rung0にOperation Blockが追加されました。

次はOperation Blockの”Operation expression” Fieldをクリックします。

%QWE0:=1234を入力します。つまりいま%QWE0は1234を書き込み、その%QWE0が先程定義した変数”DEVICES1″に該当します。

Rung 1-Increase itself

さきRung0 と同じくOpeation Blockを追加し、%QWE19:=%QWE19+1でCycleに自分を加算します。

Rung2-Timer with Constant setpoint

右クリックでAdd rung新しいRungを追加します。

まずTimerにTrigger用の条件を追加します。Contactを選択しRungにひっばります。

NO Contactが追加されました。

SymbolからNO Contactのデバイスを入力します。

TwinCATからもらったデータを使用したいので、NO ContactのSymbolに

DATAFROMTWINCAT0:X0を入れています。このNO Contact使用するデバイスはDATAFROMTWINCATの0Bit目になります。

もう1つのNO Contactを追加します。NO ContactのSymbolに

DATAFROMTWINCAT0:X1を入れています。このNO Contact使用するデバイスはDATAFROMTWINCATの1Bit目になります。

Timerを追加するためFunction BlockからTimerをクリックします。

NO Contactの最後にDropします。

Timerが追加しました。

Timerを設定します。先程追加TimerをクリックするとConfiguration Popupが表示されます。

Presetは2にします。

Time baseは1sに設定すると、先のPreset=2はつまりこのTimerはSetpointが2sになります。

最後はApplyで設定を適用します。

Timer設定OKです。

次はTimerがTriggerされたときの出力Qを割り付けます。Coilを選び、TimerのQところに引っ張ります。

いまはCoilが追加されました。

Address Fieldをクリックします。

QWE1:X0を設定します。つまりTimer1がONになるとTwinCATへ出力する1番目Wordの0番目のBitがTrueになります。

Rung3-Timer with Dynamic Setpoint

Rung2と同じくTimerを追加します。でも今回TimerのSetpointを変数に変えます。その前に、まず%TM1をクリックし、Timer番号を変更します。

とりあえず使ってない%TM2に変更します。

%TM2をクリックし、Configuration PopupからTimerの設定を行います。Dynamic PresetのCheckboxを入れてApplyします。

Rung-Add Timer Dynamic Setpoint 

Rung3を選び>右クリックInsert rungします。

Operation blockをRung3に追加します。

operaton expressionのFieldをクリックします。

%TM2.P:=5を入れます。つまりTM2のSetpointは5sになります。

Compile

プログラムが終わったらCompile ProgramでProjectをコンパイルします。

Download

Comissioning Tabを開き>Loginします。

PC to Controller (download)ボタンでProjectをCPUにDownloadします。

現在CPUにあるプロジェクトを上書きしますか?OKです。

Start Controller

Start ControllerでCPUをRunにします。

OKで確認します。

TwinCAT Side

Add Ethernet/IP Scanner

I/O>Device>右クリック>Add New Itemします。

EtherNet/IP Scannerを選び>Okします。

Schneider TM221 CPUと繋がってるInterfaceを選びOKします。

Adapter TabでIP設定などを確認しましょう。

Configure the Task

Sync TaskのTabを開き、Special Sync Taskを選択>Create new I/O Taskで新しい実行Taskを作成します。

Task名を入力しOKします。

Cycle ticksを設定します。

Set the Virtual IP

Settings Tabを開きます。F800:21,F800:22にEthernet/IP ScannerのIPを設定します。そのIP設定はEthernet interfaceのIPとかぶらないようにしてください。

Add Generic EtherNet/IP Slave

先程追加したEthernet/IP Scannerを右クリック>Add New Itemします。

Generic EtherNet/IP Slaveを選び>Okします。

Configure the IP

次は追加したAdapterをクリックします。

SettingsのTab開き>8000:21にSchneider TM221 CPUのIPに合わせて設定します。

Append IO Connection

IO Connectionsを追加します。Box 1>右クリック>Append IO Connection>Default(without eds)します。

Connection1が追加されました。

Add Inputs

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

変数を定義する画面が表示されます。

Data typeをWORD選び、Create Array Typeをクリックします。

0のCheckboxを入れて、0…19を入力しOKで配列変数を作成します。

OKで完了します。

Add Outputs

次はOutpus>右クリック>Add New Itemします。

先ほど追加したARRAY[0..19]OF WORDが直接選べるようになります。

そのARRAY[0..19]OF WORDを選択し>OKで確定します。

Configure the Connections

AdapterのConnection設定を行い、Connection1をクリックします。

以下のように、

InputのConnection Portは100、OutputのConnection Portは150です。

Transport TypeはPoint to Pointにします。

Add PLC

最後は簡単なプログラムを追加します。

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

Standard PLC Projectを選びAddでPLCを追加します。

MAIN

POUs>MAINをクリックします。

VAR

Schneider TM221 CPU Ethernet/IP AdapterのI/O DataとLinkする変数を宣言します。

Program

プログラムはSchneider TM221 CPUのプログラムに合わせてTure/Falseに変更できるようにします。

Build

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

Link to INPUT

User Programで定義した変数をSchneider TM221 CPUのInputと紐つけます。

Box1>Connection1>Input>変数で右クリック>Change Linkします。

User programにある%I*の変数を選びOKします。

Link to OUTPUT

User Programで定義した変数をSchneider TM221 CPU Outputと紐つけます。

Box1>Connection1>Output>変数で右クリック>Change Linkします。

User programにある%Q*の変数を選びOKします。

Activate

Activate ConfigurationでHardware ConfigurationをDownloadします。

Okで進みます。

Runtimeを再起動します。

Login

LoginでUser ProgramをDownloadします。

Yesで進みます。

Start

最後はStartでRuntimeをRun Modeに変更します。

Summary

ここからは重要な設定箇所をまとめます。

Ip Address

Ip addressはTwinCAT Ethernet/IP  Adapterの8000:21に合わせてください。

Input Assembly(T–>O) Instance

T–>OのInstance番号はTwinCAT Ethernet/IP  Adapter SettingsのInput Connection Portに合わせてください。

Input assembly(T–>O) Size

T–>OのData SizeはTwinCAT Ethernet/IP  AdapterのInput Data追加するときに合わせてください。

Output Assembly(O–>T) Instance

O–>TのInstance番号はTwinCAT Ethernet/IP  Adapter SettingsのOutput Connection Portに合わせてください。

Input assembly(O–>T) Size

O–>TのData SizeはTwinCAT Ethernet/IP  AdapterのOutput Data追加するときに合わせてください。

Result

まずWiresharkからCIP I/OのPackageがありますね。

TwinCAT側出力0番目のBit2,3をTrueにするとTimerがTriggerされます。

TwinCAT入力の0番目と19番目にもSchneider TM221 CPUからのデータが反映されます。

TwinCAT側0番目出力のBit0,1,2,3 をTrueします。

Schneider TM221 CPU側をみると、TimerがTriggerされ、Qも出力します。

TwinCAT側の1番目入力は3で、つまりBit0、Bit1 がTrueになってるからです。

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

シェアする

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

フォローする