今回の記事ではAdvantech AMAX-7580 100D5AのCodesys RuntimeとPhoenix ContactのAXL E PN IOL4/0 DIO8 M12 6M-LをProfinetで接続する手順を説明します。また、こちらは今回使用するIO-LINKデバイスになります:
- AXL E IOL DIO8 M12 3M
- PSD-SC IOL S15 AE
さ、FAを楽しもう!

前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Paypal
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Reference Link
Implementation
GSDMLファイルをダウンロード
下記のLINKからAXL E PN IOL4/0 DIO8 M12 6M-LのGDSML FILEをDownloadします。

ライセンスに同意し、Downloadクリックします。

Advantech 側
次はAdvantechのAMAX IPC側を構築します。

Create Project



GSDMLのインストール
Tools→Devices Repositoryをクリックします。

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

今回記事で使用するAXL E PN IOL4/0 DIO8 M12 6M-LのGSDML FILEをインストールしましょう。

Done!

イーサネットドライバ追加
今度はEthernet Driverを追加するために、Device→Add Deviceします。

Ethernetを選択します。

イーサネット設定
先のステップで追加されたEthernet Driverをクリックし、General→Network Interfaceの隣にあるBrowseボタンをクリックします。

Profinet IO Controllerとして使用するEthernetインタフェースを選択しましょう。

Done!

Profinet IO コントローラー追加
今度はEthenret Driver右クリック→Add Deviceします。そしてPROFINET→PROFINET Controller→PN-Controllerをクリックします。

Done!Profinet IO Controllerが追加されました。

Slave IP範囲・デバイス名設定
先程追加したProfient IO Controllerをクリックし、Station NameとスレーブIPアドレス範囲を設定しましょう。

Done!

IO-LINKマスター追加
Profinet IO Controllerを右クリック→Add Deviceで今度は記事で使用するPhoenix Contact製のIO-LinkマスターAXL E PN IOL4/0 DIO8 M12 6M-Lを追加します。

Done!

スロット更新
Default上ではすべてのSlotにもデジタル入力として設定されております。Slotを右クリック→Update Deviceします。

今回の記事ではIO-Link 4/4 Byte IN/OUTを使用します。

Done!

他のスロットも同じ操作にしましょう。また、Port4ではPhoenix Contact製のAXL E IOL DIO8 M12 3M と接続していますので、Phoenix Contact IO-Link devices→Digital Input/Output→AXL E IOL DIO8 M12 3M を設定しましょう。

Done!

IP・デバイス名設定
今度はIO-LinkマスターAXL E PN IOL4/0 DIO8 M12 6M-LのIPアドレス・デバイス名を設定します。

下図の赤枠にStation NameとIP Parametersを設定すればOKです。

タスク追加
新しい実行タスクを追加します。

Intervalの欄に実行サイクルタイムを設定し、POUで先程作成したプログラムを追加しましょう。

GVL
IO-Linkポートへの出力データを格納するグローバル変数を定義します。
{attribute ‘qualified_only’}
|
|---|
プログラム
このプログラムは、IO-Linkの2つのポートに対して「流れるLED」のような動作を同時に行います。
まず、ポート4の出力値が0かどうかを確認します。0であれば、ポート4とポート2の両方に初期値として1をセットします。0でなければ、両方の値を左に1ビットシフトします。
これにより、ビットが1→2→4→8→16→32→64→128と順番に移動していきます。128の次にシフトすると値が0になるため、再び1に戻ってループが繰り返されます。
IF gIOs.arrIOLINKPort4_OUT[0] = 0 THEN
|
|---|
マッピング
最後はMappingですね。

こちらはSlot2とGlobal Variables List間のMappingです。

こちらはSlot4とGlobal Variables List間のMappingです。

ダウンロード
プロジェクトをCodesys RuntimeにDownloadしてきましょう。
結果
下図のようにAdvantech AMAX-7580 100D5AのCodesys RuntimeがPhoenix ContactのPhoenix ContactのAXL E PN IOL4/0 DIO8 M12 6M-Lと正常に接続しています。
