Modbus RTU Relay
说明
|
| ||||||||||||||||||||
| ||||||||||||||||||||
用电与继电器安全注意事项
- 本产品须由专业的电工或技术人员作业使用,使用过程中请做好用电安全、防漏电和绝缘等保护措施。
- 在安装、维护或更换继电器设备之前,请务必关闭电源并拔下插头。
- 请勿试图拆卸继电器设备,以免损坏设备或导致电击危险。
- 请妥善安装放置继电器设备产品,请勿在潮湿、过热、易燃或易爆环境中使用,避免因安装或使用不慎引发安全事故。
1. 负载匹配
- 确认继电器的额定电压、电流与负载匹配,切勿超载使用。电流过大可能会导致触点融化粘连,甚至起火烧毁。
- 对于感性负载(电机、线圈、灯具等),启动电流可能远高于额定电流,应选择额定电流有足够余量的继电器。
2. 短路与过流保护
- 在继电器回路上加 熔断器(保险丝) 或 空气开关(断路器),以防负载短路或意外过流烧毁继电器。
- 接线时确保负载回路无短路,必要时选用额定电流合适的保护元件。
3. 电弧与吸合保护
- 继电器开关瞬间会产生电弧,易造成触点损耗或熔焊。
- 建议对感性负载使用 RC 吸收电路 或 压敏电阻 等灭弧保护。
4. 安装环境
- 避免在潮湿、高温、易燃易爆或灰尘较多的环境中使用。
- 继电器应安装稳固,避免振动或冲击导致误动作或损坏。
5. 断电操作
- 在维护、接线或更换继电器前,请务必切断电源,确保人身和设备安全。
- 磁保持继电器在状态改变时才通电,平时断电,请避免剧烈震动或强磁场干扰导致继电器状态改变。
6. 状态确认
- 磁保持继电器上电后请根据需要确认或重置继电器状态,避免因运输、安装或外界干扰导致动作状态异常。
- 避免在磁保持继电器动作过程中断电,以免状态不确定或触点损坏。
7. 定期检查
- 长期使用后,请定期检查继电器触点、接线端子及绝缘情况,确保正常工作。
- 出现异常发热、异味或烧痕,应立即断电并更换继电器。
硬件连接
- 将USB TO 485和目标板通过杜邦线,将A-->A和B-->B相连,如下图所示:
实例演示
SSCOM串口调试助手
- 下载SSCOM串口调试助手并在电脑上打开,打开对应的端口号,设置波特率为9600,点击多字符串打开多条字符串发送窗口,点击对应的功能即可发送对应的命令,
- 如果需要发送其他命令则选择HEX发送,加检验选择ModbusCRC16校验,输入命令的前六个字节点击发送则会自动添加CRC校验码。
- 详细的控制指令请查看请查看开发协议。
2024年9月起,将采用V3版本开发协议,V3版本兼容V2版本,并将添加部分新功能。
Modbus Poll软件
- 串口软件不方便观察数据,可以选择Modbus Poll软件读取数据。下载并安装Modbus Poll软件。
- 打开软件,选择setup->Read/Write Definition,Slave ID选择实际设备地址,Function选择01 Read Coils功能码,Quantity改为8通道。点击OK确认。
- 选择Connection->Connect...,选择对应的串口,波特率为9600,八位无校验模式。点击OK连接。
- 连接正常后则可以查看当前继电器状态,选择对应通道后,双击状态值即可跳出发送页面,选择ON或OFF,然后发送即可控制对应的继电器开合。
程序测试
注意:RS485不可以直接接到树莓派的串口否则可能烧毁设备,需要加485电平转换,树莓派建议搭配RS485 CAN HAT模块使用,NUCLEO-F103RB和Arduino建议搭配RS485 CAN Shield模块使用
树莓派
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口
然后重启树莓派:
sudo reboot
打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面。
enable_uart=1
对于树莓派3B用户,串口用于蓝牙,需要注释掉:
#dtoverlay=pi3-miniuart-bt
然后重启树莓派:
sudo reboot
将RS485 CAN HAT模块插到树莓派,把ModBus RTU Relay模块和RS485 CAN HAT模块的A与B对应连接
如果使用的是其他的485设备,确定连线A-A,B-B即可
运行如下命令运行程序
sudo apt-get install unzip wget https://www.waveshare.net/w/upload/f/f9/Modbus_RTU_Relay_Code.zip unzip Modbus_RTU_Relay_Code.zip cd Modbus_RTU_Relay_Code/Python3 sudo python3 main.py
STM32
注意:STM32的例程是基于NUCLEO-F103RB和RS485 CAN Shield模块。
1.下载示例程序,在Modbus_RTU_Relay_Code\STM32\MDK-ARM路径找到STM32的工程文件Modbus Relay.uvprojx,双击打开STM32工程文件,注意使用前先确保电脑已经安装好keil5软件
![]()
2.通过stm32下载调试器连接 stm32 到电脑。编译下载程序到stm32即可。
![]()
3.将RS485 CAN Shield模块装在stm32上,RS485 CAN Shield模块上的485_A通过导线与Modbus RTU Relay上的RS485_A相连,RS485 CAN Shield模块上的485_B通过导线与Modbus RTU Relay上的RS485_B相连。然后对Modbus RTU Relay和stm32依次上电。
4.上电后,串口会输出发送的命令,可通过串口助手观察,同时继电器会按顺序(如 1→2→3→4)依次导通,全部导通后,再按顺序(如 1→2→3→4)依次关闭。可通过 LED 指示灯观察继电器是否正常吸合。
Arduino
注意:Arduino例程是基于UNO PLUS和RS485 CAN Shield模块。
1.下载示例程序,在Modbus_RTU_Relay_Code\Arduino\Modbus_RTU_Relay路径找到Arduino的工程文件Modbus_RTU_Relay.ino,双击打开Arduino工程文件,注意使用前先确保电脑已经安装好Arduino IDE 软件。
![]()
2.通过 USB 线连接 Arduino 到电脑,在Arduino IDE软件的Tools->Board项选择Arduino的设备型号,Tools->Port选择Arduino连接到电脑的COM口。
3.看到右下角连接到电脑的提示后,点击编译、烧录程序,烧录完成之后
![]()
4.将RS485 CAN Shield模块装在Arduino上,RS485 CAN Shield模块上的485_A通过导线与Modbus RTU Relay上的RS485_A相连,RS485 CAN Shield模块上的485_B通过导线与Modbus RTU Relay上的RS485_B相连。然后对Modbus RTU Relay和Arduino 依次上电。
5.上电后,串口会输出发送的命令,可通过串口助手观察,同时继电器会按顺序(如 1→2→3→4)依次导通,全部导通后,再按顺序(如 1→2→3→4)依次关闭。可通过 LED 指示灯观察继电器是否正常吸合。
注:下图数据是包含空格和换行的ASCII 码,非实际发送数据。
![]()
PLC
注意:PLC的例程是基于SIMATIC S7-200 SMART。
1.下载示例程序,在Modbus_RTU_Relay_Code\PLC路径找到PLC的工程文件modbus_rtu.smart,双击打开PLC工程文件,注意使用前先确保电脑已经安装好STEP 7-MicroWIN SMART软件
![]()
2.通过网线连接PLC到电脑。点击下载,
![]()
3.在通信弹窗选择通信接口,查找到自己的设备,点击确认
![]()
4.在下载弹窗勾选程序块、数据块、系统块,然后点击下载即可。
![]()
5.将PLC模块上的485_A通过导线与Modbus RTU Relay上的RS485_A相连,PLC模块上的485_B通过导线与Modbus RTU Relay上的RS485_B相连。然后对Modbus RTU Relay上电。
6.Modbus RTU Relay上电后,在STEP 7-MicroWIN SMART软件的,找到上方菜单栏的 “PLC” 选项卡,切换至该选项卡后,在下方 “操作” 区域,点击绿色的 “RUN” 按钮 ,执行使 PLC 进入运行状态的操作
![]()
7.PLC运行后,继电器会按顺序(如 1→2→3→4)依次导通,全部导通后,再按顺序(如 1→2→3→4)依次关闭。可通过 LED 指示灯观察继电器是否正常吸合。
开发协议 V3
功能码介绍
| 功能码 | 功能说明 | 备注 |
|---|---|---|
| 01 | 读线圈状态 | 读继电器状态 |
| 03 | 读保持寄存器 | 读取地址、版本 |
| 05 | 写单线圈 | 写单个继电器 |
| 06 | 写单寄存器 | 设置波特率,地址 |
| 0F | 写多个线圈 | 写全部继电器 |
寄存器地址介绍
| 地址(HEX) | 地址存储内容 | 寄存器取值 | 权限 | Modbus 功能码 |
|---|---|---|---|---|
| 0x0000 …… 0x0007 |
道通1~通道8继电器地址 | 0xFF00:继电器开启; 0x0000:继电器关闭; 0x5500:继电器翻转; |
读/写 | 0x01,0x05,0x0F |
| 0x00FF | 操作全部继电器 | 0xFF00:继电器全部开启; 0x0000:继电器全部关闭; 0x5500:继电器全部翻转; |
写 | 0x05 |
| 0x0100 …… 0x0107 |
道通1~通道8继电器翻转 | 0xFF00:继电器翻转; 0x0000:继电器不变; |
写 | 0x05,0x0F |
| 0x01FF | 翻转全部继电器 | 0xFF00:继电器全部翻转; 0x0000:继电器全部不变; |
写 | 0x05 |
| 0x0200 …… 0x0207 |
道通1~通道8继电器闪开 | 延时时间为数据*100ms 数值:0x0007,延时:7*100MS = 700MS |
写 | 0x05 |
| 0x0400 …… 0x0407 |
道通1~通道8继电器闪闭 | 延时时间为数据*100ms 数值:0x0007,延时:7*100MS = 700MS |
写 | 0x05 |
| 4x2000 | 串口参数 | 高八位为校验方式:0x00~0x02 低八位为波特率方式:0x00~0x07 |
读/写 | 0x03,0x06 |
| 4x4000 | 设备地址 | 直接存储 Modbus 地址 设备地址:0x0001-0x00FF |
读/写 | 0x03,0x06 |
| 4x8000 | 软件版本 | 转为十进制然后小数点左移两位即表示软件版本 0x0064 = 100 = V1.00 |
读 | 0x03 |
Modbus RTU指令介绍
控制单个继电器
发送码:01 05 00 00 FF 00 8C 3A
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 05 | 05指令 | 控制继电器指令 |
| 00 00 | 地址 | 要控制继电器的寄存器地址,0x0000 - 0x0007 |
| FF 00 | 指令 | 0xFF00:继电器开启; 0x0000:继电器关闭; 0x5500:继电器翻转; |
| 8C 3A | CRC16 | 前6字节数据的CRC16校验和 |
返回码: 01 05 00 00 FF 00 8C 3A
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 05 | 05指令 | 控制继电器指令 |
| 00 00 | 地址 | 要控制继电器寄存器地址,0x0000-0x0007 |
| FF 00 | 指令 | 0xFF00:继电器开启; 0x0000:继电器关闭; 0x5500:继电器翻转; |
| 8C 3A | CRC16 | 前6字节数据的CRC16校验和 |
示例:[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 FF 00 BC 0A
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 05 | 05指令 | 控制继电器指令 |
| 00 FF | 地址 | 固定0x00FF |
| FF 00 | 指令 | 0xFF00:继电器开启; 0x0000:继电器关闭; 0x5500:继电器翻转; |
| BC 0A | CRC16 | 前6字节数据的CRC16校验和 |
返回码: 01 05 00 FF FF 00 BC 0A
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 05 | 05指令 | 控制继电器指令 |
| 00 FF | 地址 | 固定0x00FF |
| FF 00 | 指令 | 0xFF00:继电器开启; 0x0000:继电器关闭; 0x5500:继电器翻转; |
| BC 0A | CRC16 | 前6字节数据的CRC16校验和 |
示例:[1号地址设备]:
全部继电器开启 : 01 05 00 FF FF 00 BC 0A 全部继电器关闭 : 01 05 00 FF 00 00 FD FA 全部继电器翻转 : 01 05 00 FF 55 00 C2 AA
读取继电器状态
发送码:01 01 00 00 00 08 3D CC
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 01 | 01指令 | 查询继电器状态指令 |
| 00 00 | 继电器起始地址 | 继电器的寄存器地址,0x0000 - 0x0007 |
| 00 08 | 继电器数量 | 读取继电器数量,不能超过最大继电器数量 |
| 3D CC | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:01 01 01 00 51 88
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 01 | 01指令 | 查询继电器状态指令 |
| 01 | 字节数 | 返回状态信息的所有字节数。 |
| 00 | 查询的状态 | 返回的继电器状态 Bit0:起始继电器状态; Bit1:下个继电器状态, 依次类推,高端空闲位则为零 |
| 51 88 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:[1号地址设备]
发送 : 01 01 00 00 00 08 3D CC 返回 : 01 01 01 00 51 88 //全部继电器关闭 发送 : 01 01 00 00 00 08 3D CC 返回 : 01 01 01 01 90 48 //0号继电器开启,其余继电器关闭 发送 : 01 01 00 00 00 08 3D CC 返回 : 01 01 01 41 91 B8 //0、6号继电器开启,其余继电器关闭
写继电器状态
发送码:01 0F 00 00 00 08 01 FF BE D5
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 0F | 0F指令 | 写继电器状态指令 |
| 00 00 | 继电器起始地址 | 要控制继电器的寄存器地址,0x0000 - 0x0007 |
| 00 08 | 继电器数量 | 操作继电器数量,不能超过最大继电器数量 |
| 01 | 字节数量 | 状态字节数 |
| FF | 继电器状态 | Bit0:起始继电器状态; Bit1:下个继电器状态, 依次类推,高端空闲位则为零 |
| BE D5 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:01 0F 00 00 00 08 54 0D
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 0F | 0F指令 | 全部寄存器控制指令 |
| 00 00 | 继电器起始地址 | 要控制继电器的寄存器地址,0x0000 - 0x0007 |
| 00 08 | 继电器数量 | 操作继电器数量 |
| 54 0D | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:[1号地址设备]
继电器全部开启 : 01 0F 00 00 00 08 01 FF BE D5 继电器全部关闭 : 01 0F 00 00 00 08 01 00 FE 95 0-1开;2-7关 : 01 0F 00 00 00 08 01 03 BE 94
继电器闪开闪闭指令
发送码:01 05 02 00 00 07 8D B0
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 05 | 05指令 | 单个控制指令 |
| 02 | 闪开闪闭 | 02 为是闪开指令,04为闪闭指令 |
| 00 | 继电器地址 | 要控制的继电器地址,0x00~0x07 |
| 00 07 | 间隔时间 | 延时时间为数据*100ms 数值:0x0007,延时:7*100MS = 700MS 闪开闪闭的时间最大设置为0x7FFF |
| 8D B0 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:01 05 02 00 00 07 8D B0
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 05 | 05指令 | 单个控制指令 |
| 02 | 闪开闪闭 | 02 为是闪开指令,04为闪闭指令 |
| 00 | 继电器地址 | 要控制继电器地址,0x00~0x07 |
| 00 07 | 间隔时间 | 延时时间为数据*100ms 数值:0x0007,延时:7*100MS = 700MS 闪开闪闭的时间最大设置为0x7FFF |
| 8D B0 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:[1号地址设备]
0号继电器闪开 : 01 05 02 00 00 07 8D B0 //700MS = 7*100MS = 700MS 1号继电器闪开 : 01 05 02 01 00 08 9C 74 //800MS 0号继电器闪闭 : 01 05 04 00 00 05 0C F9 //500MS 1号继电器闪闭 : 01 05 04 01 00 06 1D 38 //600MS
设置波特率指令
发送码:01 06 20 00 00 05 42 09
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 06 | 06指令 | 设置波特率,设备地址 |
| 20 00 | 波特率寄存器 | 0x2000为设置波特率 |
| 00 | 校验方式 | 0x00为无校验,0x01为偶检验,0x02为奇校验 |
| 05 | 波特率数值 | 波特率数值对应 0x00 : 4800 0x01 : 9600 0x02 : 19200 0x03 : 38400 0x04 : 57600 0x05 : 115200 0x06 : 128000 0x07 : 256000 |
| 42 09 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:01 06 20 00 00 05 42 09
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 06 | 06指令 | 设置波特率,设备地址 |
| 20 00 | 波特率寄存器 | 0x2000为设置波特率 |
| 00 | 校验方式 | 0x00为无校验,0x01为奇检验,0x02为偶校验 |
| 05 | 波特率 | 波特率数值对应 0x00 : 4800 0x01 : 9600 0x02 : 19200 0x03 : 38400 0x04 : 57600 0x05 : 115200 0x06 : 128000 0x07 : 256000 |
| 42 09 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:[1号地址设备]
设置波特率 4800 :01 06 20 00 00 00 82 0A 设置波特率 9600 :01 06 20 00 00 01 43 CA 设置波特率115200 :01 06 20 00 00 05 42 09
设置设备地址指令
发送码:01 06 40 00 00 01 5D CA
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 06 | 06指令 | 设置波特率,设备地址 |
| 40 00 | 设备地址寄存器 | 0x4000为设置设备地址 |
| 00 01 | 设备地址 | 设置的设备地址,0x0001-0x00FF |
| 5D CA | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:01 06 40 00 00 01 5D CA
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 06 | 06指令 | 设置波特率,设备地址 |
| 40 00 | 设备地址寄存器 | 0x4000为设置设备地址 |
| 00 01 | 设备地址 | 设置的设备地址,0x0001-0x00FF |
| 5D CA | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:[1号地址设备]
设置设备地址为0x01 :00 06 40 00 00 01 5C 1B 设置设备地址为0x02 :00 06 40 00 00 02 1C 1A 设置设备地址为0x03 :00 06 40 00 00 03 DD DA
读取设备地址指令
发送码:00 03 40 00 00 01 90 1B
| 字段 | 含义 | 备注 |
|---|---|---|
| 00 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 03 | 03指令 | 读取设备地址指令 |
| 40 00 | 设备地址寄存器 | 0x4000为读取设备地址 |
| 00 01 | 字节数 | 固定0x0001 |
| 90 1B | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:00 03 02 00 01 44 44
| 字段 | 含义 | 备注 |
|---|---|---|
| 00 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 03 | 03指令 | 读取软件版本,读取设备地址指令 |
| 02 | 字节数 | 返回字节数 |
| 00 01 | 设备地址 | 设置的设备地址,0x0001-0x00FF |
| 44 44 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:[2号地址设备]
发送 : 00 03 40 00 00 01 90 1B 返回 : 00 03 02 00 02 04 45 //地址0x02
读取软件版本指令
发送码:01 03 80 00 00 01 AD CA
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 03 | 03指令 | 读取软件版本,读取设备地址指令 |
| 80 00 | 软件版本寄存器 | 0x4000为读取设备地址,0x8000为读取软件版本 |
| 00 01 | 字节数 | 固定0x0001 |
| AD CA | CRC16 | 前 6 字节数据的 CRC16 校验和 |
返回码:01 03 02 01 2C B8 09
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 03 | 03指令 | 读取软件版本,读取设备地址指令 |
| 02 | 字节数 | 返回字节数 |
| 01 2C | 软件版本 | 转为十进制然后小数点左移两位即表示软件版本 0x012C = 300 = V3.00 |
| B8 09 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
示例:
发送:01 03 80 00 00 01 AD CA 返回:01 03 02 01 2C B8 09 //0x012C = 300 =V3.00
异常功能码
当接收到的指令出错或者异常设备将会返回异常响应,异常响应格式如下。
返回码:01 85 03 02 91
| 字段 | 含义 | 备注 |
|---|---|---|
| 01 | 设备地址 | 0x00表示广播地址;0x01-0xFF表示设备地址 |
| 85 | 异常功能吗 | 异常功能码 = 请求功能码 + 0x80 |
| 03 | 字节数 | 异常码 |
| 02 91 | CRC16 | 前 6 字节数据的 CRC16 校验和 |
异常码是一个单字节值,用于指示错误的类型。Modbus协议定义的几个常用异常码:
| 异常码 | 名称 | 描述 |
|---|---|---|
| 0x01 | 非法功能 | 请求的功能码不支持 |
| 0x02 | 非法数据地址 | 请求的数据地址错误 |
| 0x03 | 非法数据值 | 请求的数据值或操作无法执行 |
| 0x04 | 服务器故障 | 服务器设备故障 |
| 0x05 | 应答 | 已接收到请求并正在处理 |
| 0x06 | 设备繁忙 | 设备当前正忙无法执行请求的操作 |
资料
程序
软件
相关资料
FAQ
不需要,发送一次闪开闪闭指令并且运行完毕后,可直接发送第二次指令,无需重启
{{{5}}}
设备无需额外下载驱动,通过设备的485接口发送modbus指令即可控制设备继电器的开关或者查询继电器状态
{{{5}}}
不可以
{{{5}}}
没有拨码,只能通过指令设置
{{{5}}}
请参考 Modbus系列BootLoader说明 进入boot模式,然后就可以选择选项3来读取通信参数或者选择选项2来重置通信参数
{{{5}}}
检查一下485总线是否反接,没反接的话在A、B线之间跨接上120Ω的终端电阻
{{{5}}}
5V供电情况下,待机(继电器全为关闭状态)时的功耗参考值:0.18w,继电器为开启状态时的功耗参考值:2.9w。
具体功耗请以实际情况为准
{{{5}}}

