Festo#CPX-AP-I-EP EtherNet/IP ModuleとKV8000連携してみよう

今回FESTOのCPX-AP-I-EPモジュールからEthernet/IPのAdapterを立ち上げ、Ethernet/IPのScannerはキーエンスのKV8000を使用します。FestoモジュールのFirmware Update・IO-Link設定ツールも含めて紹介します。そしてContrinex社のスマートセンサーでは色々な細かいな設定ができ、Default上で使えこなせないことがありますので、一番簡単な方法としてはツール経由して、IODD FileをImportしIO LINK Sensorのパラメータを設定します。

よろしくおねがいします。

IODD?

IODDは(IO-Link Device Description)というXML形式のFileでIO-Link対応する製品ではメーカーからこのようなFileが用意されています。そのIODD Fileを使用すれば、IO Linkデバイスの設定が楽になります。

IODD Fileは一般的に2つのメイン部品から構成され、それはメーカー名-デバイス名-日付-IODD+IOLINK Versionとデバイス画像になります。

そしてそのIODD FileをIO Link Masterに取り込むと(今回の例ではFestoのもの)、機器メーカーなどの情報や設定はもちろん、保守製品リストの作成や予備品の手配時も簡単になります。

IODD Checker?

IODD CheckerはIODD Fileの交換性だけではなくIODD File自体が仕様に合ってるかどうかをCheckできます。注意するのはそのテストは義務です。

IODD Finder?

IODD FinderはIO-Link のCommunityの中のEnd-userがIODDを検索したりDownloadしたりできるWebサイトです。

COM1-3?

IO-Linkデータ伝送レートで、デバイスとマスタとの間で、サイクル当たり最高32ビットを伝送できます。 COM1=4.8 kBit/s、COM2=38.4 kBit/s、COM3=230.4 kBit/sの規格になっています。

Reference Link

Festo#CPX-AP-I-EC EtherCAT Moduleを使ってみよう
EtherCAT#少し話しよ_02

CPX-AP-I-EP-M12

こちらは今回使用するCPX-AP-I-EP-M12です。Ethernet/IPとModbusTCPにも対応できる柔軟なInterfaceです。そして今回の記事ではEthernet/IPですが、次はModbus TCPの設定も紹介します。

LED

モジュールの各LEDの意味になります。

Rotary Switch

モジュールに3つのRotaryスイッチがあり、モジュールのIPアドレスを設定できます。

0=DHCPを使用でき、1-255までは固定IP設定になります。

もし1-255の場合は、Ethernet/IPやModbus TCPやモードを使用することによって一番左にあるx100の設定が変わります。

Ethernet/IPの場合:300-555になります。例えば今回の記事の例では192.168.1.145を設定しますので、Rotaryスイッチの設定はx100=4、x10=4、x1=5になります。

Modbus TCPの場合:600-855になります。
そしてFactoryリセットは900です。

今回の記事では192.168.1.145なので、Rotaryスイッチは645の設定にします。

Download EDS File

FestoのWebからEDS FileをDownloadしてください。EDS FileあるとEthernet/IPのネットワーク構築は楽になります。

Configuration

こちらは今回の構成です。Ethernet/IPのScannerはキーエンスのKV8000になります。

Implementation1 Basic Configuration

最初にFestoのCPX-AP-I-EPを立ち上げます。

Festo Side

Rotary Switchで設定したIPアドレスをWeb Browserからアクセスします。

各モジュールの詳しい情報をWeb Serverから確認できます。

Diagnosis

System>Diagnosisをクリックするとモジュールの診断情報を確認できます。

Username/Password

Configuration>Username/PasswordからUser名・Passwordを変更できます。

CPX-AP-I-4IOL-M12

IOLINKモジュールのPort1をIO-LINK Modeとして設定します。

19番の20071:0をIOL_AUTOSTARTすればOKです。

Loginが必要です。

Usernameはadminで、Passwordはモジュールに印字された製造番号になります。

CPX-AP-I-AI-U-RTD-M12

次はアナログ入力モジュールのチャネル1を設定します。

20043:0を0-10V測定し、20044:0と20045:0を32000と0に設定します。

