日本語 English

CipMes2026 EtherNet/IP CIP communication analysis tool logo CipMes2026: EtherNet/IP and CIP Communication Analysis Tool

For an explanation of CIP communication, see CIP Message Communication (UCMM)


For an explanation of CIP objects, see the following
OMRON: CIP objects for the NJ/NX built-in EtherNet/IP port
KEYENCE: CipObject (KEYENCE KV Series)

Overview

CipMes is a Windows Forms-based tool for analyzing and testing ODVA EtherNet/IP / CIP communication.
Tested on: Win11
Framework: .NET 10.0

Main uses:

  • EtherNet/IP communication analysis
  • CIP object testing
  • Tag Read / Write
  • UCMM / Class3 Messaging
  • Checking KEYENCE / OMRON PLC behavior
  • Packet dump analysis

Main screen

CipMes screen

System configuration

System configuration

Main Features

1. EtherNet/IP connection

Connects to TCP/44818 and executes RegisterSession.

  • Session handle management
  • TCP Receive Loop
  • Keep Alive

2. UCMM communication

Unconnected CIP communication using the Unconnected Message Manager.

3. Class3 Messaging

Supports connected messaging.

  • Forward Open
  • Connection ID management
  • Sequence count management
  • SendUnitData
  • Forward Close

4. Tag Read / Write

Tag access implemented using symbolic segments.

5. Communication library design

Asynchronous communication

  • Based on async/await
  • Uses TaskCompletionSource
  • Resident receive loop
  • ConfigureAwait(false)

Mutual exclusion

  • _requestLock
  • _sendLock

Request synchronization and socket send synchronization are separated.

6. Logging

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

Characteristics

  • Supports both UCMM and Class 3
  • Handles KEYENCE / OMRON differences
  • Can analyze EtherNet/IP packets
  • Well suited to ODVA debugging
  • Asynchronous design

How to Use

Connection

To connect, enter the destination IP address, select UCMM or Class3 and press the [Connect] button

General

Specify a CIP object directly

An example reading service code = 01 hex (Get_Attribute_All), class ID = 01 hex (Identity object), instance ID = 01 hex (instance)

  1. Enter the service code, class ID, instance ID and attribute ID
    The service code is required
  2. If there is service data, enter it one byte at a time separated by hyphens (-) (little endian)
  3. Press the [Send] button to send; if response data is received, it is shown in Response
    Response is shown byte by byte in little endian
  4. The send/receive dump log is shown on the right and the message log at the bottom

Screen when General is selected

For CIP objects, see the manuals

  • KEYENCE: EtherNet/IP Function User's Manual 4-5 Message Communication (Server) Function
  • OMRON: NJ/NX-series CPU Unit Built-in EtherNet/IP Port User's Manual 7-5 CIP Object Services

KEYENCE

65: PLC object

PLC object ClassID=65
Read modelReads the model of the CPU unit
Read operating modeReads the operating mode of the CPU unit
Read error numberReads the error number occurring in the CPU unit
Change operating modeSwitches the operating mode of the CPU unit (RUN/PROG)
Clear errorClears the error occurring in the CPU unit
Data processingReads/writes data of the specified number of devices consecutively
Expansion unit buffer memoryReads/writes the specified number of expansion unit buffer memory data consecutively

Read model

Model code
CodeModel
39KV-8000
3AKV-8000A
36KV-7300
37KV-7500
33KV-3000
34KV-5000
35KV-5500
80KV-KC32
84KV-N60__
85KV-N40__
86KV-N24__

Read run mode

00PROGRAM
01RUN

Data processing, expansion unit buffer memory

Read data is shown as a byte sequence

WriteData is written as a byte sequence

01: Identity object

