Skip to content

Y331-0020/0040/0060/0080 Fully Isolated Multi-Range Analog Input Modules RS485 Technical Manual ​

Y331-0080 fully isolated analog input module


Contents ​

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

1. Overview ​

Y331-0020/0040/0060/0080 modules acquire DC voltage and current signals through isolated input channels. The Specification lists signal ranges, electrical data, and ordering options.

Protocol profile: Use this manual with modules supplied with the register map below. Match the serial settings and input encoding to the supplied firmware profile before writing parameters. Section 6.4 explains milliamp conversion for voltage-encoded inputs.

ModelDIDOAIAO
Y331-00200020
Y331-00400040
Y331-00600060
Y331-00800080

The four-position model code follows DI / DO / AI / AO, including zeros. The standard interface is isolated RS485; RS232 and isolated CAN are optional. RS232 wiring and settings, and CAN message definitions, require interface-specific documentation.

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

Command examples specify slave address 0x01. Replace it with the device address and recalculate the CRC. Send register addresses and data words high byte first, and CRC bytes low byte first.


2. Default Settings ​

ParameterDefault
Slave address1
Baud rate9600 bps
Data bits8
Stop bits1
ParityNone
Active upload interval (0x0031)0; disabled
Input data format (0x003A)Read back 0x003A before decoding

During commissioning, read 0x003A and check the active address and baud rate against the supplied register map and DIP-switch settings.


3. Modbus Register Map (Modbus Address Only) ​

Register addresses are zero-based protocol addresses. Registers hold unsigned 16-bit values. RO means read only; RW means read/write.

3.1 Analog Input (AI) - Function Code 0x04 ​

ChannelModbus AddressDescriptionUnitR/W
AI10x0000AI1 sampled valueV / A*RO
AI20x0001AI2 sampled valueV / A*RO
AI30x0002AI3 sampled valueV / A*RO
AI40x0003AI4 sampled valueV / A*RO
AI50x0004AI5 sampled valueV / A*RO
AI60x0005AI6 sampled valueV / A*RO
AI70x0006AI7 sampled valueV / A*RO
AI80x0007AI8 sampled valueV / A*RO

*For milliamp inputs, use the encoding and sampling resistance specified for the supplied hardware; see Section 6.4.

Each AI channel uses one register. Read only the fitted AI count in the model code: for example, AI1-AI4 on Y331-0040 and AI1-AI8 on Y331-0080.

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

Modbus AddressParameterBytesR/WRange / EnumDefault
0x0031Active upload interval2RW0 disables upload; use the interval unit in the supplied firmware profile0
0x0032Slave address2RW1-2551
0x0033Baud-rate code2RW0-7; see Section 5.31
0x003AInput data format2RW0-3; see Section 5.4Read back
0x003DParity2RW0=none, 1=odd, 2=even0

4. Command Examples (CRC Included) ​

Send each request as hexadecimal bytes, including its CRC.

4.1 Read Analog Inputs ​

OperationRequest (Hex)
Read AI101 04 00 00 00 01 31 CA
Read AI201 04 00 01 00 01 60 0A
Read AI301 04 00 02 00 01 90 0A
Read AI401 04 00 03 00 01 C1 CA
Read AI501 04 00 04 00 01 70 0B
Read AI601 04 00 05 00 01 21 CB
Read AI701 04 00 06 00 01 D1 CB
Read AI801 04 00 07 00 01 80 0B

4.2 Read All Fitted Analog Inputs ​

OperationRequest (Hex)
Y331-0020: read AI1-AI201 04 00 00 00 02 71 CB
Y331-0040: read AI1-AI401 04 00 00 00 04 F1 C9
Y331-0060: read AI1-AI601 04 00 00 00 06 70 08
Y331-0080: read AI1-AI801 04 00 00 00 08 F1 CC

4.3 Interpret an AI1 Response ​

text
Request:  01 04 00 00 00 01 31 CA
Response: 01 04 02 03 E8 B9 8E

The returned word is 0x03E8, decimal 1000. With fixed three-decimal format and voltage encoding, it represents 1.000 V. For milliamp inputs, apply the hardware-specific conversion in Section 6.4.

4.4 Parameter Read/Write ​

OperationRequest (Hex)
Read slave address (0x0032)01 03 00 32 00 01 25 C5
Write slave address = 201 06 00 32 00 02 A9 C4
Read baud-rate code (0x0033)01 03 00 33 00 01 74 05
Write baud rate = 38400 bps (code 4)01 06 00 33 00 04 78 06
Read input data format (0x003A)01 03 00 3A 00 01 A4 07
Write fixed three-decimal format (code 2)01 06 00 3A 00 02 28 06