つまり0-10Vを0-32000にScalingするようになります。

Assembly View

モジュールのAssembly番号やデータ交換サイズを確認するために、Ethernet/IP>Assembly Viewをクリックします。

Festoのモジュールは非常に優しく該当するモジュールのすべてのデータに対してOffset・サイズもリストアップしてくれます。

Drop Listから確認したいAssemblyを選べばOKです。

Keyence Side

Create New Project

KV STUDIOを起動し、File>New projectで新規プロジェクトを作成します。

プロジェクト名を入力しOKで確定します。

もし該当するFolderがなければ作成します。

Done!新しいプロジェクトが作成されました。

Configure the EtherNet/IP Scanner

次はKV8000のEthernet/IP ネットワークを構築します。

Unit Configuration>KV-8000>Ethernet/IPをクリックします。

Manaul(つまり手動でネットワークを構築)で進みます。

Register the EDS File

KV StudioにEDS Fileを登録します。EDS File>Regをクリックします。

先程FestoのWebからDownloadしたEDS Fileを開きます。

Done!EDS FileをKV Studioに登録しました。

Configure the Festo Adapter

次はFestoのCPX-AP-I-EP Ethernet/IP AdpaterをNetworkに追加します。右のUnit ListからCPX-AP-I-EPをそのままKV-8000のところに引っ張ります。

Node AddressとIP Addressの設定画面が表示されます。

まずIPを実機に合わせて設定しOKで進みます。今回の記事では192.168.1.145です。

Done!Festo CPX-AP-I-EPが追加されました。

Change

KV-8000のIPアドレスに実際のアプリケーションに合わせてください。

Connection name

Connection NameはFesto モジュールのAssembly Viewに該当します。例えばI/O Con. Fixed SINT32はつまり32 BytesのAssmebly 112になります。

Connecton pointも自動的に変わりますので特に気にする必要がありません。

Doesn’t Work..?

ですが、最初は繋がらなかったです。WiresharkからみるとRevision mismatchのエラーがFestoから返ってきました。つまりEDS Fileのバージョンが合わないっことですね。

いまKV StudioではFestoデバイスのEDS FileはRevision 1.3です。

CPX-AP-I-EP-M12のWeb Serverにアクセスし、EtherNet/IP>EDS Fileで実機のEDS FileをDownloadします。

そしてもう一度KV Studioに登録すると、Revisionが1.3ではなく1.1でした。それは繋がりませんね。

なので、この1.1で構築したEthernet/IP構成をCPUにDownloadしたら、CIP I/O Packagesが流れるとわかります。つまりFestoデバイスとキーエンスKV8000は接続成功です。

Implementation-2 Firmware

次は各Moduleのパラメータを設定する…と思って電源を入れ直したら設定した項目がDefaultに戻りました。うん…もしかしてFirmwareが古すぎるのか?と思って(先程Web ServerからDownloadしたEDS FileもV1.1で、FestoのWebからDownloadしたものはV1.3)、モジュールのFirmwareをアップデートしてみます。

Update Module Firmware

下記のLinkからCPX-AP-I-EP-M12の最新FirmrwareをDownloadしてください。

次はモジュールのWeb Serverにアクセスし、Configuration>Firmwareを開きます。

FimwareのUpload画面が表示されました。BrowseボタンでFirmwareをUploadします。

先程DownloadしたFirmwareを選び、Openします。

送信ボタンでFirmwareをUploadします。

しばらく待ちます。

Done!モジュールの電源を入れ直せばOkです!

もう一度WebServerにアクセスすると、Modbus TCP の項目が増えました。

Configure and Store the Parameters 

そして一番大事なのはConfigurationのメニューからStored Parameterという操作ができるようになりました。

Store/Update current valuesのCheck入れ、送信ボタンでパラメータを保存します。

Done!それで電源を入れ直してもパラメータは消えなくなります!

Implementation-3 IO-Link Variable Size

今回はCPX-AP-4IOL-M12モジュールのデータザイアスを変更しようと思います。

が、(Not Changeable -Connected to PLC)の表示が出てきます。つまりモジュールがPLCなどの上位Scannerと繋がっていますので変更できません。

