今回の記事ではBeckhoff TwinCAT3とTF6280の組わせでEthernet/IP Adapterを立ち上げ、FANUC ROBOGUIDE側でR785 OptionsでEthernet/IP Scannerと接続させます。
また、FANUC ROBOGUIDE側のIOデータMapping方法を説明します。
Step by Step、From Zero To Hero。
さ、はじめよう!
Implementation1
Beckhoff Side
まずはBeckhoff側からEthernet/IP Adapterを構築します。
Add Ethernet/IP Adapter
Ethernet/IP Adapterを追加するため、Devices>右クリック>Add New Itemします。
EtherNet/IP Adpater(Slave)を選び>Okします。
Done!
Configure Adapter
Ethernet/IP Adapterで使用するNetwork Interfaceを設定するため、Adapter Tabを開き、Searchをクリックします。
現在TwinCAT RuntimeがインストールされているPCが使用できるNetwork Interfaceが一覧でき、アプリケーションで使用するInterfaceを選び>Okで確定します。
Done!
Sync Task
次はEthernet/IPのSync Taskを定義するため”Create new I/O Task”をクリックします。
Task名を設定します。
Done!あとはアプリケーションに合わせてCycle Ticksを設定しましょう。
IP Address
Box1>Settingsを開き、8000.21と8000.22でIPアドレうsとNetwork Maskを設定してください。注意するのはこのIPアドレスは他のデバイスのIPアドレスとかぶらないようにしましょう。
Configure the Slave
次はEthernet/IP Slaveを設定します。
Add IO Assembly
Box1>右クリック>Append Io AssemblyをクリックしEthernet/IP AdapterのAssemblyを設定しましょう。
Assembly1が追加されました。
Add Inputs
Ethernet/IP Adapterの入力データ(つまりFANUC ROBOGUIDEの出力)を定義するためInputs>Add New Itemします。
Insert Variableの画面が表示されました。
今回は4Word入力データを定義しますので、Search TypeをWordに入力し>Wordを選び>Create Array Typeをクリックし配列データ・タイプを定義します。
Arrayの作成画面に変わります。
先程も書きましたが、今回の記事は4Wordデータを使用しますンド絵、配列のサイズを0…3に設定します。
配列データ・タイプが定義されたので、ARRAY[0..3]OF WORDを選び>Okで進みます。
Done!
Add Outputs
次は出力データを定義するためOutputs>右クリック>Add New Itemします。
先程追加したARRAY[0..3]OF WORDを選び>Okします。
Add PLC Project
次はPLCプロジェクトを追加するため、PLC>右クリック>Add New itemします。
Standard PLC Projectを選び>Addします。
MAIN Program
今回の記事ではMAINプログラムにProcess データのみを定義し、次回からは簡単なロボットプログラムと連携できるようにします。
PROGRAM MAIN VAR inWord AT %I*:ARRAY[0..3]OF WORD; outWorrd AT %Q*:ARRAY[0..3]OF WORD; in,out:ARRAY[0..3]OF WORD; END_VAR in:=inWord; outWorrd:=out; |
Build
Build>Build Solutionでプロジェクトをコンパイルかけます。
Link IOs
今度はUser Programにある変数とProcess IOを紐つけるため、Inputs>変数>右クリック>Change Linkします。
先程MAINプログラムで定義した変数を設定しましょう。
出力データも同じ操作でUser Programにある変数を紐つけましょう。
User Programに定義した変数に設定しましょう。
Activate Configuration
最後はActivate ConfigurationでHardware ConfigurationをRuntimeにDownloadしましょう。
Okで進みます。
もしライセンスが足りない場合、Yesで進みます。
Security Code表示された文字と同じものを入力すれば自動的にTrialライセンスが生成できます。
OkでTwinCATをRun Modeに切り替えましょう。
Login
LoginボタンをクリックしプログラムをDonwloadします。
Yesで進みます。
Run
最後はRunボタンをクリックしプログラムをStartします。
それでBeckhoff側が設定Okです。
FANUC Side
次はFANUC側の設定を行います。
New Project
ROBOGUIDEで新規プログラムを作成するためFile>New Cellをクリックします。
Process Selection画面にアプリケーションを合わせて設定します。
Workcell 名を設定しNext>進みます。
新規ロボットConfigurationを作成します。
ツールもアプリケーションに合わせて設定しましょう。
次はアプリケーションで使用するロボットを設定します。
外部軸がある場合に設定してください。
次はロボットのOptions設定になります。
今回記事でr785を使用しますので、r785を検索しCheck入れてください。
最後はConfigurationを確認し、Finishedで新規Workcellを生成しましょう。
Done!
Start Teach Pendant
Ethernet/IPなどの設定をするためTeach Pendantを起動します。
Done!Teach Pendantが起動しました。
Host Comm
今度はHost Commを設定します。つまりRobot ControllerのIPアドレスを設定します。
Menuボタンをクリックし>6 SETUP>SETUP 2>7 Host Commを開きます。
Host Commの設定画面が表示されました。
TCP/IP Protocolを選び>DETAILをクリックします。
TCP/IPの設定画面が表示されます。
Port#1 IP addrではRobot ControllerのPort1のIPアドレス設定になります。
いまはROBOGUIDEを使用していますので、IPはPCにあるネットワークAdapterに合わせて設定してください。
Port#1 IP addrをクリックするとKeyboardから入力できます。
これでOKです。
次はPC Jog IP addrとOP Panel IP addrを設定しましょう。
PING TEST
Port#1 IP addrを選んでる状態でPINGボタンをクリックし接続テストしましょう。
Successdedのメッセージが来たので、Host Commの設定はOkです。
Ethernet/IP Scanner
次はEthernet/IP Scannerの設定を行うため5 I/O>I/O 2>3 Etherent/IPを開きます。
I/O Ethernet/IP の画面が表示されます。
今回使用するのはConnection1になります。
Change to SCN
TYPを選択し>SCNボタンをクリックします。
いまConnection1はEnableされている状態なので、ROBOGUIDEがTYPの設定変更を拒否しました。
Disable the Function
Enableの欄に移動し、FALSEボタンをクリックしConnection1の機能を無効します。
Done!
もう一回TYPを選択し、SCNをクリックします。
接続タイプを変更しますか?YESで進みます。
Done!いまScannerのStatusはPENDINGに変わりました。
CONFIG
次はConnection1のConfigurationを変更するため、Connection1を選び>CONFIGボタンをクリックします。
Scanner Configurationの設定画面になります。名称は少々ややこしいですが、こちらの画面ではROBOGUIDEに立ち上げたScannerと接続するEthernet/IP Adapterを設定する画面です。
Name/IP address
Name/IP addressはEthernet/IP AdapterのIPアドレス設定項目で、TwinCATの8000.21に該当します。
Done!
Vendor Id
Vendor IdはEthernet/IP AdapterのVendor Id設定項目で、TwinCATの8000.05に該当します。
Done!
Device Type
Device TypeはEthernet/IP AdapterのDevice Type設定項目で、TwinCATの8000.04に該当します。
Done!
Product Code
Product CodeはEthernet/IP AdapterのProduct Code設定項目で、TwinCATの8000.06に該当します。
Done!
Input size(words)
Input size(words)はEthernet/IP Adapterの入力データサイズ設定項目で、TwinCATの8001.05に該当します。
Output size(words)
Output size(words)はEthernet/IP Adapterの出力データサイズ設定項目で、TwinCATの8001.07に該当します。
RPI(ms)
RPI(ms)はEthernet/IP Adapterとデータ交換の更新周期で、TwinCATのEthernet/IP AdapterのSync Taskで設定されたCycle ticksより大きく設定してください。
Assembly instance(input)
Assembly instance(input)はEthernet/IP Adapterの入力データInstance番号設定項目で、TwinCATの8001.04に該当します。
Assembly instance(output)
Assembly instance(output)はEthernet/IP Adapterの出力データInstance番号設定項目で、TwinCATの8001.06に該当します。
Configuration instance
Configuration instanceはEthernet/IP AdapterのConfigurationデータInstance番号設定項目で、TwinCATの8001.02に該当します。
Done!
Result
これで設定Okです。
PING
Beckhoff TwinCATのEthernet/IP AdapterとROBOGUIDEの通信を確認するため、Connection1を選び>PINGをクリックします。SucceededのメッセージがあればOkです。
Reset the Controller
Ethernet/IP Adapterの接続設定が完了したら、Robot>Restart Controller>Cold Startで一回ロボットControllerをリセットしましょう。
Enable Scanner
Ethernet/IPをEnableするため、Connection1にあるEnable設定を選び>Trueにします。
Enable Remote Operation
次はRobot Controllerのリモート制御Optionsを有効にする必要があり、0 ‐‐NEXT — をクリックします。
MENU2>6 SYSTEM>2 Variablesを開きます。
189 $EIP_ENBL_IOを1に設定します。
Result
WiresharkからROBOGUIDEとTwinCATのCIP I/OのPacketがありましたね!それで通信が確立されました。
Implementation2
次はFANUC ROBOGUIDE側からIO データを確認していきます。
FANUC Side
Configure IO
IO Configuration画面を開き、IN/OUTボタンをクリックします。
少しわかりづらいかもしれませんが、まずRACK89はEthernet/IPの通信RACKで、SLOT1はConnection1のことを示しています。そしてSTART=1は0Bit目からのデータを取り、DI番号150から245までに転送します。
150から245までは丁度6Wordsで、Beckhoff TwinCAT Etherent/IP通信のデータサイズに該当します。
DOにも同じのように設定しましょう。
こちらは実査いI/O Digital 画面とI/O Ethernet/Ip 画面の設定関係です。
Result
ではDIデータを確認するため、DIを選び>MONITORをクリックします。
DI[150]から各入力の状態を確認できます。SIM=Uはシミュレーションしてない状態でもあり、STATUS=OFFは該当するDI番号は現在OFFしています。
DO Word1
FANUC側からDO185,DO186をONにするためDOを選び>ONにクリックします。
DO185/DO185がTrueになり、DEC=24です。なので、TwinCAT側の1つ目のWordは24になります。
DO Word2
DO198/DO199がTrueになり、DEC=3です。なので、TwinCAT側の2つ目のWordは3になります。