“LC-NW-3-1”的版本间的差异

来自LCWIKI
跳转至: 导航搜索
概述
 
(未显示同一用户的76个中间版本)
第1行: 第1行:
  
 
== 产品名称 ==
 
== 产品名称 ==
Modbus RTU 单路网络继电器模块 有线以太网   局域网控制 1路输出<br>
+
Modbus RTU 单路网络继电器模块 有线以太网 局域网控制 1路输出<br>
  
 +
 +
== 关于LC-NW-3-1 ==
 +
艾尔赛单路Modbus网络继电器模块搭载成熟稳定的32位MCU和W5500全硬件TCP/IP协议栈网络芯片。预留MCU调试接口支持二次开发<br>
 +
采用标准MODBUS RTU格式的通讯协议,可以实现局域网内控制1路继电器输出,可用于有线网络下的功率控制场合<br>
  
 
== LC-NW-3-1视图 ==
 
== LC-NW-3-1视图 ==
正面图:<br>
+
'''<big>LC-NW-3-1正面图</big>'''<br>
[[Image:NW3-1-01.px]]<br>
+
[[Image:NW-3-1-01.png]]<br><br>
反面图:<br>
+
<big>'''LC-NW-3-1反面图'''</big><br>
[[Image:NW3-1-02.px]]<br>
+
[[Image:NW-3-1-02.png]]<br>
  
  
== 概述 ==
+
== 功能特点 ==
1,板载成熟稳定的32bit MCU STM32F103C6T6芯片;<br>
+
*板载成熟稳定的32bit MCU STM32F103C6T6芯片<br>
2,板载W5500全硬件TCP/IP协议栈以太网芯片,支持10/100M bps速率;<br>
+
*板载W5500全硬件TCP/IP协议栈以太网芯片,支持10/100M bps速率<br>
3,通讯协议:支持标准Modbus RTU协议;<br>
+
*通讯协议:支持标准Modbus RTU协议<br>
4,设备作为TCP Server端,支持IP地址DHCP功能,端口号5000;<br>
+
*设备作为TCP Server端,支持IP地址DHCP功能,端口号5000<br>
5,可通过串口查看模块IP地址,UART通讯波特率:115200;<br>
+
*可通过串口查看模块IP地址,UART通讯波特率:115200<br>
6,输出信号:继电器开关信号,支持手动、闪闭、闪断模式,闪闭/闪断的延时基数为0.1s,最大可设闪闭/闪断时间为0xFFFF*0.1S=6553.5S;<br>
+
*输出信号:继电器开关信号,支持手动、闪闭、闪断模式,闪闭/闪断的延时基数为0.1s,最大可设闪闭/闪断时间为0xFFFF*0.1S=6553.5S<br>
7,设备地址:范围1-255,默认255,支持掉电保存;<br>
+
*设备地址:范围1-255,默认255,支持掉电保存<br>
8,继电器状态、设备地址可使用软件/指令进行读取;<br>
+
*继电器状态、设备地址可使用软件/指令进行读取<br>
9,板载1路5V,10A/250V AC 10A/30V DC继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短;<br>
+
*板载1路5V,10A/250V AC 10A/30V DC继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短<br>
10,板载电源和继电器开关指示灯;<br>
+
*板载电源和继电器开关指示灯<br>
11,板载MCU复位按键;<br>
+
*板载MCU复位按键<br>
12,预留UART串口和SWD程序烧写口,支持二次开发;<br>
+
*预留UART串口和SWD程序烧写口,支持二次开发<br>
13,供电电压:DC7-28V,支持5.08mm端子供电,带输入防反接保护。<br>
+
*供电电压:DC7-28V,支持5.08mm端子供电,带输入防反接保护<br>
  
  
 
== 硬件介绍和说明 ==
 
== 硬件介绍和说明 ==
'''1,板子尺寸:73mm*45mm<br>重量:32g<br>'''
+
'''<big>板子尺寸重量</big>'''<br>
[[Image:NW3-1-03.px]]<br>
+
板子尺寸:73*45mm/32g<br>
 
+
[[Image:NW-3-1-03.png|550px|]]<br><br>
'''2,接口介绍'''<br>
+
'''<big>接口介绍</big>'''<br>
[[Image:NW3-1-04.px]]<br>
+
[[Image:NW-3-1-04.jpg|550px|]]<br>
1,主控MCU:STM32F103C6T6;<br>
+
1.主控MCU:STM32F103C6T6<br>
2,网络芯片:W5500全硬件TCP/IP协议栈以太网芯片;<br>
+
2.网络芯片:W5500全硬件TCP/IP协议栈以太网芯片<br>
3,网络接口:10M/100Mbps HR911105A网络变压器;<br>
+
3.网络接口:10M/100Mbps HR911105A网络变压器<br>
4,5.08mm端子供电口:DC7~28V电源输入,其中GND为负;<br>
+
4.5.08mm端子供电口:DC7~28V电源输入,其中GND为负<br>
5,MCU复位按键:短按一下复位;<br>
+
5.MCU复位按键:短按一下复位<br>
6,MCU SWD调试接口:二次开发烧写用;<br>
+
6.MCU SWD调试接口:二次开发烧写用<br>
7,MCU UART调试接口:GND,RXD,TXD:TTL电平UART通讯接口,GND,RXD,TXD分别接外部控制端的GND,TXD,RXD,支持连接3.3V/5V外部TTL串口,默认用于串口查看设备IP地址和端口号,波特率115200;<br>
+
7.MCU UART调试接口:GND,RXD,TXD:TTL电平UART通讯接口,GND,RXD,TXD分别接外部控制端的GND,TXD,RXD<br>支持连接3.3V/5V外部TTL串口,默认用于串口查看设备IP地址和端口号,波特率115200<br>
8,1路继电器开关信号输出:<br>
+
8.1路继电器开关信号输出:<br>
NC:常闭端,继电器吸合前与COM短接,吸合后悬空;<br>
+
NC:常闭端,继电器吸合前与COM短接,吸合后悬空<br>
COM:公共端;<br>
+
COM:公共端<br>
NO:常开端,继电器吸合前悬空,吸合后与COM短接。<br>
+
NO:常开端,继电器吸合前悬空,吸合后与COM短接<br><br>
 
 
 
 
== Modbus RTU指令简介 ==
 
Modbus设备通过接收来自外部控制端(如:上位机)的Modbus RTU指令来执行相关操作,一帧指令一般由设备地址、功能码、寄存器地址、寄存器数据、校验码组成,帧长度和功能码有关。一般每帧数据的首字节为设备地址,可设置范围为1-255,默认255(即0xFF),最后2字节为CRC校验码。<br>
 
  
 +
<big>''' Modbus RTU指令简介'''</big><br>
 +
Modbus设备通过接收来自外部控制端(如:上位机)的Modbus RTU指令来执行相关操作<br>一帧指令一般由设备地址、功能码、寄存器地址、寄存器数据、校验码组成,帧长度和功能码有关<br>
 +
