继电器通讯:多机组网485通讯,基于MBDBUS-RTU协议,默认通讯地址为1,用户可通过指令自行修改地址
注意:IN1 - IN4是接开关使用 通过485读取开关状态,不是通过输入控制继电器输出使用。
IN1-IN4开关状态需要每次电脑查询读取开关状态,不能主动向485发送数据。
注意:IN1-IN4 不能接220V(有个别买家会犯这种错误)
如下是接线方式:
IN1 - GND(默认是高电平,开关接通后低电平) 电脑发指令读取开关状态。
IN2 - GND(默认是高电平,开关接通后低电平)电脑发指令读取开关状态。
IN3 - GND(默认是高电平,开关接通后低电平)电脑发指令读取开关状态。
IN4 - GND(默认是高电平,开关接通后低电平)电脑发指令读取开关状态。
尺寸:76mm*67mm*17.5mm

板子资源:
1. S1 复位按钮
2. D5 运行LED 指示灯
控制指令进群共享下载。
1. 4路继电器输出(一个常开,一个常闭)
2. STM8S103F3单片机
3. 4路光耦隔离继电器输出
4.4个继电器闭合LED指示灯
5. 圆形DC接口,与端子DC接口。方便电源接线(供电电压5V或者12V 根据继电器的电压决定)
6. 4路输入接口(干节点输入,无源输入,与GND接通)
7.一路RS485通讯接口。
8.一个电源指示灯
9.一个用户LED灯
10。复位按键
11. 一个SWIM下载接口-(STLINK-V2 下载程序,用户可以二次开发程序)

二次程序开发主电路图
1. LED 接用户LED
2. TX RX 接485口跟 排针TTL口
3.KEY 用户按键(左边红色按键)
4.EN 485使用端
5.IN1 -IN4 输入口 直接连接在端子上
6.K1 -K4 继电器输出控制
7. SWIM 烧录程序 J13


不提供源通讯MODBUS 代码
MODBUS RTU通讯指令:

Modbus RTU 指令
波特率 :9600 8 NONE 1
本继电器模块 可以多个组网通讯,通讯地址通过串口指令设置既可。(通讯指令网盘提供)
继电器模块出厂默认通讯 地址固定为 1,串口助手操作指令:


注:下面具体测试指令通过网络传给
指令功能:
1. 设置地址为 2.读取地址 3.读取软件版本 4.读取硬件版本
输出指令:
MODBUS-RTU 通讯指令:
功能码:05 是继电器输出【控制继电器开启/关闭】
功能码:06 是存储数据[用户自定义存储数据,户自定义数据、地址编号、由用户自行设置。 一般是无用状态]
/******************************************************************************************************/
Modbus RTU 指令
波特率 :9600 8 NONE 1
16进制发送
16进制接收
操作步骤:
1.软件设置通讯波特率
2.设置地址(通讯使用的设备地址)
默认设置地址为1的指令
/*******************************************************************/
地址设置范围:1 - 255 下面给出2条设置指令。0号地址为广播地址(所有设备有效)。
设置地址为:01
发送:00 06 40 00 00 01 5c 1b
返回:01 06 00 00 00 01 48 0A
设置地址为:02
发送:00 06 40 00 00 02 1c 1a
返回:02 06 00 00 00 02 08 38
读取地址
00 03 40 00 00 01 90 1b
/*******************************************************************/
读取软件版本
发送:00 03 00 02 00 01 24 1b //【日】
返回:01 03 02 10 00 B5 84 //10号
发送:00 03 00 04 00 01 c4 1a //【月】 广播读取(只能接一个设备,对所有地址实用 ,方便测试)
返回:01 03 02 4D 61 4C FC //4D[M] 61[A] MAR[3月]
发送:00 03 00 08 00 01 04 19 //【年】 广播读取(只能接一个设备,对所有地址实用 ,方便测试)
返回:01 03 02 20 18 A1 8E //20 18 = 2018
发送:00 03 00 10 00 01 84 1e //【时、分】//广播读取(只能接一个设备,对所有地址实用 ,方便测试)
返回:01 03 02 21 26 21 CE //21:26
读取硬件版本(PCB版本)
发送:00 03 00 20 00 01 84 11 //广播读取(只能接一个设备,对所有地址实用 ,方便测试)
返回:01 03 02 00 6A 38 6B //6A = 106 =V1.06
发送:01 03 00 20 00 01 85 c0
返回:01 03 02 00 6A 38 6B //6A = 106 =V1.06
/*******************************************************************/
[1号地址]
//--------------------------------------------
0号继电器开启 : 01 05 00 00 FF 00 8C 3A
0号继电器关闭 : 01 05 00 00 00 00 CD CA
//--------------------------------------------
1号继电器开启 : 01 05 00 01 FF 00 DD FA
1号继电器关闭 : 01 05 00 01 00 00 9C 0A
//-------------------------------------------
2号继电器开启 : 01 05 00 02 FF 00 2D FA
2号继电器关闭 : 01 05 00 02 00 00 6C 0A
//-------------------------------------------
3号继电器开启 : 01 05 00 03 FF 00 7C 3A
3号继电器关闭 : 01 05 00 03 00 00 3D CA
单一翻转指令:
0号继电器翻转:01 05 00 00 55 00 F2 9A
1号继电器翻转:01 05 00 01 55 00 A3 5A
2号继电器翻转:01 05 00 02 55 00 53 5A
3号继电器翻转:01 05 00 03 55 00 02 9A
全关闭:01 05 00 ff 00 00 fd fa
全开启:01 05 00 ff ff ff fc 4a
全翻转:01 05 00 ff 5a 00 c7 5a
/**********************************************************************/
读取0号继电器状态:01 01 00 00 00 01 FD CA
读取1号继电器状态:01 01 00 01 00 01 AC 0A
读取2号继电器状态:01 01 00 02 00 01 5C 0A
读取3号继电器状态:01 01 00 03 00 01 0D CA
1号继电器 读取所有通道状态:01 01 00 FF 00 00 3d c9
/*********************************************************************/
读取所有接口 输入状态
01 02 00 00 00 00 78 0a
返回:
01 02 01 01 60 48 //IN1按下
01 02 01 02 20 49 //IN2按下
01 02 01 04 A0 4B //IN3按下
01 02 01 08 A0 4E //IN4按下