2026/05/31

CIP通信の説明はCIPメッセージ通信 UCMMを参照してください


CIPオブジェクトの説明は以下を参照してください
OMRON : NJ/NX 内臓EtherNet/IPポート宛てCIPオブジェクト
KEYENCE : CipObject (KEYENCE KV Series)

概略

CipMes は、ODVA EtherNet/IP / CIP 通信を解析・試験するための Windows Forms ベースのツールです。
動作確認環境: Win11
フレームワーク: .NET 10.0

主な用途:

  • EtherNet/IP 通信解析
  • CIP Object テスト
  • Tag Read / Write
  • UCMM / Class3 Messaging
  • KEYENCE / OMRON PLC 動作確認
  • パケットダンプ解析

操作画面

CipMes画面

システム構成

システム構成

主な機能

1. EtherNet/IP 接続

TCP/44818 に接続し、RegisterSession を実行します。

  • Session Handle 管理
  • TCP Receive Loop
  • Keep Alive

2. UCMM 通信

Unconnected Message Manager を利用した非接続型 CIP 通信。

3. Class3 Messaging

Connected Messaging に対応しています。

  • Forward Open
  • Connection ID 管理
  • Sequence Count 管理
  • SendUnitData
  • Forward Close

4. Tag Read / Write

Symbolic Segment を利用した Tag Access を実装。

5. 通信ライブラリ設計

非同期通信

  • async/await ベース
  • TaskCompletionSource 使用
  • 受信ループ常駐
  • ConfigureAwait(false)

排他制御

  • _requestLock
  • _sendLock

Request同期と Socket送信同期を分離しています。

6. ログ機能

Line Monitor

	[12:00:00.000] → SEND 6F-00-...

HEX Dump

	→ SEND
	65 00 04 00 00 00 00 00 00 00  : e.........
	00 00 00 00 00 00 00 00 00 00  : ..........
	00 00 00 00 01 00 00 00        : ........
	

Log File

cip_log.txt

特徴

  • UCMM / Class3 両対応
  • KEYENCE / OMRON 差異対応
  • EtherNet/IP パケット解析可能
  • ODVA デバッグ用途に強い
  • 非同期設計

使い方

接続

接続は接続先IPアドレスを入力してUCMMまたはClass3を選択して[Connect]ボタンを押します

一般

CIPオブジェクト個別指定

サービスコード=01Hex(Get_Attribute_All)、クラスID=01Hex(Identityオブジェクト)、インスタンスID=01Hex(インスタンス単位)を読み出す例です

  1. サービスコード、クラスID、インスタンスID、アトリビュートIDを入力します
    サービスコードは必須です
  2. サービスデータがある場合は1バイトづつハイフォン(-)で区切って入力します(リトルエンディアン)
  3. [Send]ボタンを押すと送信し、受信データがあればResponseにデータを表示します
    Responseの表示はバイト単位でリトルエンディアンで表示します
  4. 送受信ログDUMPは右側に、メッセージログは下段に表示します

一般選択時の画面

CIPオブジェクトはマニュアルを参照してください

  • KEYENCE : EtherNet/IP機能 ユーザーズマニュアル 4-5 メッセージ通信(サーバ)機能
  • OMRON : NJ/NXシリーズ CPUユニット内容 EtherNet/IPポート ユーザーズマニュアル 7-5 CIPオブジェクトサービス

KEYENCE

65 : PLCオブジェクト

PLCオブジェクト ClassID=65
機種読み出しCPUユニットの型式を読み出し
動作モード読み出しCPUユニットの動作モードを読み出し
エラー番号読み出しCPUユニットで発生しているエラー番号を読み出し
動作モード変更CPUユニットの動作モード(RUN/PROG)を切り換え
エラークリアCPUユニットで発生しているエラーをクリア
データ処理指定した個数のデバイスのデータを連続で読み出し/書き込み
拡張ユニットバッファメモリ指定した個数の拡張ユニットバッファメモリのデータを連続で読み出し/書き込み

機種読み出し

機種コード
Code機種
39KV-8000
3AKV-8000A
36KV-7300
37KV-7500
33KV-3000
34KV-5000
35KV-5500
80KV-KC32
84KV-N60__
85KV-N40__
86KV-N24__

運転モード読み出し

00PROGRAM
01RUN

データ処理、拡張ユニットバッファメモリ

読み出しデータはバイト列で表示します

WriteDataはバイト列で書き込みます

01 : Identityオブジェクト

