Keyence#KV-XLE02でEtherCATをBeckhoff TwinCAT3と繋がってみよう

今回の記事ではBeckhoff TwinCAT3とキーエンスの通信Unit KV-XLE02でEtherCAT通信の構築方法を説明します。注意するのはKV-XLE02はEtherCAT Slaveとして稼働します。

さ、始めよう!

EtherCAT?

EtherCATはドイツのBECKHOFF社によって開発されたイーサネットベースのリアルタイムフィールドバスです。Ethernetをベースとしているため、ネットワーク構築時には一般的なEthernetケーブルを使用することができます。

KV-XLE02はEtherCATスレーブとして動作し、Process Data object通信(サイクリックI/O)とMailbox通信によるデータ通信に対応しています。データのやり取りは、Sync Managerと呼ばれるポートを使用して行います。

Object dictionary

Object dictionaryはEtherCATデバイス内でアプリケーション部と通信部の間で通信をやり取りするための情報テーブルです。中にはEtherCATデバイスが扱う情報を記述します。

また、個々の情報はObjectと呼ばれる。

Process Data Object通信を使用し、該当するObjectのCoE通信領域のプロセスデータを読み書きし、またMailbox通信を使用して、該当するObjectの製造者固有領域のパラメータを読み書きすることが可能です。

Process data object communication function

PDO通信機能には、Sync manager2とSync manager3を使用します。。その通信機能を使用することにより、マスタ・スレーブ間でサイクリック(I/O)通信が可能となります。

Object dictionaryに配置されたデータの一部をProcess Data Objectトに割り当てることで通信を行います。Process Data Objectには2種類あります。

  • マスタからスレーブへデータを送信するRxPDO
  • スレーブからマスタへデータを送信するTxPDO

Mailbox communication (Server) function

Mailbox通信機能は、Process Data Object通信以外のタイミングでのデータ通信に使用し、Sync Managerの0と1で管理します。この通信機能を使用し、ハンドシェイクを取りながら通信を行う。また、object dictionaryに配置されている全てのデータの通信が可能です。

What is DC (Distributed Clock)

DC (Distributed Clock)は高精度な時刻同期を行うEtherCAT独自の機能で、KV-XLE02はDCに対応しています。DCによる時刻同期機能により、EtherCATマスタと各スレーブ間で同じ時刻が同期され、EtherCATマスタと各スレーブ間の動作タイミングを同期した時刻に合わせることができます。

Wiring for EtherCAT Network

KV-XLE02のEtherCAT通信機能は、リング型およびライン型のネットワークトポロジに対応しています。注意するのはEtherCATマスタデバイスと1対1ライン方式で接続する場合(ポート1のみでEtherCAT通信を行う場合)も、EtherCAT通信機能を使用する場合はポート1とポート2の両方を占有するため、ポート2でも汎用イーサネットを使用することはできません。

Cable connection method

IN Port (PORT1)

EtherCAT通信の入力ポートです。必ず他のEtherCATデバイスのOUTポートに接続してください。他のEtherCATデバイスのINポートに接続すると通信が正常に行われません。

OUT Port (PORT2)

EtherCAT通信用の出力ポートです。必ず他のEtherCATデバイスのINポートに接続してください。他のEtherCATデバイスのOUTポートに接続すると通信が正常に行われません。

Download ESI File

下記のLinkからKV-XLE02のESI FileをDownloadしてください。

https://www.keyence.co.jp/search/all/?q=KV-XLE02%20ESI

Implementation

Keyence Side

最初はキーエンス側を構築します。

Unit Configuration

KV Studioを立ち上げ、Unit configuration>KV-8000をクリックしHardware Configuration設定画面を立ち上げます。

Add KV-XLE02

右にあるSelect Unit画面でKV-XLE02をHardware Configurationに追加します。

Setup unit

次はSetup unit Tabを開き、KV-XLE02の設定を変更します。

Base

Base設定はKV-XLE02本体の状態や制御を行うデバイスを設定します。

Port1/Port2 Settings

今回記事ではEtherCAT SlaveとしてBeckhoff TwinCAT3と繋がりますので、Port1 settingsとPort2 settingsのIndustrial Ethernetを”EtherCAT(Slave)”に設定します。

EtherCAT Slave Settings

ExplictDeviceIDをDsiableします。

Refresh setting

Refresh settingのTabを開き、Beckhoff TwinCAT3と交換するデータサイズと先頭デバイスを設定します。今回の例ではInputとOutputも16Wordを設定します。

Program

User programに簡単なデータ確認用プログラムを作成します。

Download

最後はプロジェクトをKV8000にDownloadします。

TwinCAT3 Side

次はTwinCAT3 Sideを構築します。

Install ESI File

キーエンスHPからDownloadしたESI Fileを下記のLinkに格納します。

C:\TwinCAT\3.1\Config\Io\EtherCAT

Add EtherCAT Master

TwinCAT3プロジェクトを作成し、I/O>Devices>Add New Itemで新しい通信Driverを追加します。

EtherCAT>EtherCAT Masterを選び、Okで進みます。

今回TwinCAT3でEtherCAT Masterとして使用するEthernet Adapterを設定しましょう。

Scan Network

今回はTwinCAT3のSlave自動検出機能を使ってEtherCAT SlaveをScanします。Device>右クリック>Scanします。

Done!KV-XLE02が見つかりました。

Configuration

次はKV-XLE02の設定を行います。

Process Data

Proess DataをTabを開き、KV-XLE02とTwinCAT3間で交換するPDOを設定します。

Outputs

Outputsをクリックし、0x1600をCheck入れてください(今回は16Wordの出力データがありますので)。

Inputs

Inputsをクリックし、0x1A00をCheck入れてください(今回は16Wordの入力データがありますので)。

Add PLC

次はPLCを追加するため、PLC>Add New Itemをクリックします。

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

Add GVL

今度はGVLを追加するため、GVL>Add>Global Variable Listをクリックします。

GVL名を入力します。

KV-XLE02とMappingするProcess Input/Process Output変数を定義します。

Program

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

Build

Mappingを行う前に、Build>Build Solutionでプロジェクトをコンパイルします。

Input Mapping

入力データとMappingするため、先ほど追加した変数をすべて選んでる状態で右クリック>Change Multi Linkします。

先程GVLで定義したInput Process Dataとリンクしましょう。

Output Mapping

出力も同じの操作でリンクしてください。

Activate Configuration

最後はプロジェクトをTwinCAT3 RuntimeにDownloadするため、Activate Configurationをクリックします。

Okで進みます。

OKをクリックし、TwinCAT RuntimeをRun Modeに変更します。

Login

Loginします。

Result

最後はKV-XLE02の通信状態を確認しましょう。

Online Tabを開くと、State MachineはOPの状態です。

つまりKV-XLE02は現在正常な状態です。

KV-XLE02で出力したデータがTwinCAT3側も受けました。

TwinCAT3側も同じく、出力したデータはKV-XLE02が受けました。

今度はUnitの状態を確認するため、KV-XLE02を右クリック>Unit Monitorをクリックしましょう。

現在KV-XLE02の稼働状態を確認できます。

Communication Monitorをクリックします。

Communication Monitor画面が表示されます。

Drop-Listから現在KV-XLE02が設定された通信Modeしか選べましせんので、今回いはEtherCAT(Slave)です。

Done!現在はOP状態だと確認できました。

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

シェアする

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

フォローする