一旦KV8000のLANケーブルを抜いて…まだ変更できません。今度は(Not Changeable – Stored Parameter active)、つまり保存されたパラメータが有効になってるのが原因です。

Stored Parameterの項目にはたしかにパラメータ削除のようなことができるので、もう一度触ってみます。MenuからConfiguration>Stored Parameterをクリックします。

なので先の画面で”Restored Default Parameter values(Delete stored)”のCheckboxを選び>

送信します。

変更できるようになりました!

Connection Settings in KV Studio

まずConnection NameをI/O Con.Fixed DINT128に変更します。Connection Pointは自動的にIN_122とOUT_123に変わります。

次はAssign Deviceをクリックします。

IN(Input from adapter)のTabから振り分けのデバイス種類を設定します。既存プログラムにかぶらないように注意しましょう。

OUT(output to adapter)のTabから振り分けのデバイス種類を設定します。既存プログラムにかぶらないように注意しましょう。

Implementation-4 Configure IO LINK

Download Configuration Tools

まずFestoのWebからIO LINKモジュールの設定ツールをDownloadします。

https://www.festo.com/us/en/a/8086604/?q=io%20link~:festoSortOrderScored

Install Configuration Tools

Configuration ToolsのインストールFileをダブルクリックしインストールします。

言語を英語に選び>OKで進みます。

ライセンス同意し、Next>します。

インストールの場所を設定し、Next>で進みます。

DesktopにShortCutを作成します。

Installで開始します。

しばらく待ちます。

Done!

Launch SoftwareConfig

Launch it

Festo IO-Link Toolを起動します。

Toolの画面はこのようですね。

Search Master

右のTopology項目から”Search Master”をクリックしIOLINK Masterを検索します。

今回記事で使用するEtherNet/IPモジュールCPX-AP-I-EPと繋がってるIO LINK Masterが見えました。

Assign to topologyをクリックしデバイスをプロジェクトに追加します。

Done!Festo IO-Link-ToolにIOLINK Masterが追加されました。

Go Online!

緑のPlay Buttonでデバイスと接続します。

“read from master”をクリックし現在IO−LINK Masterの設定を読み込みます。

Done!実機はいまPort1だけIO-LINK Portとして構築され、他のPortはすべて無効になっています。

Download IODD

次はIODD Finder WebからContrinex 社のIDWE-M12MM-NMS-A0スマートセンサーのIODD FileをDownloadします。

https://ioddfinder.io-link.com/#/

Import IODD

Festo Configuration Toolsの右にあるCatalogからIODD FileをImportできます。右クリック>Import IODDします。

…のボタンをクリックし、先程DownloadしたIODD Fileを開いてください。

Importボタンをクリックします。

Done!CatalogからContrinex 社のスマートセンサーが追加されました。

Insert

次はPort1に今回使用するIDWE-M12MM-NMS-A0をPort0にImportします。CatalogからIDWE-M12MM-NMS-A0を選択し、そのままPort1にひっばればOKです。

Done!Port1を設定しました。

Download Configuration

次はConfigurationをFestoのIO-LINK MasterにDownloadします。

Disconnect with plc

でもFesto CPX-AP-I-EPのモジュールはPLCなどの上位システムと繋がってるとConfiguration Downlaodできませんので、一旦モジュールと上位システムのEthernet/IPのFieldbusの接続を切り離してください。

よし!Downloadできました。

OnlineするとContrinex 社のセンサー情報やパラメータを一覧できました!

Upload

ではまずContrinex 社のセンサーパラメータをUploadし、別保存でBackupしてください。

Configure your IO Link Devices

Reset

まずSystem CommandsからDevice ResetやFactory Resetなどして、デバイスをリセットしてください。

ALR Setting

こちらはContrinex のALR1/ALR2/ALR3のアラーム設定です。

ALR1はDistance、つまり距離を計測する機能です。Thresholdは80.00です、つまり測定値が80を超えるとALR1=Trueになります。

ALR3は温度の測定で、30.00を超えるとALR3=Trueになります。

MHM

MHMは測定実効値の設定です。