Slave address, baud rate, parity, and input data format persist after power loss. Changes take effect after power cycling. Reconnect using the new serial settings.


5. Parameter Configuration ​

5.1 Wiring and First Connection ​

Mounting: Screw mounting. Secure the module to a cabinet backplate or another flat surface using the enclosure mounting slots before wiring.

GroupConnection
DC+ / DC-6-36 VDC supply positive / negative
V+ / V-Voltage input positive / negative for each channel
I+ / I-Current input positive / negative for each channel
A/H / B/LUse the interface-specific terminal drawing for pin assignments
PEEarth terminal; follow the model-specific drawing

With power disconnected, check the ordered range and terminal labels. Use the matching voltage or current terminals. Connect voltage inputs across the source and current inputs in series with the measured circuit. Keep each channel's input return separate to preserve the isolation between channels.

Start with one module and one RS485 master using the settings from the firmware-specific documentation. Read AI1 and compare the decoded result with a known signal. Assign a unique address to each module on the bus.

5.2 Slave Address ​

Write a value from 1 to 255 to register 0x0032.

5.3 Serial Settings ​

Baud rate uses a 16-bit code at 0x0033.

Baud-rate codeBaud rate (bps)
04800
19600
214400
319200
438400
556000
657600
7115200

Set parity at 0x003D: 0 = none, 1 = odd, 2 = even. Serial frames have 8 data bits and 1 stop bit.

5.4 Input Data Format ​

Set the decimal format at 0x003A:

CodeFormat
0Variable decimal
1Fixed two decimals
2Fixed three decimals
3Fixed four decimals

Register 0x003A controls the value encoding, not the physical input range. The ordered hardware determines the signal range.

5.5 Active Upload Interval ​

Register 0x0031 controls active upload; 0 disables it. Set the interval using the unit in the supplied firmware profile. For a profile that uses 0.01 s per count, 200 gives 2 s. Keep upload disabled during initial polling.

5.6 Hardware Address and Baud Controls ​

Set the address and baud rate according to the supplied DIP-switch table. Follow its switch/register priority and reset procedure, then reconnect with the active settings.


6. Analog Value Conversion ​

6.1 Variable Decimal Input Format ​

For raw register value R, the ten-thousands digit sets the number of decimal places. The remaining four digits give the magnitude:

text
d = floor(R / 10000)
n = R % 10000
decoded value = n / 10^d

Example: R = 31000 gives d = 3, n = 1000, and a decoded value of 1.000.

6.2 Fixed Decimal Input Format ​

text
decoded value = R / 10^d

The value of d is 2, 3, or 4, as selected by register 0x003A. With fixed three-decimal format, R = 1000 gives 1.000.

Fixed four-decimal voltage encoding represents at most 6.5535 V in an unsigned 16-bit register. Select two- or three-decimal encoding for the full range of 0-10 V and 0-30 V inputs. Check the required precision for millivolt inputs against a known reference signal.

6.3 Voltage Inputs ​

The decoded input value is in volts. For example, 1.000 V equals 1000 mV.

6.4 Milliamp Inputs: 0-20 mA and 4-20 mA ​

For inputs that encode the voltage across a 249 Ω sampling resistor, convert the decoded voltage to current using the formulas below. Apply them only when the supplied firmware profile specifies this encoding and resistance:

text
current (A)  = decoded voltage (V) / 249
current (mA) = decoded voltage (V) × 1000 / 249

Example: 1.000 V / 249 Ω = 0.004016 A, approximately 4.016 mA. This example assumes the 249 Ω voltage encoding. Scale it separately to the transmitter's engineering range when required.

For a 4-20 mA transmitter whose endpoints are low and high:

text
engineering value = low + (current_mA - 4) × (high - low) / 16

6.5 Ampere Inputs: 0-2 A and 0-10 A ​

For firmware profiles that report ampere inputs in A, compare the decoded value with a known current during commissioning.


7. Troubleshooting ​

SymptomCauseSolution
No responseSupply, wiring, or communication setting mismatchCheck supply, A/B polarity, address, baud rate, and parity
Response stops after configurationModule and host settings differPower-cycle and reconnect using the new settings
Input value has the wrong scaleIncorrect decimal formatRead 0x003A and decode with the corresponding format
Milliamp value is incorrectConversion does not match the hardwareUse the encoding and sampling resistance specified for the hardware
Some channels cannot be readRequest exceeds the fitted AI countMatch the register count to the model

LED Indicators ​

IndicatorFunction
PWRPower indicator

For troubleshooting assistance, email [email protected] with the full model, signal ranges, serial settings, request frame, and response frame.