今回の記事では、横河電機のF3LN01を使用し、Ethernet/IP Adapterを立ち上げ、Beckhoff TwinCAT3 TF6281のEthernet/IP ScannerとInstance 通信・Tag通信を行います
さ、FAを楽しもう。
Reference Link
Ethernet/IP I/O communication
I/O 通信は、Adapterに定義された論理パスまたはタグを指定することで有効になります。Adapter・デバイスとの通信は、出力または入力が可能です。出力と入力は、特定の通信間隔で個別に構成可能です。EtherNet/IP の用語では、通信間隔は RPI (Requested Packet Interval) と呼ばれます。EtherNet /IP 通信では、各タグの優先度に応じて RPI を設定することで、効率的な通信を行うことができます。
Implementation
YOKOGAWA F3LN01 Side
Tool Installation
F3LN01のEthernet/IPネットワーク構成を設定するため、横河電機のポータルサイトにアクセスし、PLC/PAC && Embedded Controllerをクリックします。
https://partner.yokogawa.com/global/itc/index.htm
FA-M3 Software Download>Configuration Toolをクリックします。
ライセンスに同意します。
FA M3 Configuration Tool Ethernet/IP Interface Moduleをクリックします。
このサイドからConfiguration Tool・EDS File・取説をDownloadできます。
ポータルサイトからDownloadしたZIP Fileを解凍し、Setup.exeを起動します。
Next>で進みます。
しばらく待ってください…
Next>で進みます。
Next>で進みます。
Installで進みましょう。
しばらく待ってください…
Done!
Configure FA-M3
先程インストールしたFAM3ConfigurationToolEtherNetIPを起動します。
こちらはFA-M3のEthernet/IP Configurationツール画面になります。
IP Setting
F3-LN01のIPアドレスを設定するにはモジュール本体の蓋を開けてください。
Rotaryスイッチを使ってIPアドレスを設定しましょう。
Configure Instance
今回の記事では横河電機のF3LN01はEthernet/IP Adapterとして稼働しますので、F3LN01を右クリック>F3LN01 Tag Setting for Adapterをクリックします。
こちらはF3LN01のTag設定画面で、ここでモジュールのInstanceやTagを設定します。
こちらは今回の設定になります。
- INPUT:Instance 100,101,102,各Instance100Bytes
- OUTPUT:Instance 190,191,192,各Instance100Bytes
- INPUT Tag:TagIn01,TagIn02,各Instance100Bytes
- OUTPUT Tag:TagOut01,TagOut02,各Instance100Bytes
Tag,Link Register(W) Allocation
Tag設定完了したら、CPU本体と紐つけるメモリ番地を設定します。
F3LN01右クリック>Tag,Link Register(W) Allocationを選択します。
Auto Setで入出力データを自動的に割り付けます。
Connect to Module
Online>ConnectでPCとモジュールを接続します。
Connectをクリックします。
Done!ツールとモジュール・CPUと接続しました。
Download
Ethernet/IPネットワークの設定完了したら、Online>Download[PC=>F3LN01]にConfigurationをDownloadしましょう。
Yesで進みましょう。
YOKOGAWA WideField3 Side
次はCPU本体側のプログラムを作成するため、WideField3を使用します。
PROGRAM
こちらはEthenret/IPモジュールのEthenret/IP通信開始・停止を制御するラダープログラムです。
こちらは各Connectionデータを交換するためのプログラムです。
注意するのは実数のデータを転送する場合はMOV Lを使用してください。
また、三菱のCPUと同じように、BMOV関数(ブロック転送)もあります。
そして16進数データを転送したい場合は$1234のFormatを使用しましょう。
Download
最後はプロジェクトをCPUにDownloadするため、Online>Download[PC->CPU]>Projectでプロジェクトを転送します。
Beckhoff Side
Install EDS File
先ほど横河電機のポータルサイトからDownloadしたEDS Fileを下記のPathに格納してください。
C:\TwinCAT\3.1\Config\Io\EtherNetIP
Configure Etherent/IP Network
TwinCAT3側でEthenret/IP ネットワークを構築します。
Add Ethernet/IP Scanner
Ethernet/IP Scannerを追加するため、I/O>Devices>Add New Itemします。
Ethernet/IP>Ethernet/IP Scannerを選び>OKします。
Done!Ethernet/IP Scannerが追加されました。
Configure Ethernet Adapter
AdapterのTabを開き、Serachボタンをクリックし現在TwinCAT Runtime稼働してるPCに使用できるEthernet Adapterを検索します。
適切なInterfaceを設定し、OKで進みます。
Configure Task
次はEthernet/IPの同期Taskを設定するため、Sync TaskのTab開>Special Sync Task>Create New IO Taskをクリックします。
Task名を入力します。
Done!
Configure IP Address
TwinCATのEthenret/IP Scanner IPアドレスを設定します。Settings>IP AddressとNetwork Maskをアプリケーションに合わせて設定しましょう。
Done!
Configure F3LN01
横河電機のF3LN01を追加するため、Ethernet/IP Scanner>右クリック>Add New Itemします。
先ほど追加した横河電機のAdapterが表示されるはずです。
Done!横河電機のF3LN01が追加されました。
Configure IP Address
横河電機のF3LN01のIPアドレスを設定します。
Settings TabにIP Addressの項目で実機のIPに合わせて設定しましょう。
Done!
Append IO Connection – ID
F3LN01のIO Connectionを追加するため、先ほど設置したF3LN01>右クリック>Append IO Connection>IDをクリックします。
EDSの記述にそってIO Connectionを追加しますか?Yesで進みます。
Done!こちらはIO Connectonの設定画面になります。
Connection1
Connection1はInstance190をINPUT Instanceとして設定し、またInstance100をOUTPUT Instanceとして設定します(Beckhoff側)。
Connection2
Connection2はInstance191をINPUT Instanceとして設定し、またInstance101をOUTPUT Instanceとして設定します(Beckhoff側)。
Connection3
Connection3はInstance192をINPUT Instanceとして設定し、またInstance102をOUTPUT Instanceとして設定します(Beckhoff側)。
Append Consumer Connection
今度はF3LN01のProducer Tag部分も接続するため、Append Cosumer Connectionをクリックします。
こちらはConsumer Tag(Beckhoff側)の設定画面になります。
Connection4
Connection4はTagOut01、100BytesをConsumer Tagとして設定します。
Connection5
Connection5はTagOut02、100BytesをConsumer Tagとして設定します。
Add PLC Project
PLCプロジェクトを追加します。
Standard PLC Projectを選び>AddでPLCプロジェクトを追加します。
Add GVL
Global Variables Listを追加します。
下図のような2次元配列を定義し、F3LN01と接続するProcess IN/OUTと紐つけます。
MAIN PROGRAM
通信確認するためのプログラムを作成します。こちらは文字列・実数・32Bit整数などのプログラム転送プログラムも入っています。
PROGRAM MAIN VAR myWord:WORD; myStrings:STRING(20); myReal:REAL; bytes:ARRAY[0..99]OF BYTE; END_VAR GVL.ConnectionsX_OUT[1][0]:=16#AB; GVL.ConnectionsX_OUT[1][1]:=16#EF; GVL.ConnectionsX_OUT[1][98]:=16#13; GVL.ConnectionsX_OUT[1][99]:=16#CD; myWord:=16#F031; MEMMOVE( destAddr:=ADR(GVL.ConnectionsX_OUT[2][0]) ,srcAddr:=ADR(myWord) ,n:=2 ); myStrings:=’Beckhoff TwinCAT3!’; MEMMOVE( destAddr:=ADR(GVL.ConnectionsX_OUT[2][15]) ,srcAddr:=ADR(myStrings) ,n:=SIZEOF(myStrings) ); myReal:=100.52521; MEMMOVE( destAddr:=ADR(GVL.ConnectionsX_OUT[2][50]) ,srcAddr:=ADR(myReal) ,n:=SIZEOF(myReal) ); GVL.ConnectionsX_OUT[3][0]:=GVL.ConnectionsX_IN[3][0]; GVL.ConnectionsX_OUT[3][1]:=GVL.ConnectionsX_IN[3][1]; GVL.ConnectionsX_OUT[3][98]:=GVL.ConnectionsX_IN[3][98];; GVL.ConnectionsX_OUT[3][99]:=GVL.ConnectionsX_IN[3][99];; bytes[0]:=GVL.ConsumerX_IN[4][0]; bytes[1]:=GVL.ConsumerX_IN[4][99]; bytes[2]:=GVL.ConsumerX_IN[5][0]; bytes[3]:=GVL.ConsumerX_IN[5][99]; |
Build
Build>Build Solutionでプロジェクトをビルドします。
Mapping
Process INPUT/OUTPUT変数をEthernet/IP通信のデータと紐つけるため、Change Linkをクリックします。
プログラムの変数と紐つけましょう。
Activate Configuration
Activate CofigurationでHardware ConfigurationをTwinCAT RuntimeにDownloadします。
OKで進みます。
TwinCAT RuntimeをRun Modeに切り替えます。
Login
LoginでプログラムをDownloadします。
Yesで進みます。
Start
最後あhStartボタンでTwinCAT Runtimeを起動しましょう。
Result
F3LN01のFA-M3 Configurationツールで現在TwinCAT3と接続状態を確認できます。
TwinCAT3側ではもF3LN01と接続状態を確認できます。
State=0なのは接続エラーが発生してないことを示しています。
F3LN01とTwinCAT3間のデータ交換も正常に行いました。
WideField3で実数のメモリを監視したい場合、Display Format>Floating Pointをクリックします。
32Bitの実数ならLongを設定しましょう。