CIP Data Gateway
EtherNet/IP scanner and data gateway for PLCs, robots, and industrial devices
Availability: This is a commercial/proprietary application. Source code and firmware are not published on GitHub. For licensing or technical inquiries, contact the author.
Overview
The CIP Data Gateway is a commercial implementation based on the core components of the EtherNet/IP Scanner project. It is an EtherNet/IP scanner and data gateway that bridges communication between industrial devices using the Common Industrial Protocol (CIP). It discovers EtherNet/IP devices on the network, reads and writes assembly data and PLC tags, and supports vendor-specific protocols including Allen-Bradley Micro800 PLCs and Yaskawa Motoman robot controllers.
The gateway supports both explicit messaging (request/response over TCP) and implicit messaging (real-time Class 1 I/O over UDP) for time-critical applications. Configuration is stored in a JSON file on an SD card and can be managed via a built-in web interface.
Key Features
Core Capabilities
- Micro800 tag support: Read/write PLC tags by symbolic name (20 CIP data types)
- Motoman robot support: 18 Motoman CIP classes (alarms, status, position, I/O, variables, registers)
- Generic EtherNet/IP devices: Assembly read/write for standard CIP devices
- Data mappings: Configure periodic transfers between devices (e.g. PLC tag ↔ assembly, tag ↔ tag) and MQTT publishing
- Web UI: Network configuration, scanner config, add devices/mappings, live data view
- Thread-safe API: All operations protected with mutexes
Note: Data mappings write to target destinations only when source data values change, reducing network traffic and improving efficiency.
Web Interface
After the device boots and obtains an IP address, open http://<device-ip>/ in a browser.
- Configuration home: Links to network config and scanner config
- Network configuration: Set IP mode (DHCP/static), address, netmask, gateway, DNS, hostname; run ping test
- Scanner configuration: Add/remove devices, create mappings, set update rates, view live data
Network and scanner settings can be applied from the web UI; configuration is stored on the SD card.
Device Replacement: Since all configuration is stored on the SD card, device replacement is straightforward. If a gateway device needs to be replaced, simply move the SD card (or a copy with the same config.json) to the new device. The new device will boot and read the configuration from the SD card, minimizing downtime and eliminating the need to reconfigure network settings, devices, and mappings.
Supported Devices
- Allen-Bradley Micro800 series PLCs: Full tag read/write via symbolic names
- Motoman DX200 / YRC1000: Alarms, status, job info, position, I/O, registers, variables (B/I/D/R/S/P/BP/EX)
- Generic EtherNet/IP devices: Assembly read/write
- ODVA-compliant devices: Standard CIP explicit messaging
Example Use Case: Micro800 ↔ Motoman
A typical application is a bidirectional bridge between a Micro800 PLC and a Motoman robot:
- PLC writes job number, start/stop/reset via tags; gateway writes to Motoman General Output I/O (e.g. 1001–1004)
- Gateway reads robot status (CIP 0x72), alarms (0x70), and I/O; writes status back to PLC tags
- Edge-triggered commands and error handling avoid continuous triggering and improve robustness
Such translators use the gateway’s tag API and Motoman CIP API; mapping logic can be customized in firmware.
Contact & Licensing
CIP Data Gateway is a commercial/proprietary application and is not available on GitHub. For technical questions, licensing, or custom integration, contact agsweeney@gmail.com.