Skip to content

Y301-440/444 Technical Manual

Y301-440Y301-444
Y301-440Y301-444

Contents

  1. Overview
  2. Default Settings
  3. Modbus Register Map (Modbus Address Only)
  4. Command Examples (CRC Included)
  5. Parameter Configuration
  6. Automation Rules
  7. Troubleshooting

1. Overview

This manual describes the Modbus RTU communication commands for the Y301-440 and Y301-444 I/O modules.

ModelDIDOAIDescription
Y301-440440Four inputs + four relays
Y301-444444Four inputs + four relays + four analog inputs

Frame format: [slave address][function code][data][CRC low][CRC high]

The examples below use slave address 0x01. Replace it with the actual device address in your application.


2. Default Settings

ParameterDefault
Slave address1
Baud rate9600 bps
Data bits8
Stop bits1
ParityNone
Output state holdKeep after soft reboot (0x0040 = 1)
Pulse counting edgeRising edge (0x0041 = 1)
Pulse debounce50 ms (0x0042 = 50)

3. Modbus Register Map (Modbus Address Only)

3.1 Digital Input (DI) - Function Code 0x02

ChannelModbus AddressR/W
DI10x0000RO
DI20x0001RO
DI30x0002RO
DI40x0003RO

Return value: 0 = inactive, 1 = active.

3.2 Digital Output (DO) - Function Code 0x01/0x05/0x0F

ChannelModbus AddressR/W
DO10x0000RW
DO20x0001RW
DO30x0002RW
DO40x0003RW

Write value: 0x0000 = open, 0xFF00 = closed.

3.3 Analog Input (AI) - Function Code 0x04 (Y301-444 only)

ChannelModbus AddressDescriptionUnitR/W
AI1 voltage0x0000AI1 sampled voltagemVRO
AI1 current0x0001AI1 sampled currentuARO
AI2 voltage0x0002AI2 sampled voltagemVRO
AI2 current0x0003AI2 sampled currentuARO
AI3 voltage0x0004AI3 sampled voltagemVRO
AI3 current0x0005AI3 sampled currentuARO
AI4 voltage0x0006AI4 sampled voltagemVRO
AI4 current0x0007AI4 sampled currentuARO

Each AI channel can be wired for either voltage or current. The other reading is invalid.

3.4 Common Holding Registers (Parameters) - Function Code 0x03/0x06/0x10

Modbus AddressParameterBytesR/WRange / EnumDefault
0x002ARuntime slave address2RO0-255-
0x002BDIP offset address2RO0-310
0x003ESlave address2RW1-2551
0x003FBroadcast mode2RW0/1/20
0x0040Output state hold2RW0/1/21
0x0041Pulse count edge2RW0/11
0x0042Pulse debounce (ms)2RW5-25550
0x0055RTC Unix time4RWuint32-
0x0057Baud rate4RW600-2304009600
0x0059Data bits2RW8,98
0x005AStop bits2RW1,21
0x005BParity2RW0/1/20

4. Command Examples (CRC Included)

Tip: command blocks include a built-in copy icon in VitePress.

4.1 Read Digital Inputs

OperationRequest (Hex)
Read DI101 02 00 00 00 01 B9 CA
Read DI201 02 00 01 00 01 E8 0A
Read DI301 02 00 02 00 01 18 0A
Read DI401 02 00 03 00 01 49 CA
Read DI1~DI4 in one shot01 02 00 00 00 04 79 C9

4.2 Read Digital Output Status

OperationRequest (Hex)
Read DO101 01 00 00 00 01 FD CA
Read DO201 01 00 01 00 01 AC 0A
Read DO301 01 00 02 00 01 5C 0A
Read DO401 01 00 03 00 01 0D CA
Read DO1~DO4 in one shot01 01 00 00 00 04 3D C9

4.3 Control Digital Outputs

OperationCommand
Open DO101 05 00 00 00 00 CD CA
Close DO101 05 00 00 FF 00 8C 3A
Open DO201 05 00 01 00 00 9C 0A
Close DO201 05 00 01 FF 00 DD FA
Open DO301 05 00 02 00 00 6C 0A
Close DO301 05 00 02 FF 00 2D FA
Open DO401 05 00 03 00 00 3D CA
Close DO401 05 00 03 FF 00 7C 3A

4.4 Read Analog Inputs (Y301-444 only)

OperationRequest (Hex)
Read AI1 voltage01 04 00 00 00 01 31 CA
Read AI1 current01 04 00 01 00 01 60 0A
Read AI2 voltage01 04 00 02 00 01 90 0A
Read AI2 current01 04 00 03 00 01 C1 CA
Read AI3 voltage01 04 00 04 00 01 70 0B
Read AI3 current01 04 00 05 00 01 21 CB
Read AI4 voltage01 04 00 06 00 01 D1 CB
Read AI4 current01 04 00 07 00 01 80 0B
Read AI1~AI4 all (8 regs)01 04 00 00 00 08 F0 0D

4.5 Parameter Read/Write

