OMRON CP2E-Nに公式のFBを導入してModbus/TCP Serverとして動作させ、OMRON NJ501CPUと接続します。
NJのModbus/TCP用ライブラリ及びサンプルプログラムはOMRON EuropeのHPからダウンロードします。
1 構成

2 OMRON CP2E-Nの設定
OMRONの下記リンク先からFBをダウンロードします。
https://www.fa.omron.co.jp/product/tool/cp2e/cp_fb/index.html

ダウンロードしたZipを解凍し、フォルダ「Programming Examples」の中のプログラムをCX-Programmerで開きます。

オンライン接続してCP2E-Nに書き込み、電源再投入します。

オンライン接続して動作モードをモニタモードに変更し、“W0.00”の値を“1”に設定します。

3 OMRON NJの設定
下記リンク先から“MTCP_Client_NJ.zip”をダウンロードします。
https://www.myomron.com/index.php?article=1245&action=kb
解凍したフォルダ内のプロジェクトを開きます。

FB“Client_Connect”の“IPaddress”をCP2E-NのIPアドレス“192.168.250.10”に修正します。

オンライン接続して同期しパソコンからコントローラに転送して運転モードにします。(手順略)
4 動作確認
4.1 接続
“Start_Client”を“TRUE”、“Cmd_Connect”を“TRUE”にするとCP2E-Nと接続します。
(“Enable”はFB内で未使用なので“Start_Client”が“FALSE”でも接続できます)

4.2 Function Code:03 hex(Read holding register)
CX-Programmerで“D100”に“1”、“D101”に“2”を設定しておきます。(手順略)
“Address”に“64”(10進数“100”)、“Qty”に“2”を設定し、“Cmd_ReadReg”をTRUEにします。
CP2E-Nの“D100”の値が“Reg[0]”に、“D101”の値が“Reg[1]”に格納されます。

4.3 Function Code:10 hex(Write multiple register)
ウォッチウィンドウで“RegValues[0]”に16進数“A”、“RegValues[1]”に16進数“B”を設定します。
“Address”に“66”(10進数“102”)、“Qty”に“2”を設定し、“Cmd_WriteRegs”をTRUEにします。

CX-Programmerのウォッチウィンドウで“D102”及び“D103”の値を確認するとNJで設定した値が格納されています。

5 参考文献
OMRON:https://www.fa.omron.co.jp/product/tool/cp2e/cp_fb/index.html
OMRON:https://www.myomron.com/index.php?article=1245&action=kb
以上。