今回の記事では、三菱電機のPLCとRJ51AW12AL(MELSEC)、Anywire省配線システムを使用して、リモートI/O接続を実践します。基本的なデジタル入力の取得から、ハードウェア設定、プログラムまで、ゼロから構築していきます。
産業用省配線システムを導入する上で、リモートモジュールのアドレス設定と自動検出機能を理解することは非常に重要です。
本記事では以下のデバイスを使用しています。
- BL296PB-16F-V50
- BL296PB-08F-4-20
さ、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
技術はひとりじゃもったいない。
AnyWireとは
AnyWire(エニーワイヤ)は、工場やプラントなどの産業設備における配線を劇的に簡素化する省配線システムです。従来は各センサやアクチュエータを個別に配線する必要がありましたが、AnyWireを使用することで、複数のI/O機器を1本のケーブルで接続できるようになります。

主な特徴
AnyWireASLINKは、高速かつ高信頼性のシステムであり、作業現場を複雑で誤った配線から解放します。

フリーケーブル対応
- 対地電圧や配線順序を気にせず接続可能
- 配線作業が大幅に簡素化
- 配線ミスのリスクが低減
柔軟な設定機能
- 様々なI/O構成に対応
- システムに応じた柔軟な設定が可能
独自のデータリンク
- 専用プロトコルによる安定した通信
- 高速・高信頼性の伝送
高速ワイヤ樹状構造
- ツリー型トポロジに対応
- 高速データ転送が可能
構成
AnyWireASLINKは、省電流化にこだわって1端末で4種までのリモートユニットを選択いただけます。2端式と4端式があり、ローカル給電を入れることで4種までの混在が可能になります。
2つの構成タイプ
■ 2端式タイプ
省電流量が少ない場合、非絶縁タイプの2端式リモートユニットを使用することで、ローカル給電不要で簡便な配線が可能。
■ 4端式タイプ
絶縁タイプの4端式リモートユニットを使用することで、ローカル給電が可能となり、省電流が多い場合に対応可能。
各構成の詳細
【2端式タイプでの構成(ローカル給電なし)】
構成要素:
- 専用プラグ(ケーブル出線)
- DC24V電源
- ASLINKERケーブルタイプ)
- ASLINKER(3端子タイプ)
- 2端式(非絶縁)ユニット × 複数
- ASLINKAMP(アンプ内蔵型現場端末ユニット)
- ASLINKSENSORセンサヘッド(センサ・フォトインタラプタ)
- 4Pリンクコネクタ
【2端式/4端式タイプ混在での構成(ローカル給電あり)】
構成要素:
- 専用プラグ(ケーブル4極)
- DC24V電源 × 複数(ローカル電源含む)
- ASLINKER(ケーブルタイプ)
- ASLINKAMP複数種類
- ASLINKER(ケーブルタイプ)
- 2端式(非絶縁)および4端式(絶縁)の混在
-
ASLINKTERMINAL
- 小型化コネクタ
- 振動ケーブル
- 接続ケーブル(他のこだわり)
- アドレスライタ
- データケーブル(DB25タイプ用)
AnyWireの配線で必要なのは:
- マスタユニット × 1
- スレーブユニット × 必要数
- 通信ケーブル(フリーケーブル対応)
- 電源(24VDC)
- センサ・アクチュエータ
リモートモジュールアドレス設定
データ通信用に割り当てられたアドレスの開始番号の設定がリモートモジュールに必要です。
- アドレスは、アドレスライタ(Anywire Corporation製)を使用して赤外線通信でリモートモジュールに書き込むことができます
- または、リモートモジュールに割り当てられたアドレスを読み取ることができます

RJ51AW12AL
AnyWireASLINKでは、RJ51AW12ALはリモートモジュールのID(アドレス)を使用してリモートモジュールと通信します。

AnyWireASLinkリモートモジュールへの電源供給
24VDC外部電源をRJ51AW12ALに接続します。
- 内部制御電源:内部制御ユニットと絶縁リモートモジュールで消費される電源
- 外部負荷電源:非絶縁リモートモジュールに接続された外部負荷電源

起動シーケンス
こちらがRJ51AW12ALの起動シーケンスです。

1.SETスイッチ
- システム起動時に1秒以上押し続ける
- これによりCPUモジュールまたは電源がリセットされる

2.AnyWireASLINK送信開始時
- AnyWireASLINKバージョン互換性検査実行中(XD)がOFF→ON
- パラメータアクセス実行中FLAG追加がON→OFF