Identity object ClassID=01
Displayed items
Object revision0001
Maximum instance number0001
Number of instances0001
Maximum class attribute ID0007
Maximum instance attribute ID0007
Vendor ID016F
Device type000C
Product codeSee below
Identity revisionMajor revision = 01
Minor revision = 01
Status of the EtherNet/IP unitReference 1
Serial number
Product name
Product code
CodeModel
006CKV-8000
006BKV-7500
0064KV-5500
0065KV-EP21V
0069KV-NC1EP
Reference 1: EtherNet/IP status
bitName
0Owned
1Reserved
2Configured
3Reserved
4-7Extended Device Status0101Major fault state
0010One or more connections targeting the EtherNet/IP unit have timed out
0011No connections
0110One or more connections are receiving the RUN state
0111Other than the above
8Minor Recoverable FaultAlways OFF
9Minor Unrecoverable FaultAlways OFF
10Major Recoverable FaultON when a recoverable unit error occurs
11Major Unrecoverable FaultON when an unrecoverable unit error occurs
12-15Reserved

02: Message Router object

Message Router object ClassID=02
Displayed items
Object revision0001
Maximum instance number0001
Number of instances0001
Maximum class attribute ID0007
Maximum instance attribute ID0002
Object listNumber of classes, list of class IDs
Maximum number of connections0100Hex

04: Assembly object

Assembly object ClassID=04
Displayed items
Object revision0002
Read dataData assigned to the instance
Read sizeNumber of bytes assigned to the instance

F5: TCP/IP Interface object

TCP/IP Interface object Class=F5
Displayed items
Object revision
Maximum instance number0001
Number of instances0001
Interface statusReference 1
Interface capability flagsReference 2
Configuration methodReference 3
Path to the physical link objectSize=2 Path=20F62401
TCP/IP interface configurationIP address etc.
Host name
TTL value for multicast
Multicast address configurationAllocation method 0: automatic, 1: user-specified
Reserved
Number of addresses
Start address
Encapsulation inactivity timeout120
Reference 1: interface status
bitName
0-3Interface Configuration Status0: IP address not set
1: IP address set
2 or higher: not returned by the EtherNet/IP unit
4Mcast Pending1 when "TTL Value" or "Mcast Config" has been set
5-31Reserved
Reference 2: capability flags
bitName
0BOOTP Client1
1MDNS Client1
2DHCP Client0
3DHCP-DNS Update0
4Configuration Settable1
5-31Reserved0
Reference 3: configuration method
bitName
0-3Startup Configuration0: fixed IP address
1: BOOTP
2-15: cannot be set
4DNS Enable1
5-31Reserved0

F6: Ethernet Link object

Ethernet Link object ClassID=F6
Displayed items
Object revision
Maximum instance number0001
Number of instances0001
Interface speed10,100
Interface statusReference 1
MAC address
Interface counters
Media counters
Physical interface configuration
Physical interface type2
Interface label
Interface capability
Reference 1: status
bitName
0Link Status0: inactive link 1: active link
1Half/FullDuplex0: half duplex 1: full duplex
2-4Negotiation Status0: auto-negotiation in progress
1: auto-negotiation and speed detection failed
2: auto-negotiation failed but speed detection succeeded
3: speed and duplex negotiation succeeded
4: auto-negotiation not attempted
5DNS Enable0: changes can be applied automatically
1: changes require the Reset service (fixed)
6DNS EnableFixed at 0
7-31Reserved0

Tag-specified services

Tag-specified services

Read data is shown as a byte sequence

WriteData is written as a byte sequence

OMRON

01: Identity object

An object for reading CPU unit identification information and similar

Identity object ClassID=01
Displayed items
VenderID002F
DeviceType000C
ProductCode
RevisionMajor , Minor
StatusReference 1
SerialNo
ProductName
Reference 1: Status
bitName
0OwnedConnection opened as a tag data link target
1Reserved0
2ConfiguredTag data link settings present
3Reserved0
4-7Extended Device Status(b7)0101(b4)Major fault occurring
(b7)0010(b4)One or more target connections have timed out
(b7)0011(b4)No tag data link settings
(b7)0110(b4)One or more connections are communicating normally
(b7)0111(b4)Other than the above
8Minor Recoverable Fault
9Minor Unrecoverable Fault
10DNS Enable
11DNS Enable
12-15Reserved0

74: NX Configuration object

An object for reading and writing NX objects and similar
Reads by specifying the NX unit number