一般每帧数据的首字节为设备地址,可设置范围为1-255,默认255(即0xFF),最后2字节为CRC校验码<br><br>
 
假设设备地址为255,则常用的Modbus RTU指令如下:<br>
 
假设设备地址为255,则常用的Modbus RTU指令如下:<br>
1,打开1号继电器(手动模式)<br>
+
1.打开1号继电器(手动模式)<br>
发送:FF 05 00 00 FF 00 99 E4<br>
+
发送:    FF 05 00 00 FF 00 99 E4<br>
 
原样返回:FF 05 00 00 FF 00 99 E4<br>
 
原样返回:FF 05 00 00 FF 00 99 E4<br>
备注:(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F<br>
+
备注:<br>(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F<br>
(2)发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器<br>
+
(2)发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器<br><br>
 
+
2.关闭1号继电器(手动模式)<br>
2,关闭1号继电器(手动模式)<br>
+
发送:    FF 05 00 00 00 00 D8 14 <br>
发送:FF 05 00 00 00 00 D8 14 <br>
+
原样返回:FF 05 00 00 00 00 D8 14 <br><br>
原样返回:FF 05 00 00 00 00 D8 14 <br>
+
3.打开2号继电器(手动模式)<br>
 
+
发送:    FF 05 00 01 FF 00 C8 24 <br>
3,打开2号继电器(手动模式)<br>
+
原样返回:FF 05 00 01 FF 00 C8 24 <br><br>
发送:FF 05 00 01 FF 00 C8 24 <br>
+
4.关闭2号继电器(手动模式)<br>
原样返回:FF 05 00 01 FF 00 C8 24 <br>
+
发送:    FF 05 00 01 00 00 89 D4 <br>
 
+
原样返回:FF 05 00 01 00 00 89 D4 <br><br>
4,关闭2号继电器(手动模式)<br>
+
5.打开所有继电器<br>
发送:FF 05 00 01 00 00 89 D4 <br>
 
原样返回:FF 05 00 01 00 00 89 D4 <br>
 
 
 
5,打开所有继电器<br>
 
 
发送:FF 0F 00 00 00 20 01 FF B0 15<br>   
 
发送:FF 0F 00 00 00 20 01 FF B0 15<br>   
返回:FF 0F 00 00 00 20 41 CD<br>
+
返回:FF 0F 00 00 00 20 41 CD<br><br>
 
+
6.关闭所有继电器<br>
6,关闭所有继电器<br>
 
 
发送:FF 0F 00 00 00 20 01 00 F0 55<br>
 
发送:FF 0F 00 00 00 20 01 00 F0 55<br>
返回:FF 0F 00 00 00 20 41 CD<br>
+
返回:FF 0F 00 00 00 20 41 CD<br><br>
 
+
7.设置设备地址为1<br>
7,设置设备地址为1<br>
+
发送:    00 10 00 00 00 01 02 00 01 6A 00<br>
发送:00 10 00 00 00 01 02 00 01 6A 00 <br>
 
 
原样返回:00 10 00 00 00 01 02 00 01 6A 00<br>
 
原样返回:00 10 00 00 00 01 02 00 01 6A 00<br>
备注:发送帧的第9个字节0x01为写入的设备地址 <br>
+
备注:发送帧的第9个字节0x01为写入的设备地址 <br><br>
 
+
8.设置设备地址为255<br>
8,设置设备地址为255<br>
+
发送:    00 10 00 00 00 01 02 00 FF EB 80<br>   
发送:00 10 00 00 00 01 02 00 FF EB 80<br>   
 
 
原样返回:00 10 00 00 00 01 02 00 FF EB 80<br>
 
原样返回:00 10 00 00 00 01 02 00 FF EB 80<br>
备注:发送帧的第9个字节0xFF为写入的设备地址<br>
+
备注:发送帧的第9个字节0xFF为写入的设备地址<br><br>
 
+
9.读取设备地址<br>  
9,读取设备地址<br>  
+
发送:    00 03 00 00 00 01 85 DB <br>  
发送:00 03 00 00 00 01 85 DB <br>  
+
返回:    00 03 02 00 FF C5 C4 <br>
返回:00 03 02 00 FF C5 C4 <br>
+
备注:返回帧的第5个字节0xFF为读取到的设备地址<br><br>
备注:返回帧的第5个字节0xFF为读取到的设备地址<br>
+
10.读取继电器状态<br>  
 
+
发送:    FF 01 00 00 00 20 28 0C<br>
10,读取继电器状态<br>  
+
返回:    FF 01 04 00 00 00 01 25 DE<br>  
发送: FF 01 00 00 00 20 28 0C<br>
+
备注:返回帧的第4-7个字节的Bit31-Bit0 分别代表#32 继电器--#1 继电器状态,0 为关,1 为开<br><br>
返回:FF 01 04 00 00 00 01 25 DE<br>  
+
11.打开1号继电器(闪闭模式2S)<br>
 
+
发送:    FF 10 00 00 00 02 04 00 04 00 14 85 8A<br>
备注:返回帧的第4-7个字节的Bit31-Bit0 分别代表#32 继电器--#1 继电器状态,0 为关,1 为开<br>
+
返回:    FF 10 00 00 00 02 A4 16<br>
 
+
备注:<br>(1)发送帧的第3--4个字节代表继电器地址,#1 继电器--#32 继电器地址分别为:0x0000-0x001F<br>
11,打开1号继电器(闪闭模式2S)<br>
+
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x0014*0.1=20*0.1S=2S,继电器打开2S后自动关闭<br><br>
发送:FF 10 00 00 00 02 04 00 04 00 14 85 8A<br>
+
12.关闭1号继电器(闪断模式3S)<br>
返回:FF 10 00 00 00 02 A4 16<br>
+
发送:    FF 10 00 00 00 02 04 00 02 00 1E E5 8C<br>
备注:(1)发送帧的第3--4个字节代表继电器地址,#1 继电器--#32 继电器地址分别为:0x0000-0x001F<br>
+
返回:    FF 10 00 00 00 02 54 16<br>
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x0014*0.1=20*0.1S=2S,继电器打开2S后自动关闭<br>
+
备注:<br>(1)发送帧的第3--4个字节代表继电器地址,#1 继电器--#32 继电器地址分别为:0x0000-0x001F<br>
 
+
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x001E*0.1=30*0.1S=3S,继电器关闭3S后自动打开<br><br>
12,关闭1号继电器(闪断模式3S)<br>
 
发送:FF 10 00 00 00 02 04 00 02 00 1E E5 8C<br>
 
返回:FF 10 00 00 00 02 54 16<br>
 
备注:(1)发送帧的第3--4个字节代表继电器地址,#1 继电器--#32 继电器地址分别为:0x0000-0x001F<br>
 
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x001E*0.1=30*0.1S=3S,继电器关闭3S后自动打开<br>
 
 
 
  
== 简单使用说明 ==
+
<big>''' 简单使用说明 '''</big><br>
'''1,查看设备参数'''
+
'''1.查看设备参数'''<br>
 
设备上电后会使用DHCP功能自动获取IP地址,需使用串口调试助手来查看设备IP和端口号(注:所有设备的端口号都是5000),方法如下:<br>
 
设备上电后会使用DHCP功能自动获取IP地址,需使用串口调试助手来查看设备IP和端口号(注:所有设备的端口号都是5000),方法如下:<br>
  
 
(1)插上网线,UART调试口连接USB转TTL模块(如:CH340),连接电源,其中UART接线如下:<br>
 
(1)插上网线,UART调试口连接USB转TTL模块(如:CH340),连接电源,其中UART接线如下:<br>
{| class="wikitable" style="width:800px"
+
{| class="wikitable" style="width:800px;text-align:center"
 
|-
 
|-
 
| 网络继电器模块 || TTL模块  
 
| 网络继电器模块 || TTL模块  
| GND || GND
+
|-
| TXD || RXD
+
| GND || GND
| RXD || TXD
+
|-
 +
| TXD || RXD
 +
|-
 +
| RXD || TXD
 
|}
 
|}
[[Image:NW3-1-05.png]]<br>
+
[[Image:NW-3-1-05.jpg|550px|]]<br><br>
 
+
(2)打开串口调试助手(如:SSCOM),选择正确的COM口,波特率115200<br>模块上电或者按一下复位键后越过6s会自动获得IP地址,请记住此IP地址和端口号,如下:<br>
(2)打开串口调试助手(如:SSCOM),选择正确的COM口,波特率115200,模块上电或者按一下复位键后越过6s会自动获得IP地址,请记住此IP地址和端口号,如下:<br>
+
[[Image:NW-3-1-06.png|650px|]]<br><br>
[[Image:NW3-1-06.png]]<br>
+
'''2.使用网络调试助手控制设备'''<br>
 
 
'''2,使用网络调试助手控制设备'''
 
 
设备成功获得IP地址后会生成一个TCP Server端供Client端连接,以发送一条TCP指令控制继电器为例(假设设备地址为255),步骤如下:<br>
 
设备成功获得IP地址后会生成一个TCP Server端供Client端连接,以发送一条TCP指令控制继电器为例(假设设备地址为255),步骤如下:<br>
 
(1)打开网络调试助手,选择协议类型:TCP Client,以及上一步所得到的IP地址和端口号,点击连接<br>
 
(1)打开网络调试助手,选择协议类型:TCP Client,以及上一步所得到的IP地址和端口号,点击连接<br>
[[Image:NW3-1-07.png]]<br>
+
[[Image:NW-3-1-07.png|650px|]]<br><br>
 
 
 
(2)连接成功后,在数据发送窗口输入打开1号继电器的指令:FF 05 00 00 FF 00 99 E4,若继电器有动作说明通讯正常<br>
 
(2)连接成功后,在数据发送窗口输入打开1号继电器的指令:FF 05 00 00 FF 00 99 E4,若继电器有动作说明通讯正常<br>
[[Image:NW3-1-08.png]]<br>
+
[[Image:NW-3-1-08.png|650px|]]<br><br>
 +
<big>'''如何生效校验码 '''</big><br>
 +
Modbus RTU指令通过现成的上位机软件(如:ModbusRTU配置工具)来发送时,CRC校验码是自动生成的,如果想使用网络调试软件(如NetAssist)<br>
 +
来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式):<br>
 +
1.打开/关闭继电器(手动模式)的发送帧组成为:<br>
 +
设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte)<br><br>
 +
