Proof of Concept

EnIP DX200 Simulator

Motoman DX200 EtherNet/IP simulator on ESP32-P4 + Ethernet (Waveshare ESP32-P4-WIFI6-POE-ETH)

Status: This project is a proof-of-concept implementation and requires further development, testing, and validation before production use.

Waveshare ESP32-P4 (Ethernet)

Overview

An ESP32-P4 EtherNet/IP simulator that emulates a Motoman DX200 robot controller. This project provides a development tool for testing and developing EtherNet/IP scanner applications without requiring access to an actual robot controller.

The simulator implements the EtherNet/IP (CIP) protocol stack and emulates the vendor-specific CIP classes used by Yaskawa Motoman DX200 robot controllers. It runs on the ESP32-P4 microcontroller with Ethernet connectivity and provides a web-based configuration interface.

This simulator is designed to help in the development of EtherNet/IP scanner applications by providing a consistent, controllable test target that behaves like a real Motoman robot controller.

Hardware Platform

This project targets the Waveshare ESP32-P4-WIFI6-POE-ETH with the following requirements:

The 32 MB PSRAM is essential for storing large data arrays including I/O signals, registers, variables, and position data that would be present in a real robot controller.

Supported CIP Classes

The simulator implements all Motoman vendor-specific CIP classes:

Class Hex Decimal Name Description
0x70112MotomanAlarmActive Alarms
0x71113MotomanAlarmHistoryAlarm History
0x72114MotomanStatusRobot Status
0x73115MotomanJobInfoJob Information
0x74116MotomanAxisConfigAxis Configuration
0x75117MotomanPositionRobot Position
0x76118MotomanPositionDeviationPosition Deviation
0x77119MotomanTorqueAxis Torque
0x78120MotomanIOI/O Signals
0x79121MotomanRegisterRegisters
0x7A122MotomanVariableBByte Variables
0x7B123MotomanVariableIInteger Variables
0x7C124MotomanVariableDDouble Integer Variables
0x7D125MotomanVariableRReal Variables
0x7F127MotomanVariablePPosition Variables
0x80128MotomanVariableBPBase Position Variables
0x81129MotomanVariableEXExternal Axis Variables
0x8C140MotomanVariableSString Variables

Pre-Initialized Data

The simulator comes with pre-initialized robot data to facilitate immediate testing:

Device Identity

The simulator presents itself as:

Web-Based Configuration

The simulator includes a web-based configuration interface:

Note: Network configuration changes require a device reboot to take effect.

Testing with EtherNet/IP Scanner

The simulator is compatible with EtherNet/IP Explorer and other CIP diagnostic tools:

  1. Connect your EtherNet/IP scanner application to the simulator's IP address
  2. Use your scanner to read from any of the supported CIP classes
  3. All classes support Get_Attribute_Single and many support Get_Attribute_All
  4. Compare the data returned by the simulator with expected values from the pre-initialized data reference

Software Requirements

Development Use Cases

This simulator is designed to help in the development of EtherNet/IP scanner applications: