LC-NW-1-1

来自LCWIKI
LYS23讨论 | 贡献2023年4月12日 (三) 09:40的版本
跳转至: 导航搜索

产品名称

Modbus RTU 单路继电器模块 RS485/TTL UART 1路输入 1路输出


概述

艾尔赛单路Modbus继电器模块搭载成熟稳定的8位MCU和RS485电平通讯芯片。采用标准MODBUS RTU格式的RS485通讯协议,可以实现1路光耦输入信号检测、1路继电器输出,可用于数字量检测或者功率控制场合。



功能

  • 板载成熟稳定的8bit MCU和MAX485电平转换芯片;
  • 通讯协议:支持标准Modbus RTU协议;
  • 通讯接口:支持RS485/TTL UART接口;
  • 通讯波特率:4800/9600/19200,默认9600bps,支持掉电保存;
  • 光耦输入信号范围:DC3.3-24V(此输入不可用于继电器控制);
  • 输出信号:继电器开关信号,支持手动、闪闭、闪断模式,闪闭/闪断的延时基数为0.1S,最大可设闪闭/闪断时间为0xFFFF*0.1S=65535*0.1S=6553.5S;
  • 设备地址:范围1-255, 默认255,支持掉电保存;
  • 波特率、光耦输入状态、继电器状态、设备地址可使用软件/指令进行读取;
  • 板载1路5V,10A/250V AC 10A/30V DC继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短;
  • 板载继电器开关指示灯;
  • 供电电压:DC7-24V,带输入防反接保护;



介绍说明

1、板子尺寸
LC-NW-1-1 1.png

2、接口介绍
LC-NW-1-1 2.png
1、VCC,GND:DC7-24V电源输入;
2、IN,GND_IN: DC3.3-24V光耦信号输入;
3、A+,B-: RS485通讯接口,A+,B-分别接外部控制端的A+,B-;
4、GND,RXD,TXD:TTL电平UART通讯接口,GND,RXD,TXD分别接外部控制端的GND,TXD,RXD,支持连接3.3V/5V 外部TTL串口;
5、RS485和TTL串口选择,当使用RS485通信时,DI接TXD、RO接RXD;使用TTL通信时DI和RO都接NC端。
6、继电器开关信号输出:
NC:常闭端,继电器吸合前与COM短接,吸合后悬空;
COM:公共端;
NO:常开端,继电器吸合前悬空,吸合后与COM短接。


3、Modbus RTU指令简介
Modbus设备通过接收来自外部控制端(如:上位机/MCU)的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--继电器8的地址分别为0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007
(2)发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器

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

3、打开所有继电器
发送:FF 0F 00 00 00 08 01 FF 30 1D
返回:FF 0F 00 00 00 08 41 D3

4、关闭所有继电器
发送:FF 0F 00 00 00 08 01 00 70 5D
返回:FF 0F 00 00 00 08 41 D3

5、设置设备地址为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为写入的设备地址

6、设置设备地址为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为写入的设备地址

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

8、读取继电器状态
发送: FF 01 00 00 00 08 28 12
返回: FF 01 01 01 A1 A0
备注:返回帧的第4个字节0x01的Bit0--Bit7分别代表继电器1--继电器8,0为关闭,1为打开

9、读取光耦输入状态
发送: FF 02 00 00 00 08 6C 12
返回: FF 02 01 01 51 A0
备注:返回帧的第4个字节0x01的IN1--IN8分别代表光耦1--光耦8输入信号,0代表低电平,1代表高电平

10、设置波特率为4800
发送: FF 10 03 E9 00 01 02 00 02 4A 0C
返回: FF 10 03 E9 00 01 C5 A7
备注:发送帧的第9个字节为波特率设置值,0x02, 0x03, x04分别代表4800, 9600, 19200

11、设置波特率为9600
发送: FF 10 03 E9 00 01 02 00 03 8B CC
返回: FF 10 03 E9 00 01 C5 A7

12、设置波特率为19200
发送: FF 10 03 E9 00 01 02 00 04 CA 0E
返回: FF 10 03 E9 00 01 C5 A7

13、读取波特率
发送: FF 03 03 E8 00 01 11 A4
返回: FF 03 02 00 04 90 53
备注:返回帧的第5个字节代表读取到的波特率,0x02, 0x03, x04分别代表4800, 9600, 19200

14、打开1号继电器(闪闭模式2S)
发送: FF 10 00 03 00 02 04 00 04 00 14 C5 9F
返回: FF 10 00 03 00 02 A4 16
备注:(1)发送帧的第3--4个字节代表继电器地址,继电器1--继电器8的地址分别为0x0003,0x0008,0x000D,0x0012,0x0017,0x001C,0x0021,0x0026
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x0014*0.1=20*0.1S=2S,继电器打开2S后自动关闭

15,关闭1号继电器(闪断模式3S)
发送: FF 10 00 03 00 02 04 00 02 00 1E A5 99
返回: FF 10 00 03 00 02 A4 16
备注:(1)发送帧的第3--4个字节代表继电器地址,继电器1--继电器8的地址分别为0x0003,0x0008,0x000D,0x0012,0x0017,0x001C,0x0021,0x0026
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x001E*0.1=30*0.1S=3S,继电器关闭3S后自动打开


硬件连接

Modbus 继电器模块可经由RS485/TTL UART接口接收来自上位机/MCU的Modbus RTU指令来执行相关操作。下面以使用上位机软件通过RS485接口来打开继电器1(手动模式)为例,假设设备地址为255,波特率为9600,则使用步骤如下:
1、VCC,GND分别接电源正负极;
2、A+,B-分别USB转RS485模块输出端的A+和B-;
3、打开上位机软件“LC_Modbus_RTU”,选择正确的端口号,波特率选择9600,地址设为255,点击“打开”串口;
4、再勾选继电器区域的“继电器1”即可打开继电器1,同时继电器1的指示灯点亮。如下图:
LC-NW-1-1 3.png
LC-NW-1-1 4.png


二、如何生成校验码
Modbus RTU指令通过现成的上位机软件(如:LC_Modbus_RTU工具)来发送时,CRC校验码是自动生成的,如果想使用串口调试软件(如SSCOM)来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式):
1、打开/关闭继电器(手动模式)的发送帧组成为:
设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte)
2、假设设备地址为0xFF, 则发送帧的前6个字节为:
FF 05 00 00 FF 00 3、打开LC_Modbus_RTU软件自带的CRC计算工具
LC-NW-1-1 5.png


4、将要计算CRC校验码的数据复制进去,然后点击“计算”,就可以得到校验码为 99 E4,以及完整的发送帧:FF 05 00 00 FF 00 99 E4
LC-NW-1-1 6.png


5、将该发送帧通过串口调试软件SSCOM V5.13.1发送到Modbus继电器模块即可打开第一路继电器(手动模式),如下:
LC-NW-1-1 7.png
更多Modbus RTU指令详解以及使用上位机控制Modbus继电器的方法请参考我们的资料,谢谢!