MHM Sourceは測定する種類、0=Distance、つまり距離です。

MHM Range Start=0、MHM Range 110.0はつまり測定値は0-110になります。

Process Data

Process Data TabをクリックするとContrinex のスマートセンサーの4 Bytes Input/ 1 Bytes Outputの状態を確認できます。

Implementation- Program in KV−Studio

最後はKV Stuidoでプログラムを作成し、FestoのCPX-AP-I-EP-M12が繋がってるモジュールを制御します。

DUT

構造体を作ります。Structureの中にDUT_SMART_IDWx_MxxMM_NMS_A0を作成します。

Contrinex 社のセンサー IOLINK データ Byte0のデータをBOOLに分解します。

Process Data Mapping

注意するのはContrinex 社センサーのByte順番はKeyence CPUと異なるので、下図のように4 BytesのIOLINKデータをKV8000に分配してください。

Global Variables

W00からCPX-AP-I-EP-M12と繋がってる各モジュールの入出力データをGlobal変数内で定義します。

Program

こちらは自分が作ったサンプルプログラムです。

//Digital Output
AP_EP_M3_DO.0:=AP_EP_M3_DI.0;
AP_EP_M3_DO.1:=AP_EP_M3_DI.1;
AP_EP_M3_DO.2:=AP_EP_M3_DI.2;
AP_EP_M3_DO.3:=AP_EP_M3_DI.3;

//Analog Input

ScalingValue:=(INT_TO_REAL(AP_EP_M4_AI[0])/32000.0)*10.0;

//
PQIs[0]:=AP_EP_M2_PQI & 16#000F;
PQIs[1]:=AP_EP_M2_PQI & 16#00F0;
PQIs[2]:=AP_EP_M2_PQI & 16#0F00;
PQIs[3]:=AP_EP_M2_PQI & 16#F000;

//IO Link Sensor SMART_IDWx_MxxMM_NMS_A0
//Sensor Status
SMART_IDWx_MxxMM_NMS_A0_Status.OSS1:=AP_EP_M2_P0_IN[1].8;
SMART_IDWx_MxxMM_NMS_A0_Status.OSS2:=AP_EP_M2_P0_IN[1].9;
SMART_IDWx_MxxMM_NMS_A0_Status.TSS:=AP_EP_M2_P0_IN[1].10;
SMART_IDWx_MxxMM_NMS_A0_Status.SSC1:=AP_EP_M2_P0_IN[1].11;
SMART_IDWx_MxxMM_NMS_A0_Status.SSC2:=AP_EP_M2_P0_IN[1].12;
SMART_IDWx_MxxMM_NMS_A0_Status.ALR1:=AP_EP_M2_P0_IN[1].13;
SMART_IDWx_MxxMM_NMS_A0_Status.ALR2:=AP_EP_M2_P0_IN[1].14;
SMART_IDWx_MxxMM_NMS_A0_Status.ALR3:=AP_EP_M2_P0_IN[1].15;
//Scaling Value
SMART_IDWx_MxxMM_NMS_A0_ScalingValue:=AP_EP_M2_P0_IN[1] & 16#00FF;
//Measure Value
SMART_IDWx_MxxMM_NMS_A0_MeasureValue:=(INT_TO_REAL(SWAP(AP_EP_M2_P0_IN[0]))/16383.0)*110.0;
//Enable,Disable the Sensor,0=Enable
AP_EP_M2_P0_OUT[0].0:=AP_EP_M3_DI.2;

Result

ProjectをKV8000にDownloadし、Festo CPX-AP-I-EP-M12からデータが取りましたね!

アナログ入力値とContrinex 社のスマートセンサーにもデータ取れました。

IOLINK Sensorの現在値はFestoのIO LINKからみると一致しています。

Scope

最後はFesto IO-LINK Toolに便利な機能を紹介します。それはScope機能です。

Scope tabを開いてください。

右クリック>Configuaritonをクリックします。

Monitorしたい数字をVisableのところにCheckし、Colorなども設定が可能です。

Done!

こちらの動画から実際モジュールの正常状態を確認できます。

https://youtube.com/shorts/LLSHopV3AWI

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

シェアする

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

フォローする