3.AnyWireASLINKバージョン互換性検査
- AnyWireASLINKバージョンがスタートします。
- 最初は送信停止状態
- バージョン互換性検査が完了後、送信開始(Transmitting)

4.AnyWireASLINKバージョン互換性検査実行中フラグ (XD)
- 送信開始直後にONになる
- バージョン互換性検査が実行される
- 検査完了後、OFFになる
- スイッチまたはコマンドのオン/オフ状態による操作は影響を受けません。

5.パラメータアクセス完了フラグ (X11)
- 送信開始時は一度ONになる
- その後OFFになり、パラメータアクセスが進行
- パラメータアクセスが完了すると再びONになる

6.LINK LED
- バージョン互換性検査中はOff
- 通信確立後、点滅(Flashing)状態になる
- 正常通信時は点滅を継続

7.ALM LED
- 正常時はOff
- エラー発生時のみ点灯(エラー完了時のみON)

自動アドレス検出機能
自動アドレス検出は、接続されたリモートモジュールのID(アドレス)をRJ51AW12ALのEEPROMに保存する機能を指します。
RJ51AW12ALのSETスイッチを押すと、この機能が有効になり、RJ51AW12ALが接続されたリモートモジュールのID(アドレス)を検出して保存できるようになります。
EEPROMに保存されたID(アドレス)情報は、電源がオフになっても保持されます。ただし、未使用IDに関する情報、各リモートモジュールの同一ID、パラメータ情報は保持されません。
システムを起動する時、またはシステム構成を変更する時は、すべてのリモートモジュールに正しいアドレスを設定し、自動アドレス検出を実行してください。
自動アドレス検出の実行
自動アドレス検出を実行するには、SETスイッチまたは「自動アドレス検出コマンド」(Y1)を使用します。
SETスイッチを使用する場合
1. すべてのリモートモジュールが正常に動作していることを確認します。
2. RJ51AW12ALのSETスイッチを、SET LEDが点灯するまで押し続けます。 この時、「自動アドレス検出フラグ」(X14)が点灯します。
3. SET LEDがしばらく点滅してから消灯すると、ID(アドレス)が保存されています。
4. 「自動アドレス検出フラグ」(X14)が消灯すると、自動アドレス検出が完了します。

自動アドレス検出コマンド(Y1)を使用する場合
1. すべてのリモートモジュールが正常に動作していることを確認します。
2. 「自動アドレス検出コマンド」(Y1)をオンにします。 この時、「自動アドレス検出フラグ」(X14)が点灯します。
3. SET LEDがしばらく点滅してから消灯すると、ID(アドレス)が保存されています。
4. 「自動アドレス検出フラグ」(X14)が消灯すると、自動アドレス検出が完了します。
自動アドレス検出実行タイミング
以下は、自動アドレス検出の実行タイミングを示しています。


自動アドレス検出コマンド(Y1) の起動(またはSETスイッチの長押し)
OFFからONに切り替わると自動アドレス検出が開始されます。

自動アドレス検出フラグ(X14)
- コマンド(Y1)がONになると自動的にONになります
- 自動アドレス検出が実行中であることを示します
- 検出完了後、自動的にOFFになります

SET LED
- 検出開始時に自動的に点灯
- ID検索中は点灯状態を維持
- その後、LED点滅状態になり、アドレスが書き込まれます
-
この間、重複検査とパラメータ読み取りが実行されます
(オーバーラップ検査+パラメータ読み取り) - 完了後、自動的に消灯します

重複アドレス検査フラグ(X15)
- ID検索後、自動的にONになります
- 処理中を示します
- 検査完了後、自動的にOFFになります

パラメータアクセス完了フラグ(X11)
- 通常はON状態
- 自動アドレス検出中は一時的にOFFになります
-
バッチ読取り実行後、自動的に再度ONになります
(バッチ読み込み/自動実行)

パラメータアクセスエラー(X12)
- 通常はOFF
- パラメータアクセスエラーが発生した場合にONになります