Identityオブジェクト ClassID=01
表示内容
オブジェクトのリビジョン0001
最大のインスタンス番号0001
インスタンス数0001
クラスのアトリビュートID最大数0007
インスタンスアトリビュートID最大値0007
ベンダー識別番号016F
デバイスタイプ000C
製品の識別コード下記参照
Identityのリビジョンメジャーリビジョン = 01
マイナーリビジョン = 01
Ethernet/IPユニットのステータス資料1
シリアル番号
製品名
製品の識別コード
Code機種
006CKV-8000
006BKV-7500
0064KV-5500
0065KV-EP21V
0069KV-NC1EP
資料1 Ethernet/IPのステータス
bit名称
0Owned
1予約
2Configured
3予約
4-7Extended Device Status0101MajorFault状態
0010EtherNet/IPユニットがターゲットとなっているコネクションが1つ以上タイムアウトしている状態
0011コネクションがない状態
0110RUN状態を受信しているコネクションが1つ以上ある状態
0111上記以外
8Minor Recoverable Fault常にOFF
9Minor Unrecoverable Fault常にOFF
10Major Recoverable Fault回復可能なユニットエラーが発生するとON
11Major Unrecoverable Fault回復不可能なユニットエラーが発生するとON
12-15予約

02 : MessageRouterオブジェクト

MessageRouterオブジェクト ClassID=02
表示内容
オブジェクトのリビジョン0001
最大のインスタンス番号0001
インスタンス数0001
クラスのアトリビュートID最大数0007
インスタンスアトリビュートID最大値0002
オブジェクトのリストクラス数、クラスIDのリスト
コネクション最大数0100Hex

04 : Assemblyオブジェクト

Assemblyオブジェクト ClassID=04
表示内容
オブジェクトのリビジョン0002
データ読出インスタンスに割り付けられたデータ
サイズ読出インスタンスに割り付けられたバイト数

F5 : TCP/IP Interfaceオブジェクト

TCP/IP Interfaceオブジェクト Class=F5
表示内容
オブジェクトのリビジョン
最大のインスタンス番号0001
インスタンス数0001
インターフェースステータス資料1
インターフェース能力フラグ資料2
初期設定取得方法資料3
物理層リンクオブジェクトへのパスサイズ=2 パス=20F62401
TCP/IPインターフェース設定IP Address等
ホスト名称
マルチキャスト用TTL値
マルチキャストアドレス設定指定方法 0:自動割付、1:ユーザ指定
予約
アドレスの数
開始アドレス
Encapsulation相のタイム時間120
資料1 インターフェースステータス
bit名称
0-3Interface Configuration Status0:IPアドレスが未設定
1:Pアドレスが設定されている
2以上:EtherNet/IPユニットでは返信されません
4Mcast Pending“TTL Value” or “Mcast Config”がセットされたら1
5-31予約
資料2 能力フラグ
bit名称
0BOOTP Client1
1MDNS Client1
2DHCP Client0
3DHCP-DNS Update0
4Configuration Settable1
5-31予約0
資料3 初期設定取得方法
bit名称
0-3Startup Configuration0:固定IPアドレス
1:BOOTP
2-15:設定不可
4DNS Enable1
5-31予約0

F6 : Ethernet Linkオブジェクト

Ethernet Linkオブジェクト ClassID=F6
表示内容
オブジェクトのリビジョン
最大のインスタンス番号0001
インスタンス数0001
インターフェース通信速度通信速度10,100
インターフェースステータス資料1
MACアドレス
インターフェースカウンタ
メディアカウンタ
物理インターフェース設定
物理インターフェース種類2
インターフェースラベル
インターフェース能力
資料1 ステータス
bit名称
0Link Status0:非アクティブリンク 1:アクティブリンク
1Half/FullDuplex0:半二重 1:前二重
2-4Negotiation Status0:オートネゴシエーション実行中
1:オートネゴシエーションとスピード検出に失敗
2:オートネゴシエーション失敗でスピード検出は成功
3:スピードと2重モードのネゴシエーションに成功
4:オートネゴシエーションを試みてない
5DNS Enable0:変更の反映を自動的に実行可能
1:変更の反映には、Resetサービスが必要(固定)
6DNS Enable0固定
7-31予約0

Tag指定サービス

Tag指定サービス

読み出しデータはバイト列で表示します

WriteDataはバイト列で書き込みます

OMRON

01 : Identityオブジェクト

CPUユニットの識別情報の読み出しなどを行うオブジェクトです

Identityオブジェクト ClassID=01
表示内容
VenderID002F
DeviceType000C
ProductCode
RevisionMajor , Minor
Status資料1
SerialNo
ProductName
資料1 Status
bit名称
0Ownedタグデータリンクのターゲットとしてコネクションを開設
1予約0
2Configuredタグデータリンク設定あり
3予約0
4-7Extended Device Status(b7)0101(b4)Major Fault 発生中
(b7)0010(b4)ターゲットとなっているコネクションの1 つ以上タイムアウトが発生している
(b7)0011(b4)タグデータリンク設定がない
(b7)0110(b4)1 つ以上のコネクションが正常に通信を行っている状態
(b7)0111(b4)上記以外
8Minor Recoverable Fault
9Minor Unrecoverable Fault
10DNS Enable
11DNS Enable
12-15予約0

