Help
What this unit does
It polls Modbus devices on the RS-485 bus — PLCs, VSDs, scales, controllers — and serves everything it has read to the wozansi scada as an ordinary Modbus TCP device on port 502 over WiFi.
It is a polling concentrator, not a transparent gateway: it reads the bus on its own schedule and the SCADA reads a cached copy. So the SCADA can poll fast over WiFi while the RS-485 bus runs at 9600 baud, and a dead slave shows as a stale block instead of stalling the dashboard. Values are up to one poll interval old — right for supervision, wrong for a control loop.
Where things live
| Page | Use it for |
|---|---|
| Home | Is it working? Bus, TCP and diagnostics at a glance, plus the log |
| Poll Map | Which registers to read, and testing them through the SCADA path |
| RS485 | Everything about the wire: protocol, timing, device discovery, raw tests |
| TCP | What the SCADA connects to, and the register layout |
| Alarms | Watch a value, drive a relay, POST a webhook — for standalone use |
| System | Naming, time, password, the log, restart, factory reset |
Wiring
| Terminal | Goes to |
|---|---|
| A+ | Device A (D+) |
| B− | Device B (D−) |
| GND | Signal ground — run it, do not rely on the earth |
| 24V / GND | Panel 24 V DC supply |
Getting it talking
- WiFi — join KPJ-Gateway (password kpjgate1), open http://192.168.4.1, set your network, give it a static IP, restart.
- RS485 — set protocol, baud and format to match the device, then restart. Haiwell is usually RTU 9600 8N1; a factory-default Delta DVP is ASCII 9600 7E1.
- RS485 → Scan bus — before anything else. If nothing answers, use Auto-detect, which tries all 78 protocol/baud/format combinations.
- Poll Map — add ONE block using the Address reference. Confirm it reads online on Home before adding more.
- SCADA — add a Modbus TCP device pointing at this unit’s IP, port 502, then import the tag CSV from the TCP page. The WiFi page spells out the exact endpoint.
- Standalone? Skip the SCADA. Install this page to your home screen from the browser menu, and set up Alarms to drive the relays.
When it will not talk
| Symptom | Usually |
|---|---|
| Everything times out | A/B swapped, wrong baud or format, wrong protocol, or no common ground |
| One block times out | Wrong slave ID, or that device is off |
| Checksum errors | Termination, cable length, or a baud mismatch with another device |
| Exception 2 (illegal address) | Off-by-one — the manual is 1-based, this unit is 0-based |
| Exception 1 (illegal function) | Device does not support that function — try 3 instead of 4 |
| Reads work, writes refused | The block is not marked writable, or it is function 2 or 4, which are read-only |
| SCADA connects but reads zeros | Reading the diagnostic range, or the block is offline |
| First character of every reply lost | DE release delay too long — drop it to 10µs on the RS485 page |
About
| Product | wozansi gateway |
|---|---|
| Firmware | — |
| Hardware | ESP32 + ES32C14 24 V expansion board |
| Built by | KPJ Automation |
| Support | kpjmachines@gmail.com |
| Phone | — |
| Web | — |
Flashing
The RS-485 port sits on IO1/IO3 — the USB programming pins. Disconnect A and B before flashing over USB, or the upload traffic is driven onto a live bus. There is no serial monitor while the bus is running; the log on the Home page replaces it. OTA updates over WiFi stop the bus automatically, so OTA is the safer route once a unit is in a panel.
