OTee#Virtual PLC_Part06_TwinCAT3とEthernet/IPで接続しよう

こちらは新しいシリーズで、OTeeというVirtual PLCを使用し様々な記事を展開します。第6話ではOTee Platform上でEthernet/IP Scannerを立ち上げ、TwinCAT3のTF6280 Ethernet/IP Adapter(Slave)と接続します。OTeeのRuntimeでEthernet/IP Scannerを試したいけど手元にEthernet/IP Adapterがない?TwinCAT3はあなたの選択肢です!

また、これからはOTeeのVirtual PLCをBerghofのMC-Pi Proにインストールし、記事を展開します。

さ、FAを楽しもう。

前書き

いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。

技術は独り占めせず、届けるもの

私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。

また、もしあなたの現場で…

  • 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
  • 「EtherCAT通信でうまくいかない部分を検証してほしい」
  • 「新しいリモートI/Oを試したいけど社内に検証環境がない」

など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。

支援のかたち

現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。

メンバーシップ(ラジオの応援)

Fullさんとのラジオをより充実させるための支援プランです。

https://note.com/fulhause/membership/join

Amazonギフトリスト

コンテンツ制作に必要な機材・書籍をリストにしています。

https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share

Patreon(ブログ・動画活動への応援)

月額での小さなご支援が、記事の執筆・検証環境の充実につながります。

https://www.patreon.com/user?u=84249391

Paypal

小さな支援が大きな力になります。

https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP

知ってたら助かること、届けたいだけです

あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。

soup01threes*gmail.com

https://x.com/3threes2

技術はひとりじゃもったいない。

Referece Link

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

Implementation

これでは実際にプロジェクトを作成していきましょう。

TwinCAT3 Side

最初にTwinCAT3側を構築します。

Add Ethernet/IP Adapter

最初にI/O→Devices→右クリックでAdd New Itemします。

Ethernet/IP→Ethernet/IP Adapter(Slave)を選び→OKで進みます。

ここでEthernet/IP Adapterとして稼働するEthernet Interfaceを設定し、またはCanelで後ほどで設定します。

Configure Ethernet Driver

先ほど追加したEthernet/IP Adapter(Slave)をクリックし→Adapter→Searchをクリックします。

ここでもEthernet/IP Adapterとして稼働するEthernet Interfaceを設定できます。

Done!

Ethernet/IP Setting

次はBeckhoff TwinCAT3をEthernet/IP Adapter(Slave)の内部設定を行います。

IP Setting

最初にSettings Tabを開きます。

8000:0を開き、IPアドレスとNetwork Maskを設定します。このIPアドレスはScanner側の設定に合わせる必要があります。

実際のアプリケーションに合わせて設定しましょう。

Add Assembly

次あhEthernet/IP Adapter(Slave)を右クリック→Append IO Assemblyをクリックします。

Done!新しいAssemblyが追加されました。

Add Inputs

次は先程追加したAssembly Inputs→右クリック→Add New Itemします。

こちらの変数追加画面に変わります。

Muitipleを8に入れて、連続のBYTEデータを8個追加します。

Done!

Add Outputs

次は先程追加したAssembly Outputs→右クリック→Add New Itemします。

Muitipleを8に入れて、連続のBYTEデータを8個追加します。

Done!

Check Ethernet/IP Configuration

最後はBeckhoff側のEthernet/IP設定を確認しましょう。

Add PLC

次はPLCを追加するためにPLC→Add New Itemします。

Standard PLC PLC Projectをクリックし、Addで追加します。

GVL

Process InputとProcess Outputの変数を定義し、プロジェクトをコンパイルします。

{attribute ‘qualified_only’}
VAR_GLOBAL
arrInArray AT %I*:ARRAY[0..7]OF BYTE;
arrOutArray AT %Q*:ARRAY[0..7]OF BYTE;
END_VAR

Mapping Input

Assemblyの入力データとMappingするためにInputsをクリックします。

先ほど追加したデータを全部選択し、Change Multi Linkします。

先ほど定義した変数を選択します。

MappingOutput

Assemblyの出力データとMappingするためにInputsをクリックします。

先ほど追加したデータを全部選択し、Change Multi Linkします。

先ほど定義した変数を選択します。

Activate Configuration And Download

最後はプロジェクトをTwinCAT RuntimeにDownloadしてください。

OTee Side

次はOTee RuntimeがインストールされたBerghof MC-PI側を構築します。

Add Ethernet/IP Config

OTeeのPlatformにアクセスし、プロジェクトの中にある+ボタンをクリックします。

新しい項目の追加画面が表示されます。

Drop-listからDriver Configを設定します。

次はDriverのDrop-listからEtherNet/IPを設定します。

Saveで設定を適用します。

Add Client

次はEthernet/IPの設定画面を開く、”Add a Client”で新しいEthernet/IP Adapterを追加します。

Done!これで新しいEthernet/IP Adapterが追加されました。

Remote IP Address

Remote IP Address欄でBeckhoff TwinCAT3側で設定したIPアドレスに合わせてください。

Done!されました

Client Name

次はClient Nameでわかりやすく設定しましょう。

Add Connection

今度は”Add Connection”で先程設定したAdapterに新規接続を追加します。

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

Configure Exchange Bytes

各接続に占有するByte数を変更するには、設定画面の下にあるAdd Symbolをクリックします。

下図のようにBYTE数が増えました。

例えば下図のように12Bytesを増やしました。

このように、Data sizeにも12に自動的に反映されました。

O→T側も同じ操作です。

O→TのData Sizeも12 Bytesになりました。

Configuration

それでは実際にTwinCAT3のEthernet/IP Adapterに合わせて設定します。

OTeeとTwinCAT3の設定画面を両方見ながら設定していきましょう。

Configure Instance

Config InstanceはTwinCAT3側のConfiguration Instanceに合わせて設定します。今回の例では128になります。

Configure Data Size

Config InstanceのデータサイズはTwinCAT3側のConfiguration Instanceデータサイズに合わせて設定します。今回の例では0になります。

T→O Instance

T→O Instance番号はTwinCAT3側のInput Instance(T→O)に合わせて設定します。今回の例では129になります。

T→O Size

T→O InstanceデータサイズはTwinCAT3側のInput Instance(T→O)サイズに合わせて設定します。今回の例では12になります。

T→O Priority

T→O Priorityは必ずScheduled Priorityに設定してください。

TwinCAT3側はこのPriorityにしか対応してないので、他のPriorityに設定するとInvalid T→O Priorityにエラーが発生します。

O→T Instance

O→T Instance番号はTwinCAT3側のInput Instance(O→T)に合わせて設定します。今回の例では130になります。

O→T Size

O→T InstanceデータサイズはTwinCAT3側のInput Instance(O→T)サイズに合わせて設定します。今回の例では12になります。

O→T Priority

O→T Priorityは必ずScheduled Priorityに設定してください。

TwinCAT3側はこのPriorityにしか対応してないので、他のPriorityに設定するとInvalid O→T Priorityにエラーが発生します。

Header

O→Tには下図のRun Program Headerの設定を入れてください。

Download

最後はプロジェクトをOTee RuntimeにDownloadしてください。

Result

Done!TwinCAT3とOTee Runtime間はCIP I/Oメッセージ通信できました。

シェアする

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

フォローする