Difference between revisions of "HHC-N8I8OP"

From CNC Wiki
Jump to navigation Jump to search
(added another GitHub link)
(added Modbus protocol and default configuration)
 
Line 14: Line 14:
  
 
There is Chinese software to configure the MAC address, IP address, Modbus baud-rate, etc.
 
There is Chinese software to configure the MAC address, IP address, Modbus baud-rate, etc.
 +
 +
== Configuration ==
 +
 +
{| class="wikitable"
 +
! Setting
 +
! Default Value
 +
|-
 +
| Mode
 +
| TCP Service
 +
|-
 +
| Destination Port
 +
| 5000
 +
|-
 +
| Local Port
 +
| 5000
 +
|-
 +
| Implementer Name
 +
| HHC-N8I8OP
 +
|-
 +
| Input Mode
 +
| Ordinary
 +
|-
 +
| Automatic acquisition of IP
 +
| off
 +
|-
 +
| Power-off preservation
 +
| off
 +
|-
 +
| Local IP
 +
| 192.168.0.105
 +
|-
 +
| Subnet Mask
 +
| 255.255.255.0
 +
|-
 +
| Gateway
 +
| 192.168.0.1
 +
|-
 +
| Destination IP
 +
| 192.168.0.101
 +
|-
 +
| MAC Address
 +
| 485300575500
 +
|-
 +
| Domain Name
 +
|
 +
|-
 +
| Serial Baud Rate
 +
| 9600
 +
|-
 +
| Serial Parity
 +
| none
 +
|-
 +
| Serial Data Bits
 +
| 8
 +
|-
 +
| Serial Stop Bits
 +
| 1
 +
|-
 +
| Modbus TCP
 +
| off
 +
|-
 +
| Heartbeat Time Interval
 +
| 0 seconds
 +
|-
 +
| Heartbeat Content
 +
| HHC-N8I8OP
 +
|-
 +
| Heartbeat Detection Time
 +
| 0 seconds
 +
|-
 +
| Boot Firmware Version:
 +
| HHC-N8O8OP-V1.2-V00002
 +
|-
 +
| App Firmware Version:
 +
| 20201231-VS0003
 +
|}
 +
 +
== Modbus ==
 +
 +
=== Modbus TCP ===
 +
 +
By default the device has a simplistic non-Modbus plaintext "console style" protocol for querying the device. If you enable Modbus TCP mode via the configuration software, you can connect (using the same port) with Modbus TCP capable software.
 +
 +
=== Coils ===
 +
 +
The table below applies to the following Modbus function codes:
 +
 +
* Function 01: Read Coils
 +
* Function 05: Write Single Coil
 +
 +
The following appears to be unsupported:
 +
 +
* Function 15: Write Multiple Coils
 +
 +
{| class="wikitable"
 +
! Address (dec)
 +
! Description
 +
|-
 +
| 16
 +
| Relay #1
 +
|-
 +
| 17
 +
| Relay #2
 +
|-
 +
| 18
 +
| Relay #3
 +
|-
 +
| 19
 +
| Relay #4
 +
|-
 +
| 20
 +
| Relay #5
 +
|-
 +
| 21
 +
| Relay #6
 +
|-
 +
| 22
 +
| Relay #7
 +
|-
 +
| 23
 +
| Relay #8
 +
|}
 +
 +
Attempting to read addresses 0-15 or 24-128 will not give a response. Reading addresses 16-23 is known to work, though it's possible there are more valid ranges further out in the address space.
 +
 +
Attempting to write addresses 256-280 will not give a response. Writing addresses 0-255 are known to work, but only the range 16-23 has an understood purpose at the moment.
 +
 +
=== Discrete Inputs ===
 +
 +
* Function 02: Read Discrete Inputs
 +
 +
{| class="wikitable"
 +
! Address (dec)
 +
! Description
 +
|-
 +
| 32
 +
| Input #1
 +
|-
 +
| 33
 +
| Input #2
 +
|-
 +
| 34
 +
| Input #3
 +
|-
 +
| 35
 +
| Input #4
 +
|-
 +
| 36
 +
| Input #5
 +
|-
 +
| 37
 +
| Input #6
 +
|-
 +
| 38
 +
| Input #7
 +
|-
 +
| 39
 +
| Input #8
 +
|}
 +
 +
The value returned is whether or not a logic high (+5V) is present on the input. The "+5V" and "COM" (GND / 0V) pins must be powered externally.
 +
 +
NOTE: A pulse (to +5V) on Input #9 is an override to turn all relays on along with a red LED, until a pulse (to +5V) on Input #10 turns them all off.
 +
 +
Attempting to read addresses 0-31 or 256-999 will not give a response. Reading addresses 32-255 is known to work, though it's possible there are more valid ranges further out in the address space.
 +
 +
=== Holding Registers ===
 +
 +
* Function 03: Read Holding Registers
 +
* Function 06: Write Single Register
 +
* Function 16: Write Multiple Registers
 +
 +
Attempting to read addresses 0-330 doesn't work, but more of the address space will need to be explored.
 +
 +
Attempting to write addresses 0-140 doesn't work, but more of the address space will need to be explored.
 +
 +
