串口继电器模块说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串口继电器模块介绍
4路输入4路输出模块
一、性能说明
1、采用RS485或RS232 MODBUS RTU标准通讯协议,可与PLC、组态软件、触摸屏等进行组网
2、MODBUS协议支持较多的功能码命令,及错误命令提示
3、模块地址号可以软件任意设置0~255范围
4、具有断线检测功能,避免主机故障后负载一直处于不受控状态
5、通讯接口电路采用防雷、抗干扰设计
6、4路光电隔离数字量输入和4路继电器数字量输出
7、广泛用于工业现场设备的数字量信号采集及控制
二、技术参数
1、数字量输入通道 4路光耦隔离,共正极
2、数字量输出通道 4路继电器输出,触点容量250V10A
3、通讯协议 RS232或RS485传输,MODBUS RTU标准协议
4、工作温度范围 -25~70℃
5、模块供电电源 DC24V(可订做DC12V)
6、隔离保护 1500VDC
7、引线接口 15A300V插拔式接插件
8、安装方式标准DIN导轨安装或四角螺丝固定安装
9、外形尺寸 115×103×40mm(长宽高)
三、外形与接线图
(模块外形)
(输出输入口内部逻辑图)
(接线图)
四、通讯协议
1、串口参数设置:
a)波特率9600bps
b)数据位8位
c)校验位无(N)
d)停止位1位
e)默认模块地址号为1
f)MODBUS RTU通讯方式
2
注:单帧数据长度不能超过30个字节,读取保持寄存器时最多一次可读取10个字的参数值3
说明:
a)寄存器地址0,模块的地址号,默认为1
在组网时,RS485总线上从设备的地址号。建议在修改模块地址号时,网络上只有一个模块,修改立即生效。当记不清模块地址号时,可以用0地址号进行读写访问。
b)寄存器地址1,断线检测,默认为0
当网络中主设备异常退出、死机、断线、故障时,模块检测不到数据帧后,等待延时达到寄存器1设置值时,模块自动关断输出继电器,避免负载一直处于不受控状态。
在简单的控制电路(如控制一盏电灯),主机只是单次发一帧控制命令,然后一直处于空闲等待状态,断线检测就像延时开关一样,到达延时时间后自动关断输出继电器,反而不便,此时应该设置寄存器1的值为0,无此功能。
c)寄存器1000~1009,输出继电器
共10个寄存器,对应160个继电器位,可对输出继电器读写控制。
d)寄存器1010~1019,输入继电器
共10个寄存器,对应160个输入状态位,可读出输入状态。
4、功能码01、02、04、0
5、15读写输入输出状态
按位读写操作,最大可访问160个输出继电器和160个输入状态。详细操作请参阅MODBUS通讯协议MODBUS从0 开始寻址状态位,因此,寻址状态位1~16为0~15。
5、举例说明
a)用功能码 01 读取继电器的状态
注:MODBUS从0 开始寻址状态位,所以起始地址是 00 00,而不是00 01
模块应答
数据=02,转成二进制=0000 0010;起始地址从第1个继电器开始,所以继电器1状态位是bit0,=0断开;继电器2状态位是bit1,=1吸合;其它bit2~bit7位不处理,默认是0。
b)用功能码 02 读取输入口的状态
注:MODBUS从0 开始寻址状态位,所以起始地址是 00 01,而不是00 02
模块应答
数据=04,转成二进制=0000 0100;起始地址从第2个输入口开始,所以输入口2状态位是bit0,=0断开;输入口3状态位是bit1,=0断开,输入口4状态位是bit2,=1接通;其它bit3~bit7位不处理,默认是0。
c)用功能码 03 读取保持寄存器的值
模块应答
d)用功能码 04 读取输入寄存器的值
模块应答
bit3=1接通,是输入口4的状态,其它位=0断开状态。
e)用功能码 05 控制单个继电器状态
值是00 00
模块应答,同上
f)用功能码 06 写入单个保持寄存器
模块应答,同上
g)用功能码 15 控制多个继电器状态
数据=0F,转成二进制=0000 1111, bit0~bit4对应继电器1~4路,=1吸合,其它bit4~bit7位不处理,默认是0。
h)用功能码 16 写入多个保持寄存器
此帧数据一次设置了64个继电器的状态,其中1~16和49~64路继电器吸合,17~48路继电器断开
i)错误数据应答
错误码=功能码+80H
异常码01、02、03、04分别代表不同错误状态,请参考MODBUS协议说明
五、其它
1、CRC16校验码程序
//入口参数,p是需要计算的数组(数据),length是数据个数
//返回参数是CRC16的校验码
unsigned int CRC16(unsigned char *p,unsigned char length)
{
unsigned char x;
unsigned int reg_crc=0xffff;
while(length--)
{
reg_crc^=*(p++);
for(x=0;x<8;x++)
{
if(reg_crc&0x01) reg_crc=(reg_crc>>1)^0xa001;
else reg_crc=reg_crc>>1;
}
}
return reg_crc;
}
2、根据模块硬件的不同,输入输出口数量不一致,MODBUS访问读写范围不一定会出错,软件设计的最大输入输出口各160个,超过此范围会提示错误。
3、单帧数据最长不能超过30个字节,发送和接收都不可超过30个字节,超出长度后模块丢弃此帧数据。最多一帧可读写10个保持寄存器参数值。
4、请务必使用正确的电源,且不要接错、接反。
5、输出控制负载功率,建议不要用满继电器触点容量
6、产品保修一年,来回运费由淘友承担。
7、本模块自主开发,如有特殊需求,可以定制软件和硬件,只要有量,不怕您提要求,我们靠技术吃饭。
淘宝店铺:唯固电子
服务电话:189******** 旺旺:commp