2,假设设备地址为0xFF, 则发送帧的前6个字节为:FF 05 00 00 FF 00<br><br>
 +
3,使用CRC校验工具对这6个字节求验证码:http://www.ip33.com/crc.html<br>
 +
[[Image:NW-3-1-09.png|650px|]]<br><br>
 +
4.交换校验计算结果E499的高低字节位置后得到CRC校验码99E4,以及完成的发送帧:FF 05 00 00 FF 00 99 E4<br><br>
 +
5.将该发送帧通过网络调试助手发送到Modbus继电器模块即可打开第一路继电器<br><br>
  
 +
== Modbus RTU指令详解 ==
 +
'''1.打开1号继电器(手动模式)'''<br>
 +
发送:    FF 05 00 00 FF 00 99 E4
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 05 || 功能码||写单个线圈 
 +
|-
 +
| 00 00 || 继电器地址||0x0000--0x0007分别代表#1继电器--#8继电器
 +
|-
 +
| FF 00 || 开/关命令||0x0000为关,0xFF00为开
 +
|-
 +
| 99 E4 || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
原样返回:FF 05 00 00 FF 00 99 E4<br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 05 || 功能码||写单个线圈 
 +
|-
 +
| 00 00 || 继电器地址||0x0000--0x0007分别代表#1继电器--#8继电器
 +
|-
 +
| FF 00 || 开/关命令||0x0000为关,0xFF00为开
 +
|-
 +