74 : NX Configurationオブジェクト

NXオブジェクトの読み出しおよび書き込みなどを行うオブジェクトです
NXユニット番号を指定して読み出します

NX Configratuinオブジェクト class=74
NXユニットの指定
UnitNoユニット番号
NXユニット: 0001 - 003F
IndexNXオブジェクトのインデックス
SubIndexNXオブジェクトのサブインデックス
表示内容
Read NX ObjectNX オブジェクトを読み出し
Write NX ObjectNX オブジェクトに書き込み
RestartNX ユニットをリスタート
Save parameterNX ユニットのパラメータを保存
Switch parameter write modeNX ユニットのパラメータ書き込みモードを切り換え
Read total power on timeNX ユニットの累積通電時間
Get current error発生中異常を取得
Get event logイベントログを取得
Clear event logイベントログを消去
Initialize unit operation parameterNX ユニットのユニット動作設定(NX オブジェクト)を初期化
Get current user errorユーザ異常を取得

F5 : TCP/IP Interfaceオブジェクト

IP アドレスやサブネットマスク、デフォルトゲートウェイなどの設定を書込み/読出しを行うオブジェクトです

TCP/IP Interfaceオブジェクト Class=F5
表示内容
Revision0001:Ver1.01
0002:Ver1.02
0003:Ver1.10
0004:Ver.1.11
Max instance0001
Number of instance0001
Interface configuration statusbit0-3: 0=IPアドレス未設定 1=IPアドレス設定済み
bit4-5: 予約
bit6: 0=IPアドレス衝突未検知 1:IPアドレス衝突検知
7-31: 予約
Configuration capabilitybit0: 1
bit1: 1
bit2: DHCP Client対応
bit3: 0
bit4: 1
bit5: 0
bit6: 0
bit7: 1
bit8-31: 0
Configuration controlbit0-3: 0=固定IP 1=BOOTP 2=DHCP
bit4: 0=DNS無効 1=DNS有効
5-31: 0
Physical link objectPath size = 0002
Path = 20F62401
Interface configurationインターフェースの設定
Host nameホスト名称

F6 : Ethernet Linkオブジェクト

Ethernet 通信の設定・読出し、Ethernet 通信のスターテスを読み出すオブジェクトです

Ethernet Linkオブジェクト ClassID=F6
表示内容
Revision0002:Ver1.11以前
0004:Ver.1.12以降
Max instance0001
Number of instance0001
Interface Speedインタフェースの通信速度
Interface Flagsインターフェースステータス
Physical AddressMACアドレス
Interface Counters送受信したパケット数
Media Counters通信ポートのメディアカウンタ
Interface Controlインタフェースの制御設定
HC Interface counters大容量通信インターフェース上でのパケット受信カウンタ
HC Media Counters通信ポートの大容量メディアカウンタ

C4 : PLCオブジェクト

Ethernet 通信の設定・読出し、Ethernet 通信のスターテスを読み出すオブジェクトです

PLCオブジェクト ClassID=C4
表示内容
Revision0002
Max instance0001
PLC Mode動作モードの読み出し 0001:プログラムモード 0004:運転モード
PLC Error Status異常発生 0000:異常なし 0001:異常発生
PLC Modelコントローラ型式

変数読み出し書き込みサービス

変数の値を読み出し/書き込みをします

変数読み出し書き込みサービス

読み出し

変数名に読み出す変数名を入力して[Read]ボタンを押します

書き込むときのデータ型と値

値の書き方は、読み出したときの値のフォーマットと同じように書き込みます(ARRAYを除く)
データ型
データ型値の書き方
Date2026-05-27
Time00:00:01.000
DateAndTime2026-05-27 12:00:00.000
TimeOfDay01:02:03.005
Abbreviated STRUCT未対応
STRUCT未対応
ARRAY01-00-02-00-03-00-04-00-05-00-06-00-07-00-08-00-09-00-0A-00
バイト列でリトルエンディアンで入力
BOOL1,0
SINT - LINT-100
USINT - ULINT100
REAL,LREAL-0.1
STRINGabcd
BYTE1A
WORD - LWORD010A

よくある質問

CipMes2026は無料ですか?

無料で利用できます。

対応PLCは?

OMRON NJ/NXシリーズおよびKEYENCE KVシリーズに対応しています。

UCMM通信に対応していますか?

対応しています。

Class3 Messagingに対応していますか?

対応しています。

関連ページ

関連ツール

ダウンロード

ダウンロードされたときは利用規約に同意したものとみなします

旧CipMes.zipはこちら

この記事へのコメント