モジュールラベル
次は今回記事で使用するモジュールを説明します。
Module READY: X0
CPUモジュールがリセットされたとき、または電源が投入されたとき、この信号はRJ51AW12ALが完全に処理準備完了になるとすぐにオンになります。
DP/DN短絡エラー: X1
この信号は、伝送ケーブル(DP、DN)で短絡が発生した場合、または最大供給電流を超えた場合にオンになります。
解除方法
伝送ケーブル(DP、DN)の短絡を除去するか、電流を仕様範囲内に調整した後、以下のいずれかの操作を実行してください。それまでは、「DP/DN短絡エラー」(X1)はオンのままです。
- CPUモジュールをリセットするか、システムの電源をオフにしてからオンにします。
- エラーフラグクリアコマンド(Y0)をオンおよびオフにします。
24V/DP短絡エラー: X2
この信号は、伝送ケーブル(24V、DP)のいずれかが短絡した場合にオンになります。
解除方法
伝送ケーブル(24V、DP)の短絡を除去した後、以下のいずれかの操作を実行してください。それまでは、「24V/DP短絡エラー」(X2)はオンのままです。
- CPUモジュールをリセットするか、システムの電源をオフにしてからオンにします。
- 「エラーフラグクリアコマンド」(Y0)をオンおよびオフにします。
BL296PB-16F-V50
エニイワイヤ PLC(省配線専用ユニット)ASLINKTERMINAL 小型端子台ターミナルで、16出力を持っています。

BL296PB-08F-4-20
エニイワイヤ PLC(省配線専用ユニット)ASLINKTERMINAL スレーブ 一体型小型ターミナルで、8出力持つE-CONタイプです。

Implementation
それでは実際にAnyWireネットワークを構築し、プログラムを作成しましょう。
アドレス書き込む
アドレスの読み書き操作は同じなので、ここでAnyWire Slaveのアドレス書き込みのみ説明していきます。下図はAnyWire社のアドレスの読み書き機です。

今回は書き込みなので、L/RでWRITEを選択し、Selectボタンを押します。

次はアドレスをUP/DNで変更します。

最後は真ん中のボタンを押して実行します。

こちらの動画でアドレスの書き込み動作を確認できます。
https://youtube.com/shorts/qZiV1ik9KB8
最後は三菱モジュールのRJ51AW12AL本体にあるSETボタンを長押しします。

RJ51AW12AL本体にあるSET LEDが点灯になります。

GXWORKS 側
次は三菱のGXWORKS3プロジェクトを構築します。

モジュール設定
Module Configurationから今回記事で使用するRJ51AW12ALを追加します。

モジュールラベルを追加
次はGXWORKS3右側にあるElement Selection画面→Module→Module Label→先程追加したRJ51AW12ALを右クリック→Add module Labelします。

Done!Global LabelにはM+Globalが追加されました。

ラベルリストには今回記事使用するRJ51AW12ALのモジュールラベルが宣言されました。

設定
次はAnyWireネットワークの設定を行うために、AnyWireASLINK Configurationをクリックします。

こちらはAnyWireネットワークの設定画面です。

Detect NowでAnyWireネットワークにあるノードを検知します。

Yesで進みます。

Done!今回記事で使用するAnyWire Slaveを検知できました。もしProfileがないデバイスが検知されたら自動的にInput/Output点数に合わせてGeneralデバイスを生成しますので、心配はいりません。

次はAnyWireASLINK Configuration→Close with Saving the Settingでネットワーク設定を保存しましょう。

データマッピング
今度はData Mappingを行うために、Module Parameterをクリックします。

Reflesh Settingを開きます。こちらは各OuputのアドレスのスタートOFFSETを設定します。このOutputアドレスは最初にアドレ書き込み機に書き込んでだAddrに合わせます。
- Addr=0️に設定したらOutput0-15になります。
- Addr=16に設定したらOutput16-31になります。
- 注意するのはAdd=1に設定したらOutput1-16にズレることです。

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

Rung1-2
このラダープログラムは、AnyWireASLINKシステムの安全監視回路として機能します。すべての通信エラーと断線エラーをチェックし、システムが正常な場合のみ出力を許可する構成になっています。

Rung3-6
このラダープログラムは、システムが正常な場合はSlave1・2の出力状態によって16BITの出力点をリセットします。

Rung7-10
このラダープログラムは、シフトレジスタ(SHL_E)命令を使用した回路です。
SM410のON/OFF繰り返しによって、K4Y1000の現在値を一つずつ右へシフトします。

Rung7-10
このラダープログラムは、シフトレジスタ(SHL_E)命令を使用した回路です。
SM410のON/OFF繰り返しによって、K4Y1010の現在値を一つずつ右へシフトします。

結果
Done!RJ51AW12ALにはなにもエラーがありません。

こちらは実際の動作を確認できます。