| 99 E4 || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''2.关闭1号继电器(手动模式''')<br>
 +
发送:    FF 05 00 00 00 00 D8 14
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 05 || 功能码||写单个线圈 
 +
|-
 +
| 00 00 || 继电器地址||0x0000--0x0007分别代表#1继电器--#8继电器
 +
|-
 +
| 00 00 || 开/关命令||0x0000为关,0xFF00为开
 +
|-
 +
| D8 14 || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
原样返回:FF 05 00 00 00 00 D8 14<br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 05 || 功能码||写单个线圈 
 +
|-
 +
| 00 00 || 继电器地址||0x0000--0x0007分别代表#1继电器--#8继电器
 +
|-
 +
| 00 00 || 开/关命令||0x0000为关,0xFF00为开
 +
|-
 +
| D8 14 || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''3.打开所有继电器'''<br>
 +
发送:    FF 0F 00 00 00 20 01 FF B0 15
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 0F || 功能码||写多个线圈
 +
|-
 +
| 00 00 || 起始地址||#1继电器地址 
 +
|-
 +
| 00 20 || 继电器数量||要控制的继电器总数量
 +
|-
 +
| 01 || 命令字节数||控制命令字长度
 +
|-
 +
| FF ||控制命令 ||0x00为全关,0xFF为全开
 +
|-
 +
| B0 15 || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
返回:FF 0F 00 00 00 20 41 CD
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 0F || 功能码||写多个线圈 
 +
|-
 +
| 00 00 || 起始地址||#1继电器地址
 +
|-
 +
| 00 20 || 继电器数量||要控制的继电器总数量
 +
|-
 +
| 41 CD || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''4.关闭所有继电器'''<br>
 +
发送:    FF 0F 00 00 00 20 01 00 F0 55
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 0F || 功能码||写多个线圈
 +
|-
 +
| 00 00 || 起始地址||#1继电器地址 
 +
|-
 +
| 00 20 || 继电器数量||要控制的继电器总数量
 +
|-
 +
| 01 || 命令字节数||控制命令字长度
 +
|-
 +
| 00 ||控制命令 ||0x00为全关,0xFF为全开
 +
|-
 +
| F0 15 || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
返回:FF 0F 00 00 00 20 41 CD
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255 
 +
|-
 +
| 0F || 功能码||写多个线圈 
 +
|-
 +
| 00 00 || 起始地址||#1继电器地址
 +
|-
 +
| 00 20 || 继电器数量||要控制的继电器总数量
 +
|-
 +
| 41 CD || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''5.设置设备地址为255'''<br>
 +
发送:    00 10 00 00 00 01 02 00 FF EB 80  <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| 00 || 固定值|| 
 +
|-
 +
| 10 || 功能码||写多个寄存器
 +
|-
 +
| 00 00 || 起始地址|| 
 +
|-
 +
| 00 01 || 写寄存器个数||
 +
|-
 +
| 02 || 写寄存器字节数||写寄存器数据长度
 +
|-
 +
| 00 FF ||寄存器数据 ||写入设备地址0x00FF,范围:0x0001-0x00FF
 +
|-
 +
| E8 80 || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
原样返回:00 10 00 00 00 01 02 00 FF EB 80
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| 00 || 固定值||
 +
|-
 +
| 10 || 功能码||写多个寄存器
 +
|-
 +
| 00 00 || 起始地址||
 +
|-
 +
| 00 01 || 写寄存器个数||
 +
|-
 +
| 02 || 写寄存器字节数||写寄存器数据长度
 +
|-
 +
| 00 FF ||寄存器数据 ||即:写入设备地址0x00FF,范围:0x0001-0x00FF
 +
|-
 +
| EB 80 || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''6.读取设备地址255'''<br>
 +
发送:    00 03 00 00 00 01 85 DB  <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| 00 || 固定值|| 
 +
|-
 +
| 03 || 功能码||读保持寄存器
 +
|-
 +
| 00 00 || 起始地址|| 
 +
|-
 +
| 00 01 || 寄存器数量||读寄存器数量
 +
|-
 +
| 85 DB || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
返回:00 03 02 00 FF C5 C4
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| 00 || 固定值||
 +
|-
 +
| 03 || 功能码||读保持寄存器
 +
|-
 +
| 02 || 数据字节数||从寄存器读取到的数据长度
 +
|-
 +
| 00 FF ||寄存器数据 ||读取到设备地址为0x00FF
 +
|-
 +
| C5 C4 || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''7.读取继电器状态'''<br>
 +
发送:  FF 01 00 00 00 20 28 0C <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址|| 范围1-255,默认255
 +
|-
 +
| 01 || 功能码||读线圈状态
 +
|-
 +
| 00 00 || 起始地址||#1继电器地址 
 +
|-
 +
| 00 20 || 寄存器数量||要读取的继电器总数量为0x0008
 +
|-
 +
| 28 0C || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
返回: FF 01 04 00 00 00 01 25 DE
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 固定值||
 +
|-
 +
| 01 || 功能码||读保持寄存器
 +
|-
 +
| 04 || 数据字节数||从寄存器读取到的数据长度
 +
|-
 +
| 00 00<br>00 01 ||数据 ||读取到的数据,Bit0-Bit3分别代表#1继电器--#32继电器状态,0为关,1为开
 +
|-
 +
| 25 DE || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''8.打开1号继电器(闪闭模式2S)'''<br>
 +
发送:  FF 10 00 00 00 02 04 00 04 00 14 85 8A <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址|| 范围1-255,默认255
 +
|-
 +
| 10 || 功能码||写多个寄存器
 +
|-
 +
| 00 00 || 继电器地址||#1继电器--#32继电器地址分别为0x0000-0x001F 
 +
|-
 +
| 00 02 || 写寄存器个数||
 +
|-
 +
| 04 || 写寄存器字节数||写寄存器数据长度
 +
|-
 +
| 00 04 || 寄存器1数据||闪闭/闪断值,0x0004代表闪闭,0x0002代表闪断
 +
|-
 +
| 00 14 || 寄存器2数据||延时设置值,范围:0x0001--0xFFFF。延时基数为0.1S,<br>故延时时间为0x0014*0.1=20*0.1S=2S,#1继电器闭合2S后自动断开
 +
|-
 +
| C5 9F || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
返回:  FF 10 00 00 00 02 A4 16
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255
 +
|-
 +
| 10 || 功能码||写多个寄存器
 +
|-
 +
| 00 00 || 继电器地址||#1继电器--#32继电器地址分别为:0x0000-0x001F
 +
|-
 +
| 00 02 ||写寄存器个数 ||
 +
|-
 +
| 54 16 || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
 +
'''9.关闭1号继电器(闪断模式3S)'''<br>
 +
发送: FF 10 00 00 00 02 04 00 02 00 1E E5 8C <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址|| 范围1-255,默认255
 +
|-
 +
| 10 || 功能码||写多个寄存器
 +
|-
 +
| 00 00 || 继电器地址||#1继电器--#32继电器地址分别为0x0000-0x001F 
 +
|-
 +
| 00 02 || 写寄存器个数||
 +
|-
 +
| 04 || 写寄存器字节数||写寄存器数据长度
 +
|-
 +
| 00 02 || 寄存器1数据||闪闭/闪断值,0x0004代表闪闭,0x0002代表闪断
 +
|-
 +
| 00 1E || 寄存器2数据||延时设置值,范围:0x0001--0xFFFF。延时基数为0.1S,<br>故延时时间为0x001E*0.1=30*0.1S=3S,#1继电器闭合3S后自动断开
 +
|-
 +
| E5 8C || CRC16||CRC-16/MODBUS校验码
 +
|}<br>
 +
返回:FF 10 00 00 00 02 54 16
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| FF || 设备地址||范围1-255,默认255
 +
|-
 +
| 10 || 功能码||写多个寄存器
 +
|-
 +
| 00 00 || 继电器地址||#1继电器--#32继电器地址分别为:0x0000-0x001F
 +
|-
 +
| 00 02 ||写寄存器个数 ||
 +
|-
 +
| 54 16 || CRC16||CRC-16/MODBUS校验码
 +
|}<br><br>
  
== 如何生效校验码 ==
+
== 串口指令详解 ==
Modbus RTU指令通过现成的上位机软件(如:ModbusRTU配置工具)来发送时,CRC校验码是自动生成的,如果想使用网络调试软件(如NetAssist)来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式):<br>
+
'''1.设置默认MAC地址为00.00.00.58.58.58'''<br>
1,打开/关闭继电器(手动模式)的发送帧组成为:<br>
+
发送:A0 A0 01 00 00 00 58 58 58 AA AA <br>
设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte)<br>
+
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头|| 起始字节
 +
|-
 +
| 01 || 功能码||设置默认MAC地址
 +
|-
 +
| 00 00<br>00 58<br>58 58 ||默认MAC地址||6字节MAC地址<br>注意:设置时不要出现连续的A0/连续的AA以免和帧头/帧尾 冲突!<br>出厂默认值:00:08:dc:11:11:11 
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}<br>
 +
返回:A0 A0 01 01 AA AA
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头||起始字节
 +
|-
 +
| 01 || 功能码||设置默认MAC地址
 +
|-
 +
| 01 || 设置状态||返回01代表设置成功
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}<br><br>
 +
'''2.设置默认IP地址为192.168.0.88'''<br>
 +
发送:A0 A0 02 C0 A8 00 58 AA AA <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头|| 起始字节
 +
|-
 +
| 02 || 功能码||设置默认IP地址
 +
|-
 +
| C0 A8<br>00 58< ||默认IP地址||十六进制数据C0 A8 00 58代表十进制IP地址192.168.0.88<br>注意:设置时不要出现连续的A0/连续的AA以免和帧头/帧尾 冲突!<br>出厂默认值:192.168.1.88 
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}<br>
 +
返回:A0 A0 02 01 AA AA
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头||起始字节
 +
|-
 +
| 02 || 功能码||设置默认IP地址
 +
|-
 +
| 01 || 设置状态||返回01代表设置成功
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}<br><br>
 +
'''3.设置默认网关为192.168.0.1'''<br>
 +
发送:A0 A0 03 C0 A8 00 01 AA AA <br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头|| 起始字节
 +
|-
 +
| 03 || 功能码||设置默认网关
 +
|-
 +
| C0 A8<br>00 01< ||默认网关||十六进制数据C0 A8 00 01代表十进制网关192.168.0.1<br>注意:设置时不要出现连续的A0/连续的AA以免和帧头/帧尾 冲突!<br>出厂默认值:192.168.1.1
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}<br>
 +
返回:A0 A0 03 01 AA AA 
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头||起始字节
 +
|-
 +
| 03 || 功能码||设置默认网关
 +
|-
 +
| 01 || 设置状态||返回01代表设置成功
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}<br><br>
 +
'''4.查询设置的参数发送:A0 A0 10 AA AA'''
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| 字段 || 含义||注释
 +
|-
 +
| A0 A0 || 帧头||起始字节
 +
|-
 +
| 10 || 功能码||查询设置的参数
 +
|-
 +
| AA AA ||帧尾||结束字节
 +
|}
 +
返回:Flash保存的默认MAC、默认IP和默认网关参数
  
2,假设设备地址为0xFF, 则发送帧的前6个字节为:FF 05 00 00 FF 00<br>
+
== 串口指令使用说明 ==
 +
'''关于默认MAC地址:'''<br>只有同一局域网下有多个Modbus网络继电器模块情况下才需要根据实际需求进行设置<br><br>
 +
'''关于默认IP地址和网关:'''<br>模块默认从路由器通过DHCP方式获得IP地址和网关参数,一般不需要设置这2个参数<br>只有DHCP获取失败的情况下才需要根据实际需求进行设置,如下:<br>
 +
[[Image:NW-3-1-10.png|500px|]]<br><br>
 +
以下以使用串口调试软件sscom5.13.1设置网络参数为例,步骤如下:<br>
 +
1.通过USB转TTL模块(如CH340/FT232模块)连接模块的串口,接线如下:<br>
 +
{| class="wikitable" style="width:800px"
 +
|-
 +
| USB转TTL模块 || 网络继电器模块
 +
|-
 +
| 3V3 || 3V3
 +
|-
 +
| GND || GND
 +
|-
 +
| TXD ||RXD
 +
|-
 +
| RXD ||TXD
 +
|}
 +
然后将USB转TTL模块插到电脑USB口<br>
 +
<div style="color:#FF0000">设置参数时可以不用插网线!'''</div><br>
 +
2.打开sscom5.13.1软件,选择正确的COM口,波特率选择115200,上电前8秒的样子模块会尝试通过DHCP获取网络参数并输出相应的调试信息<br>
 +
[[Image:NW-3-1-11.png|700px|]]<br><br>
 +
3.调试信息显示完成后就可以通过串口设置默认网络参数了,因为指令是十六进制的,所以需勾选“HEX显示”和“HEX发送”,在指令区输入指令然后点发送即可设置<br>
 +
[[Image:NW-3-1-12.png|700px|]]<br><br>
 +
'''以下是设置列举:'''<br>
 +
1.设置默认MAC地址为00.00.00.58.58.58<br>
 +
发送:A0 A0 01 00 00 00 58 58 58 AA AA<br>
 +
返回:A0 A0 01 01 AA AA<br>
 +
[[Image:NW-3-1-13.png|500px|]]<br><br>
 +
2.设置默认IP地址为192.168.0.88<br>
 +
发送:A0 A0 02 C0 A8 00 58 AA AA<br>
 +
返回:A0 A0 02 01 AA AA<br>
 +
[[Image:NW-3-1-14.png|500px|]]<br><br>
 +
3.设置默认网关为192.168.0.1<br>
 +
发送:A0 A0 03 C0 A8 00 01 AA AA<br>
 +
返回:A0 A0 03 01 AA AA<br>
 +
[[Image:NW-3-1-15.png|500px|]]<br><br>
 +
4.查询设置的参数<br>
 +
因为参数是以文本形式显示的,所以需先取消勾选“HEX显示”<br>
 +
[[Image:NW-3-1-16.png|700px|]]<br><br>
 +
发送:A0 A0 10 AA AA<br>
 +
返回:<br>
 +
Flash存储的网络参数如下:<br>
 +
Flash存储的 MAC地址 : 0.0.0.58.58.58<br>
 +
Flash存储的 IP地址  : 192.168.0.88<br>
 +
Flash存储的 网关    : 192.168.0.1<br>
 +
[[Image:NW-3-1-17.png|500px|]]<br><br>
 +
<div style="color:#FF0000">参数设置完成后需断电重启/按板载RST键使设置生效!</div><br>
  
3,使用CRC校验工具对这6个字节求验证码:http://www.ip33.com/crc.html<br>
+
备注:<br>
[[Image:NW3-1-09.png]]<br>
+
1.设置的参数支持断电保存<br><br>
 +
2.设置默认IP和网关时第三位数据表示网段比较关键,比如连在路由器上面的其他设备的IP地址是192.168.0.XXX,<br>那默认IP地址和网关也就只能分别设置成192.168.0.XXX和192.168.0.1<br><br>
 +
3.设置默认IP时可进路由器后台确认该IP地址是否已经被占用,只有空闲的才能拿来用<br><br>
 +
4.关于十六进制和十进制之前的转换可以用Win10自带的计算器软件查看<br><br>
 +
[[Image:NW-3-1-18.png]]<br><br>
  
4,交换校验计算结果E499的高低字节位置后得到CRC校验码99E4,以及完成的发送帧:FF 05 00 00 FF 00 99 E4<br>
 
  
5,将该发送帧通过网络调试助手发送到Modbus继电器模块即可打开第一路继电器。<br>
+
== 下载LC-NW-3-1用户手册 ==
 +
更多关于LC-NW-3-1的使用信息,请查看[https://pan.baidu.com/s/15MhK9NX3ELquwE4JZ4qWjw 百度网盘]提取码:ug7n

2024年2月19日 (一) 11:00的最新版本

产品名称

Modbus RTU 单路网络继电器模块 有线以太网 局域网控制 1路输出


关于LC-NW-3-1

艾尔赛单路Modbus网络继电器模块搭载成熟稳定的32位MCU和W5500全硬件TCP/IP协议栈网络芯片。预留MCU调试接口支持二次开发
采用标准MODBUS RTU格式的通讯协议,可以实现局域网内控制1路继电器输出,可用于有线网络下的功率控制场合

LC-NW-3-1视图

LC-NW-3-1正面图
NW-3-1-01.png

LC-NW-3-1反面图
NW-3-1-02.png


功能特点

  • 板载成熟稳定的32bit MCU STM32F103C6T6芯片
  • 板载W5500全硬件TCP/IP协议栈以太网芯片,支持10/100M bps速率
  • 通讯协议:支持标准Modbus RTU协议
  • 设备作为TCP Server端,支持IP地址DHCP功能,端口号5000
  • 可通过串口查看模块IP地址,UART通讯波特率:115200
  • 输出信号:继电器开关信号,支持手动、闪闭、闪断模式,闪闭/闪断的延时基数为0.1s,最大可设闪闭/闪断时间为0xFFFF*0.1S=6553.5S
  • 设备地址:范围1-255,默认255,支持掉电保存
  • 继电器状态、设备地址可使用软件/指令进行读取
  • 板载1路5V,10A/250V AC 10A/30V DC继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短
  • 板载电源和继电器开关指示灯
  • 板载MCU复位按键
  • 预留UART串口和SWD程序烧写口,支持二次开发
  • 供电电压:DC7-28V,支持5.08mm端子供电,带输入防反接保护


硬件介绍和说明

板子尺寸重量
板子尺寸:73*45mm/32g
NW-3-1-03.png

接口介绍
NW-3-1-04.jpg
1.主控MCU:STM32F103C6T6
2.网络芯片:W5500全硬件TCP/IP协议栈以太网芯片
3.网络接口:10M/100Mbps HR911105A网络变压器
4.5.08mm端子供电口:DC7~28V电源输入,其中GND为负
5.MCU复位按键:短按一下复位
6.MCU SWD调试接口:二次开发烧写用
7.MCU UART调试接口:GND,RXD,TXD:TTL电平UART通讯接口,GND,RXD,TXD分别接外部控制端的GND,TXD,RXD
支持连接3.3V/5V外部TTL串口,默认用于串口查看设备IP地址和端口号,波特率115200
8.1路继电器开关信号输出:
NC:常闭端,继电器吸合前与COM短接,吸合后悬空
COM:公共端
NO:常开端,继电器吸合前悬空,吸合后与COM短接

Modbus RTU指令简介
Modbus设备通过接收来自外部控制端(如:上位机)的Modbus RTU指令来执行相关操作
一帧指令一般由设备地址、功能码、寄存器地址、寄存器数据、校验码组成,帧长度和功能码有关
一般每帧数据的首字节为设备地址,可设置范围为1-255,默认255(即0xFF),最后2字节为CRC校验码

假设设备地址为255,则常用的Modbus RTU指令如下:
1.打开1号继电器(手动模式)
发送: FF 05 00 00 FF 00 99 E4
原样返回:FF 05 00 00 FF 00 99 E4
备注:
(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F
(2)发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器

2.关闭1号继电器(手动模式)
发送: FF 05 00 00 00 00 D8 14
原样返回:FF 05 00 00 00 00 D8 14

3.打开2号继电器(手动模式)
发送: FF 05 00 01 FF 00 C8 24
原样返回:FF 05 00 01 FF 00 C8 24

4.关闭2号继电器(手动模式)
发送: FF 05 00 01 00 00 89 D4
原样返回:FF 05 00 01 00 00 89 D4

5.打开所有继电器
发送:FF 0F 00 00 00 20 01 FF B0 15
返回:FF 0F 00 00 00 20 41 CD

6.关闭所有继电器
发送:FF 0F 00 00 00 20 01 00 F0 55
返回:FF 0F 00 00 00 20 41 CD

7.设置设备地址为1
发送: 00 10 00 00 00 01 02 00 01 6A 00
原样返回:00 10 00 00 00 01 02 00 01 6A 00
备注:发送帧的第9个字节0x01为写入的设备地址

8.设置设备地址为255
发送: 00 10 00 00 00 01 02 00 FF EB 80
原样返回:00 10 00 00 00 01 02 00 FF EB 80
备注:发送帧的第9个字节0xFF为写入的设备地址

9.读取设备地址
发送: 00 03 00 00 00 01 85 DB
返回: 00 03 02 00 FF C5 C4
备注:返回帧的第5个字节0xFF为读取到的设备地址

10.读取继电器状态
发送: FF 01 00 00 00 20 28 0C
返回: FF 01 04 00 00 00 01 25 DE
备注:返回帧的第4-7个字节的Bit31-Bit0 分别代表#32 继电器--#1 继电器状态,0 为关,1 为开

11.打开1号继电器(闪闭模式2S)
发送: FF 10 00 00 00 02 04 00 04 00 14 85 8A
返回: FF 10 00 00 00 02 A4 16
备注:
(1)发送帧的第3--4个字节代表继电器地址,#1 继电器--#32 继电器地址分别为:0x0000-0x001F
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x0014*0.1=20*0.1S=2S,继电器打开2S后自动关闭

12.关闭1号继电器(闪断模式3S)
发送: FF 10 00 00 00 02 04 00 02 00 1E E5 8C
返回: FF 10 00 00 00 02 54 16
备注:
(1)发送帧的第3--4个字节代表继电器地址,#1 继电器--#32 继电器地址分别为:0x0000-0x001F
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x001E*0.1=30*0.1S=3S,继电器关闭3S后自动打开

简单使用说明
1.查看设备参数
设备上电后会使用DHCP功能自动获取IP地址,需使用串口调试助手来查看设备IP和端口号(注:所有设备的端口号都是5000),方法如下:

(1)插上网线,UART调试口连接USB转TTL模块(如:CH340),连接电源,其中UART接线如下:

网络继电器模块 TTL模块
GND GND
TXD RXD
RXD TXD

NW-3-1-05.jpg

(2)打开串口调试助手(如:SSCOM),选择正确的COM口,波特率115200
模块上电或者按一下复位键后越过6s会自动获得IP地址,请记住此IP地址和端口号,如下:
NW-3-1-06.png

2.使用网络调试助手控制设备
设备成功获得IP地址后会生成一个TCP Server端供Client端连接,以发送一条TCP指令控制继电器为例(假设设备地址为255),步骤如下:
(1)打开网络调试助手,选择协议类型:TCP Client,以及上一步所得到的IP地址和端口号,点击连接
NW-3-1-07.png

(2)连接成功后,在数据发送窗口输入打开1号继电器的指令:FF 05 00 00 FF 00 99 E4,若继电器有动作说明通讯正常
NW-3-1-08.png

如何生效校验码
Modbus RTU指令通过现成的上位机软件(如:ModbusRTU配置工具)来发送时,CRC校验码是自动生成的,如果想使用网络调试软件(如NetAssist)
来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式):
1.打开/关闭继电器(手动模式)的发送帧组成为:
设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte)

2,假设设备地址为0xFF, 则发送帧的前6个字节为:FF 05 00 00 FF 00

3,使用CRC校验工具对这6个字节求验证码:http://www.ip33.com/crc.html
NW-3-1-09.png

4.交换校验计算结果E499的高低字节位置后得到CRC校验码99E4,以及完成的发送帧:FF 05 00 00 FF 00 99 E4

5.将该发送帧通过网络调试助手发送到Modbus继电器模块即可打开第一路继电器

Modbus RTU指令详解

1.打开1号继电器(手动模式)
发送: FF 05 00 00 FF 00 99 E4

字段 含义 注释
FF 设备地址 范围1-255,默认255
05 功能码 写单个线圈
00 00 继电器地址 0x0000--0x0007分别代表#1继电器--#8继电器
FF 00 开/关命令 0x0000为关,0xFF00为开
99 E4 CRC16 CRC-16/MODBUS校验码

原样返回:FF 05 00 00 FF 00 99 E4

字段 含义 注释
FF 设备地址 范围1-255,默认255
05 功能码 写单个线圈
00 00 继电器地址 0x0000--0x0007分别代表#1继电器--#8继电器
FF 00 开/关命令 0x0000为关,0xFF00为开
99 E4 CRC16 CRC-16/MODBUS校验码


2.关闭1号继电器(手动模式
发送: FF 05 00 00 00 00 D8 14

字段 含义 注释
FF 设备地址 范围1-255,默认255
05 功能码 写单个线圈
00 00 继电器地址 0x0000--0x0007分别代表#1继电器--#8继电器
00 00 开/关命令 0x0000为关,0xFF00为开
D8 14 CRC16 CRC-16/MODBUS校验码

原样返回:FF 05 00 00 00 00 D8 14

字段 含义 注释
FF 设备地址 范围1-255,默认255
05 功能码 写单个线圈
00 00 继电器地址 0x0000--0x0007分别代表#1继电器--#8继电器
00 00 开/关命令 0x0000为关,0xFF00为开
D8 14 CRC16 CRC-16/MODBUS校验码


3.打开所有继电器
发送: FF 0F 00 00 00 20 01 FF B0 15

字段 含义 注释
FF 设备地址 范围1-255,默认255
0F 功能码 写多个线圈
00 00 起始地址 #1继电器地址
00 20 继电器数量 要控制的继电器总数量
01 命令字节数 控制命令字长度
FF 控制命令 0x00为全关,0xFF为全开
B0 15 CRC16 CRC-16/MODBUS校验码

返回:FF 0F 00 00 00 20 41 CD

字段 含义 注释
FF 设备地址 范围1-255,默认255
0F 功能码 写多个线圈
00 00 起始地址 #1继电器地址
00 20 继电器数量 要控制的继电器总数量
41 CD CRC16 CRC-16/MODBUS校验码


4.关闭所有继电器
发送: FF 0F 00 00 00 20 01 00 F0 55

字段 含义 注释
FF 设备地址 范围1-255,默认255
0F 功能码 写多个线圈
00 00 起始地址 #1继电器地址
00 20 继电器数量 要控制的继电器总数量
01 命令字节数 控制命令字长度
00 控制命令 0x00为全关,0xFF为全开
F0 15 CRC16 CRC-16/MODBUS校验码

返回:FF 0F 00 00 00 20 41 CD

字段 含义 注释
FF 设备地址 范围1-255,默认255
0F 功能码 写多个线圈
00 00 起始地址 #1继电器地址
00 20 继电器数量 要控制的继电器总数量
41 CD CRC16 CRC-16/MODBUS校验码


5.设置设备地址为255
发送: 00 10 00 00 00 01 02 00 FF EB 80

字段 含义 注释
00 固定值
10 功能码 写多个寄存器
00 00 起始地址
00 01 写寄存器个数
02 写寄存器字节数 写寄存器数据长度
00 FF 寄存器数据 写入设备地址0x00FF,范围:0x0001-0x00FF
E8 80 CRC16 CRC-16/MODBUS校验码

原样返回:00 10 00 00 00 01 02 00 FF EB 80

字段 含义 注释
00 固定值
10 功能码 写多个寄存器
00 00 起始地址
00 01 写寄存器个数
02 写寄存器字节数 写寄存器数据长度
00 FF 寄存器数据 即:写入设备地址0x00FF,范围:0x0001-0x00FF
EB 80 CRC16 CRC-16/MODBUS校验码


6.读取设备地址255
发送: 00 03 00 00 00 01 85 DB

字段 含义 注释
00 固定值
03 功能码 读保持寄存器
00 00 起始地址
00 01 寄存器数量 读寄存器数量
85 DB CRC16 CRC-16/MODBUS校验码

返回:00 03 02 00 FF C5 C4

字段 含义 注释
00 固定值
03 功能码 读保持寄存器
02 数据字节数 从寄存器读取到的数据长度
00 FF 寄存器数据 读取到设备地址为0x00FF
C5 C4 CRC16 CRC-16/MODBUS校验码


7.读取继电器状态
发送: FF 01 00 00 00 20 28 0C

字段 含义 注释
FF 设备地址 范围1-255,默认255
01 功能码 读线圈状态
00 00 起始地址 #1继电器地址
00 20 寄存器数量 要读取的继电器总数量为0x0008
28 0C CRC16 CRC-16/MODBUS校验码

返回: FF 01 04 00 00 00 01 25 DE

字段 含义 注释
FF 固定值
01 功能码 读保持寄存器
04 数据字节数 从寄存器读取到的数据长度
00 00
00 01
数据 读取到的数据,Bit0-Bit3分别代表#1继电器--#32继电器状态,0为关,1为开
25 DE CRC16 CRC-16/MODBUS校验码


8.打开1号继电器(闪闭模式2S)
发送: FF 10 00 00 00 02 04 00 04 00 14 85 8A

字段 含义 注释
FF 设备地址 范围1-255,默认255
10 功能码 写多个寄存器
00 00 继电器地址 #1继电器--#32继电器地址分别为0x0000-0x001F
00 02 写寄存器个数
04 写寄存器字节数 写寄存器数据长度
00 04 寄存器1数据 闪闭/闪断值,0x0004代表闪闭,0x0002代表闪断
00 14 寄存器2数据 延时设置值,范围:0x0001--0xFFFF。延时基数为0.1S,
故延时时间为0x0014*0.1=20*0.1S=2S,#1继电器闭合2S后自动断开
C5 9F CRC16 CRC-16/MODBUS校验码

返回: FF 10 00 00 00 02 A4 16

字段 含义 注释
FF 设备地址 范围1-255,默认255
10 功能码 写多个寄存器
00 00 继电器地址 #1继电器--#32继电器地址分别为:0x0000-0x001F
00 02 写寄存器个数
54 16 CRC16 CRC-16/MODBUS校验码


9.关闭1号继电器(闪断模式3S)
发送: FF 10 00 00 00 02 04 00 02 00 1E E5 8C

字段 含义 注释
FF 设备地址 范围1-255,默认255
10 功能码 写多个寄存器
00 00 继电器地址 #1继电器--#32继电器地址分别为0x0000-0x001F
00 02 写寄存器个数
04 写寄存器字节数 写寄存器数据长度
00 02 寄存器1数据 闪闭/闪断值,0x0004代表闪闭,0x0002代表闪断
00 1E 寄存器2数据 延时设置值,范围:0x0001--0xFFFF。延时基数为0.1S,
故延时时间为0x001E*0.1=30*0.1S=3S,#1继电器闭合3S后自动断开
E5 8C CRC16 CRC-16/MODBUS校验码

返回:FF 10 00 00 00 02 54 16

字段 含义 注释
FF 设备地址 范围1-255,默认255
10 功能码 写多个寄存器
00 00 继电器地址 #1继电器--#32继电器地址分别为:0x0000-0x001F
00 02 写寄存器个数
54 16 CRC16 CRC-16/MODBUS校验码


串口指令详解

1.设置默认MAC地址为00.00.00.58.58.58
发送:A0 A0 01 00 00 00 58 58 58 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
01 功能码 设置默认MAC地址
00 00
00 58
58 58
默认MAC地址 6字节MAC地址
注意:设置时不要出现连续的A0/连续的AA以免和帧头/帧尾 冲突!
出厂默认值:00:08:dc:11:11:11
AA AA 帧尾 结束字节

返回:A0 A0 01 01 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
01 功能码 设置默认MAC地址
01 设置状态 返回01代表设置成功
AA AA 帧尾 结束字节


2.设置默认IP地址为192.168.0.88
发送:A0 A0 02 C0 A8 00 58 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
02 功能码 设置默认IP地址
C0 A8
00 58<
默认IP地址 十六进制数据C0 A8 00 58代表十进制IP地址192.168.0.88
注意:设置时不要出现连续的A0/连续的AA以免和帧头/帧尾 冲突!
出厂默认值:192.168.1.88
AA AA 帧尾 结束字节

返回:A0 A0 02 01 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
02 功能码 设置默认IP地址
01 设置状态 返回01代表设置成功
AA AA 帧尾 结束字节


3.设置默认网关为192.168.0.1
发送:A0 A0 03 C0 A8 00 01 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
03 功能码 设置默认网关
C0 A8
00 01<
默认网关 十六进制数据C0 A8 00 01代表十进制网关192.168.0.1
注意:设置时不要出现连续的A0/连续的AA以免和帧头/帧尾 冲突!
出厂默认值:192.168.1.1
AA AA 帧尾 结束字节

返回:A0 A0 03 01 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
03 功能码 设置默认网关
01 设置状态 返回01代表设置成功
AA AA 帧尾 结束字节


4.查询设置的参数发送:A0 A0 10 AA AA

字段 含义 注释
A0 A0 帧头 起始字节
10 功能码 查询设置的参数
AA AA 帧尾 结束字节

返回:Flash保存的默认MAC、默认IP和默认网关参数

串口指令使用说明

关于默认MAC地址:
只有同一局域网下有多个Modbus网络继电器模块情况下才需要根据实际需求进行设置

关于默认IP地址和网关:
模块默认从路由器通过DHCP方式获得IP地址和网关参数,一般不需要设置这2个参数
只有DHCP获取失败的情况下才需要根据实际需求进行设置,如下:
NW-3-1-10.png

以下以使用串口调试软件sscom5.13.1设置网络参数为例,步骤如下:
1.通过USB转TTL模块(如CH340/FT232模块)连接模块的串口,接线如下:

USB转TTL模块 网络继电器模块
3V3 3V3
GND GND
TXD RXD
RXD TXD

然后将USB转TTL模块插到电脑USB口

设置参数时可以不用插网线!

2.打开sscom5.13.1软件,选择正确的COM口,波特率选择115200,上电前8秒的样子模块会尝试通过DHCP获取网络参数并输出相应的调试信息
NW-3-1-11.png

3.调试信息显示完成后就可以通过串口设置默认网络参数了,因为指令是十六进制的,所以需勾选“HEX显示”和“HEX发送”,在指令区输入指令然后点发送即可设置
NW-3-1-12.png

以下是设置列举:
1.设置默认MAC地址为00.00.00.58.58.58
发送:A0 A0 01 00 00 00 58 58 58 AA AA
返回:A0 A0 01 01 AA AA
NW-3-1-13.png

2.设置默认IP地址为192.168.0.88
发送:A0 A0 02 C0 A8 00 58 AA AA
返回:A0 A0 02 01 AA AA
NW-3-1-14.png

3.设置默认网关为192.168.0.1
发送:A0 A0 03 C0 A8 00 01 AA AA
返回:A0 A0 03 01 AA AA
NW-3-1-15.png

4.查询设置的参数
因为参数是以文本形式显示的,所以需先取消勾选“HEX显示”
NW-3-1-16.png

发送:A0 A0 10 AA AA
返回:
Flash存储的网络参数如下:
Flash存储的 MAC地址 : 0.0.0.58.58.58
Flash存储的 IP地址  : 192.168.0.88
Flash存储的 网关  : 192.168.0.1
NW-3-1-17.png

参数设置完成后需断电重启/按板载RST键使设置生效!

备注:
1.设置的参数支持断电保存

2.设置默认IP和网关时第三位数据表示网段比较关键,比如连在路由器上面的其他设备的IP地址是192.168.0.XXX,
那默认IP地址和网关也就只能分别设置成192.168.0.XXX和192.168.0.1

3.设置默认IP时可进路由器后台确认该IP地址是否已经被占用,只有空闲的才能拿来用

4.关于十六进制和十进制之前的转换可以用Win10自带的计算器软件查看

NW-3-1-18.png


下载LC-NW-3-1用户手册

更多关于LC-NW-3-1的使用信息,请查看百度网盘提取码:ug7n