Skip to content

Y301-880 Serial I/O Module Technical Manual ​

Y301-880

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-880 I/O module.

ModelDIDOAIDescription
Y301-880880Eight inputs + eight relays

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 and recalculate the CRC.

2. Default Settings ​

ParameterDefault
Slave address1
Baud rate9600 bps
Data bits8
ParityNone
Stop bits1

3. Modbus Register Map (Modbus Address Only) ​

3.1 Digital Input (DI) - Function Code 0x02 ​

ChannelModbus Address
DI10x0000
DI20x0001
DI30x0002
DI40x0003
DI50x0004
DI60x0005
DI70x0006
DI80x0007

Return value: 0 = inactive, 1 = active.

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

ChannelModbus Address
DO10x0000
DO20x0001
DO30x0002
DO40x0003
DO50x0004
DO60x0005
DO70x0006
DO80x0007

For function code 0x05, write 0x0000 to open the NO contact or 0xFF00 to close it. Function code 0x0F uses packed bits: 0 = open, 1 = closed.

3.3 Common Holding Registers - Function Code 0x03/0x06/0x10 ​

Modbus AddressParameterBytesR/WRange / EnumDefault
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 or 98
0x005AStop bits2RW1 or 21
0x005BParity2RW0/1/20

4. Command Examples (CRC Included) ​

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 DI501 02 00 04 00 01 F8 0B
Read DI601 02 00 05 00 01 A9 CB
Read DI701 02 00 06 00 01 59 CB
Read DI801 02 00 07 00 01 08 0B
Read DI1~DI8 in one shot01 02 00 00 00 08 79 CC

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 DO501 01 00 04 00 01 BC 0B
Read DO601 01 00 05 00 01 ED CB
Read DO701 01 00 06 00 01 1D CB
Read DO801 01 00 07 00 01 4C 0B
Read DO1~DO8 in one shot01 01 00 00 00 08 3D CC

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
Open DO501 05 00 04 00 00 8C 0B
Close DO501 05 00 04 FF 00 CD FB
Open DO601 05 00 05 00 00 DD CB
Close DO601 05 00 05 FF 00 9C 3B
Open DO701 05 00 06 00 00 2D CB
Close DO701 05 00 06 FF 00 6C 3B
Open DO801 05 00 07 00 00 7C 0B
Close DO801 05 00 07 FF 00 3D FB

4.4 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

5. Parameter Configuration ​

5.1 Change the Slave Address ​

Runtime address = configured address + DIP offset. Read 0x002A for the runtime address and 0x002B for the DIP offset.

Set the slave address to 5:

text
Request:  01 06 00 3E 00 05 28 05
Response: 01 06 00 3E 00 05 28 05

The address change takes effect after reboot. Include the DIP offset in the runtime address, then reconnect using the new address.

5.2 Change the Baud Rate ​

Common baud-rate values:

Baud RateValue
96000x00002580
192000x00004B00
384000x00009600
1152000x0001C200

Restart the device after changing the address or serial parameters, then reconnect with the new settings.

5.3 Restore Factory Defaults ​

Hold the Reload button for 3-15 seconds to restore:

  • Slave address -> 1
  • Baud rate -> 9600
  • All parameters -> factory defaults

6. Automation Rules ​

The Y301-880 supports DI -> DO automation. Up to 16 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)
+1ActionMode-specific; see the mode table
+2DO indexTarget relay, starting from 1
+3Trigger indexSource DI, starting from 1
+4-5Parameter 1Mode-dependent, 32-bit
+6-7Parameter 2Mode-dependent, 32-bit

6.2 Rule Modes ​

ModeNameAction / Parameters
0DisabledDisable the rule
1DI follow0 = inverse; 1 = forward; select DI
2Pulse output0 = normally open; 1 = normally closed; parameter 1 = pulse duration (ms)
3Delayed control0 = delay opening commands; 1 = delay closing commands; 2 = delay both; parameter 1 = delay (ms)
4Timed change after reboot0 = open; 1 = close; 2 = toggle; parameter 1 = delay (ms)
5Cyclic change0 = open first; 1 = close first; parameters 1/2 = open/closed durations (ms)
6Button input0 = open; 1 = close; 2 = toggle; parameter 1 = minimum active duration (ms)
7Scheduled onceAction at Unix timestamp in parameter 1 (s)
8Scheduled repeatingParameter 1 = Unix timestamp (s); parameter 2 = interval (ms)
9Daily scheduleParameter 1 = seconds since start of day (0-86399)
14Delayed DI follow0 = inverse; 1 = forward; parameter 1 = delay (ms)
15 / 16 / 17Logic AND / OR / XORParameter 1 = DO mask; parameter 2 = DI mask; choose the action for the selected mode

Mode 2 responds to an output-control command. Mode 3 delays an output-control command; mode 14 follows a DI change after a delay. Use channels fitted on the model and the configuration tool matched to its firmware.

Write the current Unix time to 0x0055-0x0056 before using modes 7-9. Devices without a hardware RTC require the time after each reboot.

Modes 10-13 require AI and do not apply to Y301-880.

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: Pulse Output (Mode 2): DO1 normally open, auto-recover after 1s close

Configuration:

FieldValueDescription
Mode0x0002Pulse output
Action0x0000Normally open
DO index0x0001DO1
DI/AI index0x0000Not used
Parameter 10x000003E81000 ms
Parameter 20x00000000Not used
text
01 10 00 80 00 08 10 00 02 00 00 00 01 00 00 00 00 03 E8 00 00 00 00 E0 CA
  • Case 3: Daily Schedule (Mode 9): open DO1 every day at 18:00:00

Configuration:

FieldValueDescription
Mode0x0009Daily schedule
Action0x0000Open
DO index0x0001DO1
DI/AI index0x0000Not used
Parameter 10x0000FD2064800 sec
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
  • Case 4: Logical AND (Mode 15): close DO1 when DI1 and DI2 are both active

Configuration:

FieldValueDescription
Mode0x000FLogical AND
Action0x0001Close
DO index0x0001DO1
DI/AI index0x0000Not used
Parameter 10x00000000DO mask
Parameter 20x00000003DI1+DI2 mask
text
01 10 00 80 00 08 10 00 0F 00 01 00 01 00 00 00 00 00 00 00 00 00 03 0F 6B

7. Troubleshooting ​

SymptomCauseSolution
No responseWrong address or baud rateCheck the configured address, baud rate, and serial format. Broadcast processing is disabled by default; address 0 is not a response test.
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

LED Indicators ​

LEDStatusMeaning
POWERSolid onPower is normal
TXFlashingData is being transmitted
RXFlashingData is being received
DI1-DI8OnInput is active
DO1-DO8OnRelay is closed