今回の記事ではB2G78-EC1のAnywire EthernetCAT Gatewayを使用し、EtherCATネットワーク経由でオムロンのNX1 PLCとデータ交換します。
さ、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
http://soup01.com/ja/category/beckhoff/twincat3/tfxxx/tf6281/
http://soup01.com/ja/category/protocol/anywire/
B2G78-EC1?
B2G78-EC1はEtherCATとAnyWireASLINK のゲートウェイユニットで、 AnyWireASLINK システムが接続できます。

コネクタ端子台
DC24V 電源、AnyWireASLINK 伝送線(DP,DN)を接続するコネクタ端子台です。
端子配置を以下に示します。

システム構成
AnyWireASLINK は、ゲートウェイ、リモートユニット、その周辺機器で構成されます。

リモートユニットの種類
リモートユニットには次の種類があります。

接続台数
AnyWireASLINK システム 1 ラインに接続できるリモートユニットは最大 128 台です。
接続形態
AnyWireASLINK システムは T 分岐、マルチドロップ、ツリー分岐、スター分岐など、さまざまな接続が可能です。

Implementation
B2G78-EC1側
最初にB2G78-EC1側を設定します。

ESI Fileダウンロード
最初に下記のLinkからESI Fileをダウンロードしてください。
https://www.anywire.jp/products/anywireaslink/products/master03.php

Firmware確認
次はB2G78-EC1本体のFirmwareを確認しましょう。それにより使用するESI FILEが異なります。C19HBC←C=Firwmare Cになります。

DIPスイッチ設定
B2G78-EC1本体のDIPスイッチの設定により、EtherCAT経由で交換できるデータ数が変わり、またFirmwareによってDIPスイッチの意味もことなります(先程に描きましたが、今回の記事ではFirmware Cを使用します。)。

また、今回記事で節約モードを使用しますので、DIPスイッチのMODE4をONしてください。

また、今回

SET
次はSETボタンを追加します。SETボタンを押すと下記の機能をもっています。
異常フラグの解除
SETスイッチを押すことで、異常フラグが解除されます。
本機能は、コマンド入力による異常フラグクリアと同じ動作です。
アドレス自動認識
SETスイッチを2秒以上押し続けると、SET LEDが点灯し、アドレス自動認識を開始します。
電源入れ直し
最後にGatewaysの電源を入れ直してください。
OMRON Side
次はオムロン側を設定します。

EtherCAT ネットワーク構築
次はSysmac StudioからEtherCATネットワークを構築します。
Configurations and Setup→EtherCATをクリックします。

ESI ファイルインストール
最初はESI FileをImportするため、Master→右クリック→Display ESI Libraryをクリックします。

Install(Folder)をクリックします。

今回記事では節約モードを使用します。

YesでESI FILEをインストールしましょう。

Done!

B2G78-EC1追加
次はToolbox→Gatways→先程ESIインストールしたB2G78-EC1を選び、右クリック→Insertします。

Done!B2G78-EC1が追加されました。

Function- fcBoolArray16Bools
こちらのFunctionをBool配列を16個のBool変数に分解するプログラムです。

fcBoolArray16Bools:=FALSE;
|
|---|
User data Types
こちらはワードからBoo配列に分配するデータタイプになります。

Mapping
次はEtherCATの変数をMappingします。I/O Mapを開きます。

次はMappingしたい変数を複数に選択→右クリック→Create Device Variable with Prefixをクリックします。

変数の自動宣言の前定義を入力し→OKで進みます。例えば下記にE001_を入力したら、これから定義された変数がすべてE001_から始めます。

Done!同じ操作で必要な変数を定義しましょう。

プログラム
今度はプログラムを作成します。

p001Communication
こちらはEtherCATの通信エラーがあるかをチェックするプログラムです。

p010Operation
こちらは0.5s ON/OFFの回路になります。

p020Station0OutputsSHL
こちらは0.5sごとにワード変数のBitを1つずつ左にソフトし、その結果を先程作成した関数に分解し、B2G78-EC1の Gatwayと接続してるAnywire Stationに出力します。

p021Station0OutputsSHL
こちらは0.5sごとにワード変数のBitを1つずつ左にソフトし、その結果を先程作成した関数に分解し、B2G78-EC1の Gatwayと接続してるAnywire Stationに出力します。

p030SensorStatus
最後はB2G78-EC1の Gatwayと接続してるAnywire 光電センサーの検出値を受信します。

ダウンロード
プログラムをNX CPUにダウンロードしてきましょう。
スレーブアドレスを書き込み
最後はSysmac StudioからEtherCATスレーブのアドレスを書き込みます。EtherCAT→Master→Write Slave Node Addressします。

B2G78-EC1を選び→Writeします。

Writeで進みます。

Done!

Result
最後はEtherCATの通信を見てみましょう。
EtherCAT→Master→Display Diagnosis/Statistics Informationをクリックします。

Done!OMRON NX1とB2G78-EC1とEtherCAT通信が成立しています。

Anywire光電センサーの検出値にも受け取りました。

またAnywireのリモート出力を1ずつソフトONになります。
