今回の記事ではTwinCAT3からTF6281 Ethernet/IP Scannerを立ち上げ、Omron NX-CSG320のInput Instance、Output InstanceだけではなくProducer TagsもTwinCAT3側からアクセスしてみます。よろしくお願いします!
Reference Link
http://soup01.com/ja/category/protocol/ethernet-ip/
Tag Connections?
Ethernet/IPがI/O Dataを交換するときImplicit Messageを使用しますが、みんなさんがよくしってるInstance番号を指定することやEDS Fileから定義されたConnectionからEtherenet/IP Networkを構築するのはなれてると思いますが、実はTag通信にもできます。
Tag 通信というのはConsumerやProducter間でもう少しわかりやすい”名前”で通信しましょうと簡単に理解できればよいと思います。ですが、Tagが細かく切り分け過ぎるとその分DeviceのConenctionリソースが減りますので、構築するときは注意してください。
Thanks!
この記事が出来上がるのはベッコフ日本法人ベッコフオートメーション株式会社さまとMana Design worksさまから機材を貸してくださったおかけです。誠にありがとうございます。
ベッコフ日本法人ベッコフオートメーション株式会社
IPC6920-005はベッコフ日本法人ベッコフオートメーション株式会社さまが貸してくださったものです。Beckhoff Automationは1980 年会社設立、PCベースの制御技術をベースにしたオープンオートメーションシステム導入の先頭に立つドイツ企業です。
ベッコフ日本法人ベッコフオートメーション株式会社は、2011年に横浜に本社、2017年に名古屋オフィスを設立しました。
こちらはベッコフ日本法人ベッコフオートメーション株式会社様のホームページです。
どうぞよろしくお願いします。
https://www.beckhoff.com/ja-jp/
Connection Manager
実際WiresharkからPacketみますと、接続確立するには同じくConnection Manager ObjectのForward Open Servicesを使用します。
そのPacketを開き、Connection Pathを展開すると…
Application Pathは場合によりかなり長くなります。それがApplication PathにはTagの名前も入っている原因です。
Electronic Key segment 34 04
Electronic Key Segment は接続先の認証のために使われています。各VendorのEthernet/IP デバイスにも必ずVendor IDなどの状態が入っており、接続したいデバイスは望むものなのかをCheckできます。
Key Format Table
34 04の次はにある8 BytesはVendorの情報などが含まれています。
Vendor ID
Device Type
Product Code
Major Revision /Compatibility
Minor Revision
Tag Name
symbolic名、いわゆるTag通信のTag名ですね。実際は小文字と大文字には同じ扱いになりますので注意してください。EncodeのForamtはASCIIで、64=小文字のm、79=小文字のyのようなイメージです。
If fail..
よくある接続失敗はTag名が一致しないことですね。たとえば以下のPacketsだとデバイスから接続拒否の返答がきます。
Packetsを開くと、Invalid produced or consumed application Path問題しかないていませんが…
IO Data Exchange
Configuration
こちらが今回の記事の構成になります。Omron側はInput InstanceとOutput Instance一つずつあり、なおかつProducer Tags ”MyOmronTags”も定義しTwinCAT3がEthernet/IP経由でアクセスします。
Implementation
Download Omron EDS Files
Ethernet/IP Configuration Tool for RJ71EIP91ツールからOmorn NX-CSG320のEDS FileをDownloadします。
https://www.fa.omron.co.jp/member/product/tool/44/eds/download.htm
Omron Side
OmronのNX-CSG320側から構築します。
Define Global Variable
Programming>Data>Global Variablesをクリックします。
Assembly Data
Network PublishがInputで、Data TypeがINTとArray[0..33]of WORDを定義します。
Tag Data
Network PublishがIOutputで、変数名はMyOmronTagsを設定します。
Ethernet/IP Connection Settings
Tools>EtherNet/IP Connection Settingsをクリックします。
今回はPort2を使用しますので、Port2を右クリック>Editします。
Registation Allボタンをクリックします。
Input Tag・Output Tagを先程定義した変数を選び>Registerします。
Configure Input Instance
MyTagsのInstance IDに192を入力します。つまりInstance 192は2 Bytes データサイズになります。
Configure Output Instance
Outputに”MyOutputTags”のInstance IDを193に入力します、つまりInstance 193のデータサイズは68Bytesになります。そしてProducer Tags MyOmronTagsは2 Bytesです。
それでOK。ProjectをCPUにDownloadしてください。
TwinCAT Side
Add scanner
Ethernet/IP Scannerを追加します。I/O>Devices>右クリック Add New Itemします。
Ethernet/IP>Ethernet/IP Scanner>OKです。
Ethernet/IP Scannerが追加されました。
Adapter
Adapter Tabを開き、Searchボタンをクリックします。
Ethernet/IPネットワークに接続してるEthernet Interfaceを選び>Okします。
Adapterが設定されました。
Task
Sync Task Tabを開き>Special Sync Taskを選び>Cretae new I/O Taskします。
Cycle ticksにEthernet/IPのCycle timeを設定します。
IP
Settings Tabを開き、F800.21、F800.22にIPとNetwork Maskを設定します。
今回の構成に合わせて192.168.250.134、255.255.255.0に設定します。
Import EDS
OmronのEDS FileをTwinCATにImportします。Ethernet/IP Scanner>右クリック>Import EDS Fileをします。
OmronのEDS Fileを選び>Openします。
一部のConnectionsがSupportしないと警告が表示され、OKで進みます。
もし該当するEDS Fileが存在してるであれば、Yesで上書きします。
File Importが成功しました。
Add Omron CPU Adapter
次はOmron NX CPUをEthernet/IP ネットワークに追加します。
右クリック>Add New Itemします。
NX-CSG320を選び>OKします。
Box1が追加されました。
Change IP
Box1を右クリックし>Change IP Addressします。
今回の構成は192.168.250.19に合わせて設定します。
Append Consumer Connection
IP設定が終わったら次はBox1を右クリック>Append Consumer Connectionをクリックします。
Consumer 1 が追加されました。
Add IO
Counsumer 1(Input)右クリック>Add New Itemします。
変数名を入力>Data Typeを検索、設定し>OKで完了します。
Consumer1(Input)にInputsデータが追加されました。
Configuration
いまからConsumer 1(Input)を設定します。
Connection Tagの設定画面が表示されました。
Connection Tag(Consumer 1 (Input))にTag名変更できます。
Omron側のSysmac Studio に設定したTag名”myomrontags”を入力します。
Append Input & Output Type( ID Type)
次はAssembly番号からOMRONのEthernet/IP Targetを構築します。
Box 1(NX-CSG320)を右クリック>Append IO Connection>Input Output(ID Type)します。
EDSの元にAssembly Sectionを作成しますか。Yesです。
Ethernet/IPの設定画面が表示されました。
Input Instance
まずInput Instance番号を設定します。Inputs – Data Length >Connection Portをクリックします。
Connection Pointを入力します。
Overwrite EDS-RestrictionsのCheckboxを入れ>Connection Point 193を入力>Applyします。
Output Instance
Output Instance番号を設定します。Outputs – Data Length >Connection Portをクリックします。
Connection Pointを入力します。
Overwrite EDS-RestrictionsのCheckboxを入れ>Connection Point 192を入力>Applyします。
Change Input Data Size
Input Instanceのデータサイズを変更します。Defaultで作成された変数を削除し>右クリック>Add New Itemします。
Array Data typeで68Bytesを設定し>OKします。
Change Output Data Size
次はOutput InstanceのData Sizeを設定します。
右クリック>Add New Itemします。
OmronのInstance 193 データサイズに合わせ>OKします。
RPI
最後はRPIを設定し、Cycle Time Multiplierをクリックします。
実際のアプリケーションに合わせて設定しましょう。
Finally
これで設定Ok!
Add PLC
PLC>右クリック>Add New Itemします。
Standard PLC Projectを選び>Addします。
GVL
GVLs>右クリック>Add>Global Variable Listします。
GVL名を入力し>Okします。
Process I/Oを定義します。 AT %I* と AT %Q*は忘れずに!
Build
Build>Build SolutionでProjectをコンパイルします。
Link Variables
Consumer 1
Consumer 1>Inputs>data>Change Linkします。
GVLのProcess I/O紐つけます。
Connections-Inputs
Connection>Inputs>Data>Change Linkします。
GVLのProcess I/O紐つけます。
Connection1-Outputs
Connection>Outputs>Data>Change Linkします。
GVLのProcess I/O紐つけます。
Activte
最後はActivate ConfigurationでHardware ConfigurationをRuntimeにDownloadします。
Runtimeを再起動します。
Login
LoginでUser ProgramをDownloadします。
Start
Runtimeを起動します。
Result
では通信結果を見てみましょう。
Omron側でWatch Tableを開き、ランダムの与えを書き込みます。
TwinCAT3側はOmronからの与えが来ましたね。
今度TwinCAT3側から出力してみます。
よし、Omron側もOKでしたね!