NX Configuration object class=74
NX unit specification
UnitNoUnit number
NX unit: 0001 - 003F
IndexNX object index
SubIndexNX object subindex
Displayed items
Read NX ObjectReads an NX object
Write NX ObjectWrites to an NX object
RestartRestarts the NX unit
Save parameterSaves the NX unit parameters
Switch parameter write modeSwitches the NX unit parameter write mode
Read total power on timeTotal power-on time of the NX unit
Get current errorGets current errors
Get event logGets the event log
Clear event logClears the event log
Initialize unit operation parameterInitializes the unit operation settings (NX objects) of the NX unit
Get current user errorGets user-defined errors

F5: TCP/IP Interface object

An object for writing/reading settings such as the IP address, subnet mask and default gateway

TCP/IP Interface object Class=F5
Displayed items
Revision0001:Ver1.01
0002:Ver1.02
0003:Ver1.10
0004:Ver.1.11
Max instance0001
Number of instance0001
Interface configuration statusbit0-3: 0 = IP address not set, 1 = IP address set
bit4-5: reserved
bit6: 0 = no IP address conflict detected, 1 = IP address conflict detected
7-31: reserved
Configuration capabilitybit0: 1
bit1: 1
bit2: DHCP client supported
bit3: 0
bit4: 1
bit5: 0
bit6: 0
bit7: 1
bit8-31: 0
Configuration controlbit0-3: 0 = fixed IP, 1 = BOOTP, 2 = DHCP
bit4: 0 = DNS disabled, 1 = DNS enabled
5-31: 0
Physical link objectPath size = 0002
Path = 20F62401
Interface configurationInterface configuration
Host nameHost name

F6: Ethernet Link object

An object for setting/reading Ethernet communication and reading the Ethernet communication status

Ethernet Link object ClassID=F6
Displayed items
Revision0002: Ver. 1.11 or earlier
0004: Ver. 1.12 or later
Max instance0001
Number of instance0001
Interface SpeedInterface speed
Interface FlagsInterface status
Physical AddressMAC address
Interface CountersNumber of packets sent and received
Media CountersMedia counters of the communication port
Interface ControlInterface control settings
HC Interface countersPacket receive counter on the high-capacity communication interface
HC Media CountersHigh-capacity media counters of the communication port

C4: PLC object

An object for setting/reading Ethernet communication and reading the Ethernet communication status

PLC object ClassID=C4
Displayed items
Revision0002
Max instance0001
PLC ModeRead operating mode 0001: PROGRAM mode 0004: RUN mode
PLC Error StatusError occurred 0000: no error 0001: error occurred
PLC ModelController model

Variable read/write services

Reads/writes variable values

Variable read/write services

Read

Enter the name of the variable to read and press the [Read] button

Data type and value when writing

Write values in the same format as the values shown when reading (except ARRAY)
Data type
Data typeHow to write values
Date2026-05-27
Time00:00:01.000
DateAndTime2026-05-27 12:00:00.000
TimeOfDay01:02:03.005
Abbreviated STRUCTNot supported
STRUCTNot supported
ARRAY01-00-02-00-03-00-04-00-05-00-06-00-07-00-08-00-09-00-0A-00
Enter as a byte sequence in little endian
BOOL1,0
SINT - LINT-100
USINT - ULINT100
REAL,LREAL-0.1
STRINGabcd
BYTE1A
WORD - LWORD010A

FAQ

Is CipMes2026 free?

Yes, it is free to use.

Which PLCs are supported?

The OMRON NJ/NX series and KEYENCE KV series are supported.

Does it support UCMM communication?

Yes.

Does it support Class 3 messaging?

Yes.

Related pages

OMRON

CIP message communication

CIP Message Communication

Sends CIP messages from a PC to a PLC connected to an EtherNet/IP port and reads values

KEYENCE

KEYENCE CIP communication

CIP Message Communication

CIP objects for the KV EtherNet/IP port

Related tools

RS-232C or Ethernet (UDP) communication emulator

ComEmulator

When connecting a PLC to an external device via RS-232C or Ethernet, you can emulate the external device on a PC before connecting it

Analyze and test TCP and UDP communication

ComCom

An application that sends messages you create using Ethernet socket communication

Analyze and test FINS communication

FinsMes

An application that sends FINS messages using Ethernet socket communication

Download

By downloading, you are deemed to have agreed to the Terms of Use

The old CipMes.zip is here

Comments