匿名
未登录
登录
丢石头百科
搜索
查看“RS485 Modbus Relay”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
RS485 Modbus Relay
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Product |images=[[File:Modbus RTU Relay_1.png|400px]] |categories= {{Category|继电器}} |brand=丢石头 |features= * Modbus RTU 继电器 |interfaces= {{Category|I/O口}} {{Category|RS485接口}} {{Category|UART接口}} |related= * [[Solid State Relay Module]] * [[Relay Module With Optocoupler]] * [[XH-M131 Photosensitive Resistor Module]] }} == 产品概述 == 继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 一路/两路/四路Modbus继电器模块搭载成熟稳定的8位MCU和RS485电平通讯芯片。采用标准MODBUS RTU格式的RS485通讯协议,可以实现1/2/4路输入信号检测、1/2/4路继电器输出,可用于数字量检测或者功率控制场合。 == 产品特点 == *板载成熟稳定的8bit MCU和MAX485电平转换芯片 *通讯协议:支持标准Modbus RTU协议 *通讯接口:支持RS485/TTL UART接口 *通讯波特率:4800/9600/19200,默认9600bps,支持掉电保存 *光耦输入信号范围:DC3.3-24V(此输入不可用于继电器控制) *输出信号:继电器开关信号,支持手动、闪闭、闪断模式。闪闭/闪断的延时基数为0.1S,最大可设闪闭/闪断时间为0xFFFF*0.1S=6553.5S *设备地址:范围1-255, 默认255,支持掉电保存 *波特率、输入信号、继电器状态、设备地址可使用软件/指令进行读取 *板载1路/2路/4路5V,10A/250VAC 10A/30VDC继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短 *板载继电器开关指示灯; *供电电压:DC7-24V,支持DC座/5.08mm端子供电,带输入防反接保护; == 引脚说明 == 以Modbus RTU Relay (2)为例 [[File:Modbus RTU Relay_引脚说明.png|800px]] *1、A+,B-:RS485通讯接口,A+,B-分别接外部控制端的A+,B- *2、DC3.3-24V光耦信号输入(不可用于控制继电器吸合): **IN1: 通道1正极 **IN2: 通道2正极 **GND_IN:公共端负极 *3、VCC,GND: DC7-24V 5.08mm电源输入端子 *4、继电器2开关信号输出: **NC2:常闭端,继电器吸合前与COM短接,吸合后悬空; **COM2:公共端; **NO2:常开端,继电器吸合前悬空,吸合后与COM短接。 *5、继电器1开关信号输出: **NC1:常闭端,继电器吸合前与COM短接,吸合后悬空; **COM1:公共端; **NO1:常开端,继电器吸合前悬空,吸合后与COM短接。 *6、继电器指示灯:继电器吸合时点亮 *7、GND,RXD,TXD:TTL电平UART通讯接口,GND,RXD,TXD分别接外部控制端的GND,TXD,RXD,支持连接3.3V/5V 外部TTL串口 *8、RS485和TTL串口选择端 **当使用RS485通信时,DI接TXD、RO接RXD **当使用TTL通信时DI和RO都接NC端 == Modbus RTU指令简介 == Modbus设备通过接收来自外部控制端(如:上位机/MCU)的Modbus RTU指令来执行相关操作,一帧指令一般由设备地址、功能码、寄存器地址、寄存器数据、校验码组成,帧长度和功能码有关。一般每帧数据的首字节为设备地址,可设置范围为1-255,默认255(即0xFF),最后2字节为CRC校验码。 假设设备地址为255,则常用的Modbus RTU指令如下:(更多详细指令请参考[[:File:Modbus RTU Relay_指令详解.pdf|指令详解]]) *'''打开1号继电器(手动模式)''' <pre> 发送: FF 05 00 00 FF 00 99 E4 原样返回:FF 05 00 00 FF 00 99 E4 </pre> 备注1:发送帧的第3--4个字节代表继电器地址,继电器1--继电器8的地址分别为0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007 备注2:发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器 *'''关闭1号继电器(手动模式)''' <pre> 发送: FF 05 00 00 00 00 D8 14 原样返回:FF 05 00 00 00 00 D8 14 </pre> *'''打开2号继电器(手动模式)''' <pre> 发送: FF 05 00 01 FF 00 C8 24 原样返回:FF 05 00 01 FF 00 C8 24 </pre> *'''关闭2号继电器(手动模式)''' <pre> 发送: FF 05 00 01 00 00 89 D4 原样返回:FF 05 00 01 00 00 89 D4 </pre> *'''打开所有继电器''' <pre> 发送:FF 0F 00 00 00 08 01 FF 30 1D 返回:FF 0F 00 00 00 08 41 D3 </pre> *'''关闭所有继电器''' <pre> 发送:FF 0F 00 00 00 08 01 00 70 5D 返回:FF 0F 00 00 00 08 41 D3 </pre> *'''设置设备地址为1''' <pre> 发送: 00 10 00 00 00 01 02 00 01 6A 00 原样返回:00 10 00 00 00 01 02 00 01 6A 00 </pre> 备注:发送帧的第9个字节0x01为写入的设备地址 *'''设置设备地址为255''' <pre> 发送: 00 10 00 00 00 01 02 00 FF EB 80 原样返回:00 10 00 00 00 01 02 00 FF EB 80 </pre> 备注:发送帧的第9个字节0xFF为写入的设备地址 *'''读取设备地址''' <pre> 发送: 00 03 00 00 00 01 85 DB 返回: 00 03 02 00 FF C5 C4 </pre> 备注:返回帧的第5个字节0xFF为读取到的设备地址 *'''读取继电器状态''' <pre> 发送: FF 01 00 00 00 08 28 12 返回: FF 01 01 01 A1 A0 </pre> 备注:返回帧的第4个字节0x01的Bit0--Bit7分别代表继电器1--继电器8,0为关闭,1为打开 *'''读取光耦输入状态''' <pre> 发送: FF 02 00 00 00 08 6C 12 返回: FF 02 01 01 51 A0 </pre> 备注:返回帧的第4个字节0x01的IN1--IN8分别代表光耦1--光耦8输入信号,0代表低电平,1代表高电平 *'''设置波特率为4800''' <pre> 发送: FF 10 03 E9 00 01 02 00 02 4A 0C 返回: FF 10 03 E9 00 01 C5 A7 </pre> 备注:发送帧的第9个字节为波特率设置值,0x02, 0x03, x04分别代表4800, 9600, 19200 *'''设置波特率为9600''' <pre> 发送: FF 10 03 E9 00 01 02 00 03 8B CC 返回: FF 10 03 E9 00 01 C5 A7 </pre> *'''设置波特率为19200''' <pre> 发送: FF 10 03 E9 00 01 02 00 04 CA 0E 返回: FF 10 03 E9 00 01 C5 A7 </pre> *'''读取波特率''' <pre> 发送: FF 03 03 E8 00 01 11 A4 返回: FF 03 02 00 04 90 53 </pre> 备注:返回帧的第5个字节代表读取到的波特率,0x02, 0x03, x04分别代表4800, 9600, 19200 *'''打开1号继电器(闪闭模式2S)''' <pre> 发送: FF 10 00 03 00 02 04 00 04 00 14 C5 9F 返回: FF 10 00 03 00 02 A4 16 </pre> 备注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后自动关闭 *'''关闭1号继电器(闪断模式3S)''' <pre> 发送: FF 10 00 03 00 02 04 00 02 00 1E A5 99 返回: FF 10 00 03 00 02 A4 16 </pre> 备注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和2(手动模式)为例,假设设备地址为255,波特率为9600,则使用步骤如下: #VCC、GND接电源正负极。 #A+,B-分别USB转RS485模块输出端的A+和B-; #打开上位机软件“ModbusRTU 配置工具”,选择正确的端口号,波特率选择9600,地址设为255,点击“打开串口”; #再点击“JD1打开”即可打开继电器1,同时继电器1指示灯点亮。如下图: [[File:Modbus RTU Relay_使用说明.png|600px]] [[File:Modbus RTU Relay_使用说明1.png|800px]] == 生成校验码 == Modbus RTU指令通过现成的上位机软件(如:ModbusRTU 配置工具)来发送时,CRC校验码是自动生成的,如果想使用串口调试软件(如SSCOM)来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式): *打开/关闭继电器(手动模式)的发送帧组成为:设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte) *假设设备地址为0xFF, 则发送帧的前6个字节为:FF 05 00 00 FF 00 *使用CRC校验工具对这6个字节求校验码:http://www.ip33.com/crc.html [[File:Modbus RTU Relay_校验码.png|600px]] *交换校验计算结果E499的高低字节位置后得到CRC校验码99E4,以及完整的发送帧:FF 05 00 00 FF 00 99 E4 *将该发送帧通过串口调试软件SSCOM V5.13.1发送到Modbus继电器模块即可打开第一路继电器(手动模式),如下: [[File:Modbus RTU Relay_校验码1.png|600px]] == 参考资料 == *[[:File:Modbus RTU Relay_调试软件.zip|调试软件]] *[[:File:Modbus RTU Relay_相关资料.zip|相关资料]] *[[:File:Modbus RTU Relay_指令详解.pdf|指令详解]] == 注意事项 == *电源与负载请在参数范围内使用,请勿超范围使用。 *额定负载和寿命是一个参考值,会根据不同的环境因素负载性质与种类而有较大不同,因此最好在实际或模拟实际的使用中进行确认。 *模块的负载能力受环境温度和自身温升的影响较大,需依据实际工作环境条件利用空气对流散热即可,要求安装在有良好对流环境。 *高温下的电耐久性:模块在高温下使用时,电耐久性会比常温下使用要低,所以请在实际使用中进行确认。 == FAQ == {{Service00}}
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
RS485 Modbus Relay
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志