D3J0204 Modbus
4-channel isolated Modbus-RTU/RS-485 relay/transistor output module with up to 2 PWM/PTO pulse channels.
🔍 Click to enlarge · 1/4ℹ Product photo shows KEANSHI (金恩士) housing markings — KEANSHI is a DAIDISIKE (戴迪斯科) group brand, and these D3-series serial I/O modules are supplied under it. The photo is a D3-series housing shot; the pictured unit carries D3J0202 markings — channel count and terminal layout follow the specification table above.
Technical Specifications
| Ordering Code (default) | D3J0204M111 (all-relay output, pulse unavailable, no wireless) |
|---|---|
| Product ID / Default Slave Address Code | 0x3204 |
| Physical Interface | RS-485 half-duplex, differential twisted pair A/B; plus onboard USB port; optional 2.4GHz wireless MODBUS-OTA |
| Communication Protocol | MODBUS-RTU (primary); MODBUS-ASCII and AT commands also supported; wireless MODBUS-OTA |
| Output Channels | 4 fully isolated digital outputs (relay or MOSFET type, field-selectable), plus up to 2 high-speed pulse outputs (DO0/DO1) |
| Default Baud Rate | 9600 bps |
| Default Data Format | 8 data bits, even parity, 1 stop bit |
| Default Slave Address | 0x02 (fixed at 0x01 when using USB, with RS-485 then switching to master mode) |
| Selectable Baud Rates | 300 / 600 / 1200 / 1800 / 2400 / 4800 / 7200 / 9600 / 14400 / 19200 / 28800 / 38400 / 56000 / 57600 / 76800 / 115200 bps |
| Selectable Parity | None / Odd / Even (default Even) |
| Selectable Stop Bits | 1 (default) / 1.5 / 2 |
| Slave Address Range | 1-247 (0x01-0xF7) |
| Output Coil Mapping | Coils 0x0000-0x000F (16 coils; each channel uses 4 coils: output value, output reset, forced value, forced-value enable) |
| Supported Function Codes | 0x01 Read Coils, 0x05 Write Single Coil, 0x0F Write Multiple Coils, 0x03 Read Holding Registers, 0x06 Write Single Register, 0x10 Write Multiple Registers, 0x16 Mask Write, 0x17 Read/Write Multiple Registers, 0x04 Read Input Registers, 0x11 Report Device ID |
| Exception Codes | 0x01 ENOFUNC (unsupported function code), 0x02 ENOADR (address/count out of range), 0x03 EINVAL (invalid length/field), 0x04 EDEVICE (execution error, e.g. illegal write value) |
| Configuration Protection | Write ASCII UL (0x554C) to SAFELCK (0x000E) to unlock before changing sensitive registers (NAME/SRLCFG/wireless, etc.); auto re-locks after each write, on CRC/parity errors, or on commands addressed to other modules |
| PWM / PTO Output | DO0/DO1, when configured as high-speed transistors, support standard PWM, standard PTO and fast PWM |
| Power-Up / Power-Down Behavior | All digital outputs may briefly turn on for approximately 50ms during power-up/power-down (transistor types especially) |
| Supply Voltage | DC 11-28V |
| Supply Ripple | <1Vp-p |
| Supply Current | <1500mA |
| Communication Terminal Stress (operating) | DC 0-5V |
| Output Stress, Relay Type | DC 30V or AC 0-220V, 8A |
| Output Stress, Standard Transistor Type | DC 12-48V, 8A |
| Output Stress, High-Speed Transistor Type | DC 12-24V, 8A |
| Communication Isolation Voltage | <250V |
| Output Isolation Voltage, Relay Type | <250V |
| Output Isolation Voltage, Transistor Type | <130V |
| Operating Temperature | -20 to 60 deg C |
| Max Supply Voltage | DC 28V |
| Resettable Fuse | DC 250V, 3000mA, slow-blow |
| Max Communication Terminal Stress | DC 50V |
| Max Output Stress, Relay Type | DC 30V or AC 0-220V, 8A |
| Max Output Stress, Standard Transistor Type | DC 55V, 10A |
| Max Output Stress, High-Speed Transistor Type | DC 40V, 10A |
| Max Communication Isolation Voltage | DC 1000V, 60 seconds (type test only) |
| Max Output Isolation Voltage, Relay Type | DC 1000V, 60 seconds (type test only) |
| Max Output Isolation Voltage, Transistor Type | DC 250V, 60 seconds (type test only) |
| Relay Mechanical Life | Over 100,000 cycles (over 10,000 cycles under heavy load) |
| Storage Temperature | -40 to 85 deg C |
| ESD Immunity (IEC61000-4-2) | 4kV to all terminals, normal operation (criteria A) |
| EFT Immunity (IEC61000-4-4) | 2kV/5kHz/2min, normal operation (criteria A); 4kV/5kHz/2min, no permanent damage (criteria C) |
| Surge Immunity (IEC61000-4-5) | 1kV terminal-to-ground on all terminals, no permanent damage (criteria C) |
| Creepage Distance | >6mm required, >6.5mm measured (pollution degree 3, material group IIIa/IIIb, IEC60950) |
| Clearance | >2mm required, >2.2mm measured (pollution degree 3, IEC60950) |
| Module Dimensions (D3J0204, 4-channel) | 72mm (L) x 88mm (W) x 59mm (H), tolerance +/-5% |
| Terminal Pitch | 5.08mm |
| Terminals & Indicators | 4 sets of NC/COM/NO output terminals plus power terminals and a USB port; 1 blue action LED per output channel plus 1 green power LED |
Overview
The D3J0204 is a 4-channel MODBUS-RTU / RS-485 digital output module built around a dedicated integrated circuit (ASIC), for engineers who need a compact, DC 11-28V wide-voltage RS-485 slave device to remotely switch loads such as indicator lights, solenoid valves and contactors from a PLC, HMI or SCADA host. It is a pure-output design with no digital input sensing, and belongs to the D3J02 series, which also includes 2, 8 and 14-channel variants sharing the same feature set.
Each of the 4 fully isolated output channels can be ordered as relay type (switches AC 0-220V or DC 30V at 8A, over 100,000 mechanical cycles) or open-drain MOSFET type (DC 12-48V, 8A, with a built-in flyback diode for inductive loads). Output channels DO0 and DO1 can additionally be configured as high-speed transistors for up to 2 channels of PWM or PTO pulse output, and any channel can be configured as a simple on-delay timer. Communication defaults to 9600bps / 8 data bits / even parity / 1 stop bit at slave address 0x02, with baud rates selectable from 300 to 115200bps and slave addresses 1-247; the module also ships with a USB port (doubling as USB-to-serial) supporting MODBUS-ASCII and AT commands, plus an optional 2.4GHz wireless MODBUS-OTA network.
Features & Benefits
Four Machines Controlled From One 72 mm Module
Each of the 4 channels brings out its own NC, COM and NO screw terminals, and relay contacts switch AC 0-220 V or DC 30 V at 8 A directly - enough for a contactor coil, a 220 V solenoid or a beacon without an interposing relay. Four separate single-channel modules would mean four supply feeds, four bus addresses and four times the DIN rail; the D3J0204 does it in 72 mm of width, on one supply and one Modbus address.
Relay or MOSFET Is an Order-Code Digit, Not a Redesign
The first digit of the [ddd] suffix picks the output stage: 1 = relay, 2 = MOSFET. Relay type gives <250 V isolation, switches AC mains and lasts over 100,000 mechanical cycles. MOSFET type is open-drain with a built-in 10 A flyback diode, so it drives a 10 A DC solenoid, electromagnet or motor straight off the terminals - no external suppression diode to size, buy or forget.
2 PWM/PTO Pulse Channels Included, Not a Separate Card
Order a pulse-enabled code and DO0/DO1 become high-speed transistors supporting standard PWM, standard PTO and fast PWM from the PGM memory at 0x0100, while DO2/DO3 stay ordinary on/off outputs. One node then covers 'a few things switched, one thing speed-controlled' - a DC motor or heater on PWM, or a stepper axis on PTO - instead of needing a pulse output card plus a relay card.
Plain Modbus-RTU: Nothing to Write, Nothing to License
It is a textbook RS-485 slave - 9600 bps / 8 data bits / even parity / 1 stop bit at address 0x02 out of the box, 300 to 115200 bps and addresses 1-247 selectable, with function codes 0x01, 0x05, 0x0F, 0x03, 0x06, 0x10, 0x16, 0x17, 0x04 and 0x11 supported. Any PLC, HMI touch panel, SCADA package or cloud gateway that speaks Modbus drives it on day one, and explicit exception codes (0x01 ENOFUNC, 0x02 ENOADR, 0x03 EINVAL, 0x04 EDEVICE) tell you exactly why a frame was rejected instead of leaving you guessing.
Force Any Channel by Hand During Commissioning
Every channel carries four coils, not one: output value (DOUTnDV), output reset (DOUTnRST), forced value (DOUTnFV) and force enable (DOUTnFEN). Set the force pair and the channel holds your test state regardless of what the host is writing - so an electrician can prove a valve is wired correctly while the PLC program keeps running, then clear the force and hand the channel straight back to the host.
A Noisy Bus Cannot Corrupt Your Baud Rate
Sensitive registers (NAME, serial config SRLCFG, wireless config and keys) sit behind SAFELCK at 0x000E: you write ASCII 'UL' (0x554C) to unlock, and the module re-locks itself after every single write, on any CRC or parity error on the bus, and even on traffic addressed to another module. A stray frame on a long trunk cannot silently move this node to a different baud rate and drop it off the network.
Local On-Delay Timer Keeps Logic Off the Host
Any output channel can be configured as a simple on-delay timer through its DOUTnCFG register (from 0x0080), so timed dosing, purge cycles, pulse triggering and auto shut-off run on the module itself. The master sets it once and stops polling - and the timing still holds if the host is busy, rebooting or momentarily off the bus.
Built for the Inside of a Real Panel
The supply is protected against reverse connection, overcurrent, surge and automotive load dump, and is backed by a DC 250 V / 3000 mA slow-blow fuse; outputs and the RS-485 port are protected against reverse connection and surge and are isolated from logic. On the PCB the high-voltage side is slotted for creepage: >6.5 mm measured where IEC60950 asks for >6 mm at pollution degree 3, and >2.2 mm clearance against >2 mm required. It rides out ESD 4 kV and EFT 2 kV / 5 kHz at criteria A per IEC61000-6-2-2016. Certification documents available on request.
Applications
Models & Ordering Information
D3J0204 Series
How to Select
- Choose the 4-channel D3J0204 when the application has 3-4 output points; for 1-2 points consider the 2-channel D3J0202, and for more points step up to the 8-channel D3J0208 or 14-channel D3J0214.
- Choose relay-type output to switch AC 220V, drive AC contactors/valves/indicator lights, or when the connected equipment is sensitive to the approximately 50ms power-up/power-down output pulse.
- Choose MOSFET (transistor) type output for DC inductive loads, applications needing long high-frequency switching life, or when PWM/PTO pulse output is required, since the pulse function is available on transistor-type outputs only.
- If PWM/PTO speed control or stepper drive is needed, order a pulse-enabled configuration so DO0/DO1 work as 2 high-speed channels while the remaining channels stay as standard on/off outputs.
- All digital outputs may briefly turn on for about 50ms during power-up/power-down (especially transistor types); for timing-sensitive loads, choose relay-type output or add power sequencing so the controlled equipment powers up after and powers down before the module.
📘 Need the full method? NPN vs PNP Sensor Outputs Explained
When NOT to specify the D3J0204 — and what to use instead
A process needs to react automatically to a proximity sensor or door-switch condition and fire an output the moment that condition occurs, without the host writing a command each time
Why not: The D3J0204 has no digital inputs and no input-to-output linking logic; its on-delay timer only starts once the host writes to a coil, so it cannot itself condition on an external field signal
Use instead: D3J0304 (its output-n-follows-input-n local link) or the D4G0206 micro-PLC (schematic programming logic)
Only 1-2 output points are needed inside a very tight equipment enclosure
Why not: The D3J0204 body measures 72 x 88 x 59mm to carry 4 channels - more board length, terminal count and cost than a 1-2 point job needs
Use instead: step down to the 2-channel D3J0202
5 or more output points are required on a single node
Why not: The D3J0204's coil map tops out at 0x000F (16 coils = 4 channels); there are only 4 physical output channels on this model
Use instead: D3J0208 (8-channel) or D3J0214 (14-channel)
An inductive DC load such as a solenoid or small motor will be switched at high frequency for years, and the module was left at its default order code
Why not: The default D3J0204M111 order code ships all-relay output, and the D3J0204's own relay mechanical-life figure is over 100,000 cycles in general use but drops to over 10,000 cycles under heavy load - a poor match for sustained high-frequency inductive switching
Use instead: re-order the D3J0204 with MOSFET/transistor-type output (order-code first digit = 2)
One of the 4 channels is meant to serve an emergency-stop or safety-interlock function
Why not: No Type/SIL/PL rating exists anywhere in the D3J0204's spec; its relay and transistor outputs are standard industrial contacts, not OSSDs
Use instead: DA31 Emergency-Stop Safety Relay Module or DQSRN Safety Relay Module
Specifications we do not publish yet
We only publish a figure once we are confident it is true. The items below are still being validated through further testing and real-world customer feedback, so for now we would rather leave them open than guess. If one of them matters to your design, ask us for the latest validated status.
- Relay contact (electrical) life under rated 8A load, separate from the published mechanical-cycle figures
- MTBF for the D3J0204 module
- Relay manufacturer and part number fitted to the D3J0204
- Recommended wire gauge and torque for the 4 sets of NC/COM/NO screw terminals
- Ingress protection (IP) rating
- Maximum validated RS-485 node count and cable length on one trunk
- Module net weight
- Specific certification marks held (CE/UL/RoHS etc.)
Frequently Asked Questions
What is the D3J0204 used for?
Can the D3J0204 read digital inputs?
What is the difference between relay-type and transistor-type outputs?
Can the D3J0204 output PWM or drive a stepper motor?
What communication protocols does the D3J0204 support?
How do I protect sensitive equipment from the power-up/power-down output pulse?
How do I change the D3J0204's communication settings?
Is the D3J0204 certified for industrial EMC compliance?
Works Well Together
On the same machine or line, D3J0204 is typically ordered together with: Proximity Sensors · Photoelectric Sensors · Laser Distance Sensors