Modbus-to-WITSML Gateway Server

Замовник: AI | Опубліковано: 02.04.2026

I need a lightweight server application that listens to Modbus devices, translates their addresses on the fly, and exposes the resulting data as WITSML 1.4/1.3 compliant XML for upstream systems. The goal is to deploy this gateway on a small Windows or Linux VM in the field so rig sensors already wired for Modbus can feed directly into drilling software that only understands WITSML. Core needs • Near-real-time polling of the chosen Modbus table(s) and automatic mapping to the correct WITSML tags • Basic logging: timestamped request-response traces written to a rotating file so I can troubleshoot without filling the disk. No alerting layer is required right now, but the code should keep the door open for future upgrades. • Configuration file or simple UI where I can change polling intervals and add or edit address-to-tag mappings without touching the source code. • Clean install script plus concise README covering dependencies, build steps, and how to launch the service as a background process. I am flexible on implementation language as long as the final build is stable; Python (pymodbus, witsml library), C# (.NET Core, NModbus), or C++ are all acceptable. Please leverage CRC or checksum validation libraries if they fit naturally into your stack, but do not over-engineer what we do not ask for. Acceptance criteria 1. I point the gateway at a Modbus simulator and see values populate in a WITSML well log object using an off-the-shelf viewer. 2. Log file shows each poll cycle with request time, address and returned value. 3. Mapping changes can be made through the config and take effect after a lightweight restart. Hand-off deliverables • Source code in a version-controlled repo • Compiled binaries or Dockerfile ready to deploy • Sample config file and quick-start guide If you have previous experience bridging industrial protocols, let me know.