The Sequent Microsystems Four Relays four HV Inputs 8-Layer Stackable HAT for Raspberry Pi V 4.0 or higher can be accessed thru Modbus RTU protocol over RS-485 port. You can set-up the RS-485 port with 4rel4in command.
Example:
~$ 4rel4in 0 cfg485wr 1 9600 1 0 1
Set Modbus RTU , Baudrate: 9600bps, 1 Stop Bit, parity: None, slave address base: 1
~$ 4rel4in -h cfg485wr
display the full set of options
The three address jumpers have a dual purpose. When the card is accessed from Raspberry Pi, the jumpers define the offset of the I2C address, permitting stacking of up to 8 cards. When the card is accessed through MODBUS protocol over the RS485 port, the jumpers define the offset of the RS485 base address set by the software.
All modbus RTU object type with standard addresses are implemented : Coils, Discrete Inputs, Input registers, Holding registers.
Acces level Read/Write, Size 1 bit
Device function | Register Address | Modbus Address | Description |
---|---|---|---|
RELAY1 | 0001 | 0x00 | Relay #1 control |
RELAY2 | 0002 | 0x01 | Relay #2 control |
RELAY3 | 0003 | 0x02 | Relay #3 control |
RELAY4 | 0004 | 0x03 | Relay #4 control |
LED1_MAN | 0005 | 0x04 | LED1 control type (0 copy the input state/ 1 manual) |
ED2_MAN | 0006 | 0x05 | LED2 control type |
LED3_MAN | 0007 | 0x06 | LED3 control type |
LED4_MAN | 0008 | 0x07 | LED4 control type |
LED1 | 0009 | 0x08 | LED1 turn coil |
LED2 | 0010 | 0x09 | LED2 turn coil |
LED3 | 0011 | 0x0a | LED3 turn coil |
LED4 | 0012 | 0x0b | LED4 turn coil |
IN1_COUNT_ENABLE | 0013 | 0x0c | Counter enable on input #1 |
IN2_COUNT_ENABLE | 0014 | 0x0d | Counter enable on input #2 |
IN3_COUNT_ENABLE | 0015 | 0x0e | Counter enable on input #3 |
IN4_COUNT_ENABLE | 0016 | 0x0f | Counter enable on input #4 |
ENCODER1_ENABLE | 0017 | 0x10 | Encoder enable on inputs #1/2 |
ENCODER2_ENABLE | 0018 | 0x011 | Encoder enable on inputs #3/4 |
Access level Read Only, Size 1 bit
Device function | Register Address | Modbus Address | Description |
---|---|---|---|
IN_1 | 10001 | 0x00 | input #1 state |
IN_2 | 10002 | 0x01 | input #2 state |
IN_3 | 10003 | 0x02 | input #3 state |
IN_4 | 10004 | 0x03 | input #4 state |
AC_IN_1 | 10005 | 0x04 | filtred input #1 state (sense AC signals) |
AC_IN_2 | 10006 | 0x05 | filtred input #2 state |
AC_IN_3 | 10007 | 0x06 | filtred input #3 state |
AC_IN_4 | 10008 | 0x07 | filtred input #4 state |
BUTTON | 10008 | 0x07 | Push button state |
Access level Read Only, Size 16 bits
Device function | Register Address | Modbus Address | Measurement Unit | Description |
---|---|---|---|---|
COUNT1_L | 30001 | 0x00 | Input #1 low 16bits value | |
COUNT1_H | 30002 | 0x01 | Input #1 high 16bits value | |
COUNT2_L | 30003 | 0x02 | Input #2 low 16 bits value | |
COUNT2_H | 30004 | 0x03 | Input #2 high 16bits value | |
COUNT3_L | 30005 | 0x04 | Input #3 low 16bits value | |
COUNT3_H | 30006 | 0x05 | Input #3 high 16bits value | |
COUNT4_L | 30007 | 0x06 | Input #4 low 16bits value | |
COUNT4_H | 30008 | 0x07 | Input #4 high 16bits value | |
PPS1 | 30009 | 0x08 | Hz | Input #1 conts per second |
PPS2 | 30010 | 0x09 | Hz | Input #2 conts per second |
PPS3 | 30011 | 0x0a | Hz | Input #3 conts per second |
PPS4 | 30012 | 0x0b | Hz | Input #4 conts per second |
ENC_VAL1_L | 30013 | 0x0c | Encoder #1 counter low 16bits | |
ENC_VAL1_H | 30014 | 0x0d | Encoder #1 counter high 16bits | |
ENC_VAL2_L | 30015 | 0x0e | Encoder #2 counter low 16bits | |
ENC_VAL2_H | 30016 | 0x0f | Encoder #2 counter high 16bits | |
PWM1_FILL | 30017 | 0x10 | %/100 | Fill factor for PWM input on channel 1 |
PWM2_FILL | 30018 | 0x11 | %/100 | Fill factor for PWM input on channel 2 |
PWM3_FILL | 30019 | 0x12 | %/100 | Fill factor for PWM input on channel 3 |
PWM4_FILL | 30020 | 0x13 | %/100 | Fill factor for PWM input on channel 4 |
PWM1_FREQ | 30021 | 0x14 | Hz | Frequency for PWM input on channel 1 |
PWM2_FREQ | 30022 | 0x15 | Hz | Frequency for PWM input on channel 1 |
PWM3_FREQ | 30023 | 0x16 | Hz | Frequency for PWM input on channel 1 |
PWM4_FREQ | 30024 | 0x17 | Hz | Frequency for PWM input on channel 1 |
Access level Read/Write, Size 16 bits
Device function | Register Address | Modbus Address | Measurement Unit | Range | Description |
---|---|---|---|---|---|
RESET_COUNT_CHANNEL | 40001 | 0x00 | 1..4 | Reset counter for specified input number | |
HR_RESET_ENCODER_CHANNEL | 40002 | 0x01 | 1..2 | Reset counter for specified Encoder number |
- Read Coils (0x01)
- Read Discrete Inputs (0x02)
- Read Holding Registers (0x03)
- Read Input Registers (0x04)
- Write Single Coil (0x05)
- Write Single Register (0x06)
- Write Multiple Coils (0x0f)
- Write Multiple registers (0x10)