当前位置:首页 / 案例库 / MODBUS继电器输入输出模块

MODBUS继电器输入输出模块

4路继电器输入输出模块

一、 产品简介

供电电压:9-36V

通信接口及协议:RS485/MODBUS RTU/ACII

通讯协议:9600(默认)/1200/2400/4800/19200可选

设备地址范围:0x01(默认) 1-255可选

输出:4路继电器输出 250VAC/30VDC  10A

输入:4路离散量输入(光耦隔离)5V/12V/24V/36V/48V可选

二、 实物图

三、 接线定义

四、 软件协议

默认波特率 9600,一位起始位,8 个数据位,一个停止位,无效验位。默认地址 0x01,通信协议符合 MODBUS RTU 规范。

以下是指令详解(以地址 01 为例,指令是 16 进制)

1、 读取开关量输入信号

发送指令格式:地址(1 字节)+命令(一字节)+寄存器地址(两字节)+数据域(两字节)+CRC 校验码(两字节)。

数据返回格式:地址(1 字节)+命令(一字节)+返回字节数(1 字节)+返回的数据(一字节)+CRC 校验码(两字节)
发送:01 02 00 20 00 04 78 03
返回:01 02 01 0F E1 8c
返回 0F,本模块只用低 4 ,只关心低四位。从第一位到第 4 位分别表示开关量输入 INPUT1 INPUT4 的状态,当有开关量输入信号时,相应的位为 0,假如第一路开关量有输入,其它路没有开关量输入,这个值为 0E

2、 控制继电器输出

2.1 一次控制单个继电器动作(假定模块地址为 01

开第一路 01 05 00 10 FF 00 8D FF
开第二路 01 05 00 11 FF 00 DC 3F
开第三路 01 05 00 12 FF 00 2C 3F
开第四路 01 05 00 13 FF 00 7D FF
关第一路 01 05 00 10 00 00 CC 0F
关第二路 01 05 00 11 00 00 9D CF
关第三路 01 05 00 12 00 00 6D CF
关第四路 01 05 00 13 00 00 3C 0F
上面命令的返回的命令就是发送的命令

2.2 一次操作所有继电器动作

开全部 01 0F 00 10 00 04 01 0F BF 51
关全部 01 0F 00 10 00 04 01 00 FF 55
置一二路开,置三四路关 01 0F 00 10 00 04 01 03 BF 54
置一二路关, 置三四路开 01 0F 00 10 00 04 01 0C FF 50
上面命令返回都是 01 0F 00 10 00 04 55 CD

3、 读取继电器输出状态

发送指令格式:地址(1 字节)+命令(一字节)+寄存器地址(两字节)+数据域(两字节)+CRC 校验码(两字节)。
数据返回格式:地址(1 字节)+命令(一字节)+返回字节数(1 字节)+返回的数据(一字节)+CRC 校验码(两字节)
发送:01 01 00 10 00 04 3c 0c
返回:01 01 01 00 51 88
返回 00,输出继电器的状态,0 为断开,1 为吸合.本模块只用低 4 ,只关心低四位。

4、 设定模块地址
指令格式:00 06 00 01 00+地址(一字节,这个字节的地址表示设备修改后的地址是这个)+CRC 校验(两字节)
将设备地址改为 01 00 06 00 01 00 01 18 1b
将设备地址改为 02 00 06 00 01 00 02 58 1a

5、 修改波特率

修改波特率为 1200:发送 00 06 00 02 00 01 e8 1b
修改波特率为 2400:发送 00 06 00 02 00 02 a8 1a
修改波特率为 4800:发送 00 06 00 02 00 03 69 da
修改波特率为 9600:发送 00 06 00 02 00 04 28 18
修改波特率为 19200 发送 00 06 00 02 00 05 e9 d8

修改成功后,会发返相同的数据,然后给设备重新上电,即完成修改,当波特率忘记时,可分别设置串口收发工具的波特率从 1200 19200 分别发送指令测试。

评论
评分:
客服电话
二维码
客服QQ

客服QQ:
1617942058

留言板