=== Input Registers ===
 +
 +
* Function 04: Read Input Registers
 +
 +
Attempting to read addresses 0-140 doesn't work, but more of the address space will need to be explored.
  
 
== Factory Reset Button ==
 
== Factory Reset Button ==

Latest revision as of 19:35, 7 December 2021

top view
front view
back view
bottom view

Overview

Ethernet (TCP) and Modbus (RS-485) interfaced 8-channel relay output and 10 optocoupler input module.

Software

There is Chinese software to configure the MAC address, IP address, Modbus baud-rate, etc.

Configuration

Setting Default Value
Mode TCP Service
Destination Port 5000
Local Port 5000
Implementer Name HHC-N8I8OP
Input Mode Ordinary
Automatic acquisition of IP off
Power-off preservation off
Local IP 192.168.0.105
Subnet Mask 255.255.255.0
Gateway 192.168.0.1
Destination IP 192.168.0.101
MAC Address 485300575500
Domain Name
Serial Baud Rate 9600
Serial Parity none
Serial Data Bits 8
Serial Stop Bits 1
Modbus TCP off
Heartbeat Time Interval 0 seconds
Heartbeat Content HHC-N8I8OP
Heartbeat Detection Time 0 seconds
Boot Firmware Version: HHC-N8O8OP-V1.2-V00002
App Firmware Version: 20201231-VS0003

Modbus

Modbus TCP

By default the device has a simplistic non-Modbus plaintext "console style" protocol for querying the device. If you enable Modbus TCP mode via the configuration software, you can connect (using the same port) with Modbus TCP capable software.

Coils

The table below applies to the following Modbus function codes:

  • Function 01: Read Coils
  • Function 05: Write Single Coil

The following appears to be unsupported:

  • Function 15: Write Multiple Coils
Address (dec) Description
16 Relay #1
17 Relay #2
18 Relay #3
19 Relay #4
20 Relay #5
21 Relay #6
22 Relay #7
23 Relay #8

Attempting to read addresses 0-15 or 24-128 will not give a response. Reading addresses 16-23 is known to work, though it's possible there are more valid ranges further out in the address space.

Attempting to write addresses 256-280 will not give a response. Writing addresses 0-255 are known to work, but only the range 16-23 has an understood purpose at the moment.

Discrete Inputs

  • Function 02: Read Discrete Inputs
Address (dec) Description
32 Input #1
33 Input #2
34 Input #3
35 Input #4
36 Input #5
37 Input #6
38 Input #7
39 Input #8

The value returned is whether or not a logic high (+5V) is present on the input. The "+5V" and "COM" (GND / 0V) pins must be powered externally.

NOTE: A pulse (to +5V) on Input #9 is an override to turn all relays on along with a red LED, until a pulse (to +5V) on Input #10 turns them all off.

Attempting to read addresses 0-31 or 256-999 will not give a response. Reading addresses 32-255 is known to work, though it's possible there are more valid ranges further out in the address space.

Holding Registers

  • Function 03: Read Holding Registers
  • Function 06: Write Single Register
  • Function 16: Write Multiple Registers

Attempting to read addresses 0-330 doesn't work, but more of the address space will need to be explored.

Attempting to write addresses 0-140 doesn't work, but more of the address space will need to be explored.

Input Registers

  • Function 04: Read Input Registers

Attempting to read addresses 0-140 doesn't work, but more of the address space will need to be explored.

Factory Reset Button

The tactile button is hooked to pin 93 (PB7) of the microcontroller, it is used for factory reset.

Debug Interface

Header labeled "P2":

Silkscreen MCU Pin Function
G GND
K 76 SWCLK/PA14
S 72 SWDIO/PA13
V +3.3V

Bill of Materials

HHC-N8I8OP-V1.2-2019/05/03
Name Markings
U5 AMS1117-3.3
2011
U6 M2303ADN
M4776028
MPSM23
?? ST ULN2003
GO021010
?? ATMLH021
02CM CN
2021E6H
?? GigaDevice GD32F107VCT6
CEEF481
AJ2038
?? SP485EE
2027L
H1PF54
?? EL817
C038
?? HanRun HR911105A 20/26
?? HUI KE HK3FF-DC5V-SHG
?? KEFA KF2EDGV/R [2-pos]
?? KEFA KF2EDGV/R [3-pos]
?? KEFA KF2EDGV/R [12-pos]

Online Resources

Amazon.com: Walfront 8 Channel Network Relay Module Remote Control Relay Device Ethernet to RS485, TCP Relay Module: Home & Kitchen

HHC-N8I8OP 8 Network TCP Relay Module Remote Control Relay Device DC7~24V | eBay (source for photos)

8 way network relay RS485 to Ethernet switch controller MODBUS TCP IP relay|Relays| - AliExpress

8I8O-road Modbus TCP relay switch_DANIU-IoT

Умный дом - Общая тема - 4PDA

Need help with Baidu Wangpan - Chinese Computing and Electronics - Chinese-forums.com

natm/iocontrollergw: I/O Controller Gateway | GitHub

Sigmund Kreuzer / HHC-N-8I8O Relais board · GitLab

gabrielgbs97/hhc_n8i8op_mqtt | GitHub