今回の記事ではPhoenix ContactのEthernet Coupler AXL F BK ETH EFを使用し、三菱のFX5UとModbusTCPで接続します。
さ、始めよう。
AXL F BK ETH?
AXL F BK ETHバス・カプラは Modbus/TCP(UDP)ネットワーク内での使用でき、バス・カプラは Axioline F I/O システムとそれに接続された産業用 I/O 信号へのリンクを作成します。そして最大 63 台の Axioline F デバイスをバス・カプラに接続できます。
- イーサネットポート×2(スイッチ内蔵)
- 10 Mbpsおよび100 Mbpsの伝送速度
- IPアドレスの割り当てやその他の機能を設定するためのロータリー・コーディング・スイッチ
- ファームウェアのアップデートが可能
- Axioline F ローカルバスのサイクルタイムは約 10 μs 。
- ウェブベースの管理
Internal Circuit
こちらはAXL F BK ETHの内部図です。
Power Supply
こちらはAXL F BK EIP EFの電源です。
Wiring Exmaple
こちらはAXL F BK EIP EFの配線例です。
Rotary encoding switches
ロータリエンコードスイッチを使用して、アドレス割り当てやその他の機能を設定できます。注意するのは、運転中はスイッチ位置の変更が反映されないため、スイッチ位置の変更後はバスカプラを再起動してください。
Plug and Play mode
AXL F BK EIP EFのPlug and Playスイッチは、バス・カプラの一番上のマーキング・フィールドの下にある。
- スイッチ位置1A:プラグ・アンド・プレイ・モードを有効
- プロセス・データの書き込みは拒否され、読み取りは可能。
- スイッチ位置1B:プラグ・アンド・プレイ・モードを解除
- 接続されたバスのコンフィギュレーションが保存されたコンフィギュレーションと一致する場合のみ、バスは起動します。
Plug and Play modeでは、フィールドで接続されたローカル・バス・モジュールを、上位コンピュータ(エンジニアリング・システム)なしでバス・カプラを使って起動することができます。
リセットボタンには2つの機能がある:
- バスカプラの再起動
- デフォルト設定のリセット
Service Interface
AXL F BK EIP EFのサービス・インターフェイスは、バス・カプラの一番上のマーキング・フィールドの下にある。そのサービスインターフェースを使用して、バスカプラとStartup+ソフトウェアで起動/診断ツールが動作しているPCをUSBで接続できます。
Startup+には以下の機能があります。
- ステーション I/O モジュールのパラメータ設定
- I/Oチェック
- モジュール診断
Modbus protocols and registers
AXL F BK ETHはModbus/TCPサーバとModbus/UDPサーバをサポートしています。
Modbus connections
バスカプラは同時に最大8つのModbus/TCP接続をサポートし、同時に異なるアドレスにアクセスできます。8つのコネクションがサポートされているため、コネクションを素早くリストアすることができます。
Modbus function codes
AXL F BK 以下のファンクションコードがサポートされている:
Mapping
こちらはAXL F BK ETHのMappingです。
Implementation
STARTUP+
Download
Startup+ を使用すると、Axioline F ステーションへの接続をすばやく簡単に確立し、接続されているモジュー ルを構成し、配線をチェック(I/O チェック)できます。
Phoenix ContactのHPからStart+をダウンロードできます(無料)。
https://www.phoenixcontact.com/en-pc/products/software-startup-2700636
また、DMTカタログアップデートFileも含めてDownloadしましょう。
Installation
先ほどDownloadしたSetup Fileを起動し、インストール言語を選択し、OKで進みます。
Nextで進みます。
ライセンスに同意し、Nextで進みます。
Nextで進みます。
インストールを開始します。
少々お待ち下さい…
Done!
Launch Startup+
Startup+を起動しましょう。
User Login画面が表示され、自分は”Use Windows login for this user”を使用すれば、特にUser登録が必要ありません。
Create new Project
Create new projectで新規プロジェクトを作成します。
今回記事で使用するAXL F BK ETHを選ぶ.、Next>で進みます。
今回はAXL F BK ETHのロータリースイッチを00に設定しましたので、IPアドレスを再設定しています。
検索画面で表示されたAXL F BK ETH CouplerにあるIP Address項目をクリックし、IPなどを変更できます。
IP設定完了したら、Sendボタンをクリックし設定をCouplerに転送します。
Done!
Next>で進みます。
次はTopology Scan画面が表示され、AXL F BK EIPにインストールされているモジュールを自動検索します。
Done!
これでプロジェクト作成完了しました。
Finishで完了します。
Done!
DTM-Catalog Update
場合により、DTMをアップデートする必要もあるので、Tools>DTM-Catalog Managementをクリックします。
Search for installed DMTsをクリックします。
いまインストールされているDTMが一覧でき、Allボタンをクリックします。
最後はUpdate Catalog and closeでDTM カタログを更新しましょう。
Configure IOL4
Operation ModeをIO-Linkに変更し、PO IN とPO OUTのBit数を実際に接続されているIO-Linkデバイスに合わせて設定しましょう。
Download
Device>ConnectでツールとAXL F BK EIPを接続します。
Parameter Downloadをクリックし、プロジェクトをAXL F BK EIPにDownloadしましょう。
Some Information About IOL4
下記の例でAXL SE IOL4をINPUT/OUTPUT/IOLINK Portの配線例になります。
Process data
Process dataはBig Endian Formatで、サイクル通信で最大64ByteのProcess dataまでになります。その64Bytesの中に6ByteのIO-LINK Masterデータが含まれ、つまりIO-LINKと最大58 BytesのProcess dataが交換できます。
IN Process Data
こちらは入力のProcess data 64BytesのMappingになります。
Byte0 Status of the IO-Link Connection For each IO-Link Port
このデータは各IO-LINK Portの状態をBitで示します。
True=PortがIO-LINK Modeとして稼働、なおかつIO-LINK Deviceが検知している状態
False=IO-LINK 通信が確立してない
Byte1 Status of the IO-LINK input process data for each port
そのデータは該当するIO-LINK PortとIO-Device間のProcess dataが有効かどうかを確認できます。
True=該当するIO-Link PortのInput Process dataは有効、使用可能です。
False=該当するIO-Link PortのInput Process data無効、使用できません。
Byte2 Status(Level) of the C/Q Cable for each IO-Link Port
そのデータはPortが稼働してるModeは入力かIO-Linkかよって意味が変わります
- DI(入力) True:入力がONしています。(>13V)
- IOL(IO-LINK) True:Portが13V以上ありますが、IO-Linkデバイスと通信確率してない。
Byte3-5 Reserved
そのデータは使用していません。
Byte6-63 Input Process data
これからの58 Bytes各PortのIO-LINK Devieからの入力データです。もし接続先のIO-LINKデデバイスが58Btyesより少ないProecss dataなら、余ってるBytesはすべて00hになる。
Out Process Data
こちらは出力のProcess data 64BytesのMappingになります。
Byte0-1 Reserved
そのデータは使用していません。
Byte2 Set point(level) of the C/Q Cable for each IO−Link Port
該当するPortがDigital出力モードとして稼働すれば、TrueになるとOutput=1になります。
Byte3-5 Reserved
そのデータは使用していません。
Byte6-63 Output Process Data(User data) of IO-Link Ports
これは58 Bytes各PortのIO-LINK Devieからの出力データです。もし接続先のIO-LINKデデバイスが58Btyesより少ないProecss dataなら、余ってるBytesはすべて00hになる。
Web Server
次はAXL F BK ETHのWeb serverをアクセスしましょう。
Modbus Register Overview
ModbusTCP(UDP)>Modbus Register OverviewでCouplerのRegister一覧できます。
Modbus I/O Table
ModbusTCP(UDP)>Modbus I/O Table各Slotにインストールされているモジュールを一覧できます。
Startup Behaviour
Configuration>Startup BehaviourでCouplerを起動する設定を行います。
まずはPlug and Play Modeを無効します。
Process Data WatchdogでWatchdogの時間をアプリケーションに合わせて設定しましょう。
FX5U Side
今度は三菱FX5U側を設定します。
Configure Ethernet Port
FX5UCPU>Module Parameter>Ethernet Portを開きます。
IP Address
Base Settings>IP Address>FX5UのIP アドレスをアプリケーションに合わせてください。
Simple CPU Communication
今回FX5UのCPUでModbus TCP Clientを立ち上げますので、Simplate CPU Communication Settingsを開きます。
そして””To Use or Not to Use Simple CPU Communication”をUseに設定し、Detailed Settingを開き、詳細設定を行います。
Modbus TCP Serverのアクセス設定を行います。
Communication PatternはRead(読み)もしくはWrite(書き込む)を設定してください。
SocureにはアクセスしたいModbus TCP Serverを設定できます。
Device Typeを”MODBUS/TCP-compatible device”に設定しましょう。
次はWord DeviceにFX5Uと紐つけるメモリ番地・Input Register・Output Registerを設定しましょう。
下図では、このように設定しました。
- Modbus TCP Serverに8000から8031までのInput Registerをアクセスに、D5000から32個のWordデータに転送します。
- D5100から32個のWordデータを、Modbus TCP ServerのHolding Register 9000から9031まで書き込みます。
Program
こちらはNass magnet社のIO-Link デバイスを制御する簡単なプログラムです。
X100:=D5000.0; //Status of the IO-Link Connection,port0 X101:=D5000.1; //Status of the IO-Link Connection,port1 X102:=D5000.2; //Status of the IO-Link Connection,port2 X103:=D5000.3; //Status of the IO-Link Connection,port3 X104:=D5000.8; //Status of the IO-LINK input process data,port0 X105:=D5000.9; //Status of the IO-LINK input process data,port1 X106:=D5000.A; //Status of the IO-LINK input process data,port2 X107:=D5000.B; //Status of the IO-LINK input process data,port3 X110:=D5001.0; //Status(Level) of the C/Q Cable,port0 X111:=D5001.1; //Status(Level) of the C/Q Cable,port1 X112:=D5001.2; //Status(Level) of the C/Q Cable,port2 X113:=D5001.3; //Status(Level) of the C/Q Cable,port3 X114:=D5004.8; //Valve State X115:=D5004.9; //Short-Circuit Detection X116:=D5004.A; //Open-Circuit Detection X117:=D5004.B; //Overheat alert X120:=D5004.C; //Overcurrent alert X121:=D5004.D; //Counter1 overun X122:=D5004.E; //Counter2 overrun X123:=D5011.8; X124:=D5011.9; IF SM402 THEN D5051.0:=FALSE; END_IF; D5103.8:=Y100; D5103.9:=D5052.0; D5103.A:=D5052.1; D5103.B:=D5052.2; D5103.C:=D5052.3; D5103.D:=D5052.4; D5103.E:=D5052.5; D5103.F:=D5052.6; |
Download
プロジェクトをCPU にDownloadします。
Result
AXL F BK ETH CouplerとFX5U間のModbus TCP通信確認を確認するため、Diagnostics>Simple CPU Communication Diagnosticsを開きます。
Done!先ほど設定した2つのConnectionにも通信エラーはないです。
AXL F BK ETH Couplerからの信号も受信できました。
こちらの動画から動作確認をできます。