OperationRequest
Read slave address (0x003E)01 03 00 3E 00 01 E5 C6
Write slave address = 501 06 00 3E 00 05 28 05
Read baud rate (0x0057, 2 regs)01 03 00 57 00 02 75 DB
Write baud rate = 115200 (0x0001C200)01 10 00 57 00 02 04 00 01 C2 00 B7 D5
Write 8N1 (0x0059~0x005B)01 10 00 59 00 03 06 00 08 00 01 00 00 85 EF

4.6 Special Operations

OperationRequest
Reboot (0x0800=0x5500)01 06 08 00 55 00 B4 FA
Factory reset + reboot (0x0800=0x0055)01 06 08 00 00 55 4B 95
OperationRequest (Hex)
Read DI101 02 00 00 00 01 B9 CA
Read DI201 02 00 01 00 01 E8 0A
Read DI301 02 00 02 00 01 18 0A
Read DI401 02 00 03 00 01 49 CA
Open DO101 05 00 00 00 00 CD CA
Close DO101 05 00 00 FF 00 8C 3A
Open DO201 05 00 01 00 00 9C 0A
Close DO201 05 00 01 FF 00 DD FA
Open DO301 05 00 02 00 00 6C 0A
Close DO301 05 00 02 FF 00 2D FA
Open DO401 05 00 03 00 00 3D CA
Close DO401 05 00 03 FF 00 7C 3A

5. Parameter Configuration

5.1 Runtime Slave Address

Runtime slave address = configured address (0x003E) + DIP offset (0x002B).

5.2 Serial Settings

  • Baud rate is a 32-bit value at 0x0057, use 0x10 to write 2 registers.
  • Data/stop/parity are located at 0x0059~0x005B.
  • Changing serial parameters or slave address requires reboot.

6. Automation Rules

The Y301-440/444 support DI -> DO automation, and the Y301-444 also supports AI threshold triggering. Up to 8 rules are supported, with 2 rules per DO.

6.1 Automation Register Map

Rules start at address 0x0080. Each rule uses 8 registers (16 bytes).

OffsetFieldDescription
+0ModeRule type (see table below)
+1Action0=open, 1=close, 2=toggle
+2DO indexTarget relay, starting from 1
+3Trigger indexSource DI or AI, starting from 1
+4-5Parameter 1Mode-dependent, 32-bit
+6-7Parameter 2Mode-dependent, 32-bit

6.2 Rule Modes

ModeNameDescription
0DI followDO follows the DI state
1DI inverseDO is the inverse of the DI state
2PulseDO outputs a pulse for parameter1 ms when DI triggers
3Delayed ONDO closes parameter1 ms after DI closes
4Delayed OFFDO opens parameter1 ms after DI opens
5CycleDO toggles periodically, parameter1=ON time, parameter2=OFF time
9Daily scheduleExecute the action daily at the time specified by parameter1 (seconds since midnight)
10AI thresholdTrigger when AI exceeds parameter1 (Y301-444 only)
13Logic combinationApply AND/OR/XOR logic across multiple DI channels

6.3 Rule Command Examples

  • Case 1: DI Follow (Mode 1): DO1 follows DI1
FieldValueDescription
Mode0x0001DI follow
Action0x0001Forward follow
DO index0x0001DO1
DI/AI index0x0001DI1
Parameter 10x00000000Not used
Parameter 20x00000000Not used
text
01 10 00 80 00 08 10 00 01 00 01 00 01 00 01 00 00 00 00 00 00 00 00 CC FE
  • Case 2: AI Voltage < Threshold (Mode 11): if AI1 < 2V, close DO1 (Y301-444 only)
FieldValueDescription
Mode0x000BAI voltage lower than threshold
Action0x0001Close
DO index0x0001DO1
DI/AI index0x0001AI1
Parameter 10x000007D02000 mV (=2.0V)
Parameter 20x000003E81000 ms
text
01 10 00 80 00 08 10 00 0B 00 01 00 01 00 01 00 00 07 D0 00 00 03 E8 86 22
  • Case 3: Daily Schedule (Mode 9): open DO1 every day at 18:00:00
FieldValueDescription
Mode0x0009Daily schedule
Action0x0000Open
DO index0x0001DO1
DI/AI index0x0000Not used
Parameter 10x0000FD2064800 seconds
Parameter 20x00000000Not used
text
01 10 00 80 00 08 10 00 09 00 00 00 01 00 00 00 00 FD 20 00 00 00 00 5F C3

7. Troubleshooting

SymptomCauseSolution
No responseWrong address or baud rateCheck settings and try broadcast address 0
CRC errorWiring issue or interferenceCheck RS485 polarity and add termination resistors
DO does not switchLoad exceeds ratingReduce the load and verify contact ratings
DI always reads 0Wiring errorCheck COM/DI wiring and input voltage
AI reading is abnormalWrong wiring modeVerify voltage/current wiring; each channel supports only one mode at a time

LED Indicators

LEDStatusMeaning
POWERSolid onPower is normal
TXFlashingData is being transmitted
RXFlashingData is being received
DI1-DI4OnInput is active
DO1-DO4OnRelay is closed