HSC8D8D-继电器输出

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、产品介绍

HSC8D8D 是集数字量输入输出、通讯为一体的继电器输出模块,通讯可选 RS­232 或 RS­485接口。关键器件均选用高精度器件,保证了模块的高精度和良好的线性;在电源、通讯以及输出部分均做了完备的保护措施,使得模块在应用中更加安全、稳定。本产品协议为Modbus RTU通讯协议,具有良好的通用性,用户只须按照标准的协议对模块进行访问,即可实现对模块的完全控制。模块结构设计合理,便于现场安装和调试,适用于设备控制及与上位机之间的通讯传输,可满足构建不同行业的监控系统的需求。也可以通过组态软件(比如组态王)进行控制,非常方便灵活。

产品主要应用领域:

1、用于工业控制中输入、输出触点的扩展,可以与PLC 连接,扩展PLC 的输入、输入端口

2、通过RS485 总线进行控制,每台设备有256 个地址,允许多台设备同时工作。

3、可用于替代普通的工业可编程控制器PLC ,用于各种控制场合(如各种机器控制),性价比更高。

4、可用于单片机系统学习和试验;迅速组建一套完整的开关量控制系统,比如灯光控制系统,门禁控制系统,电

机控制系统,阀门控制系统等,与组态软件配合,迅速制作画面精美的控制界面。

5、可用于串口控制多路继电器输出,用于电脑、触摸屏上实时监控各种开关量信号的状态,如实时监控灯光、电

源开关等信号应用。

6、用于各种集散型控制系统、各种远程控制系统、远程IO模块。

7、可用于楼宇、广告等灯光控制,电厂控制,自动化车间的大中型控制项目。

8、可用于工业控制电脑的外设扩展模块,轻松实现外部控制。

二、技术参数

1、电源供电电压:DC24V±10% 200mA (可订货DC12V或者其他电压,以订货为准。默认发货为24V版本)

2、输入方式:NPN低电平有效(可订PNP或其他电压触发)

3、继电器常开输出,触点容值:10A250VAC/15A125VAC

4、通讯接口:RS232或RS485(默认发货接口为RS232)

5、通讯波特率:4800、9600(默认)、9200

6、通讯帧格式:8个数据位、无校验、1个停止位

7、工作环境温度:­30℃ ~ 60℃

8、工作环境湿度:5~95%RH

三、通讯协议说明

1、通讯参数设置:9600,N,8,1

波特率:9600;校验位:无;数据位:8;停止位:1

2、数字量输入信号采集命令:

发送数据:01 02 00 00 00 08 79 CC(16进制)

X7、X6、X1有信号输入,其它通道无信号输入。

3、控制多路继电器(写多个线圈)输出:

发送数据:01 0F 00 00 00 08 01 A4 FF 2E(16进制)

返回数据:01 0F 00 00 00 08 54 0D(16进制)

写入的数据“A4”转换成2进制数为“10100100”,从左至右分别对应8路数字量输出信号Y7-Y0的状态,即Y7、Y5、Y2输出,其他通道无输出,模块接收到正确的命令后,根据命令作出相应动作,并将应答指令发回主机,表示通讯成功。

4、控制单个继电器(写单个线圈)输出

发送: 01 05 00 00 FF 00 8C 3A

返回数据:01 05 00 00 FF 00 8C 3A (16进制)

模块接收到正确的命令后,根据命令作出相应动作,并将应答指令发回主机,表示通讯成功

5、读取继电器(写单个线圈)状态:

发送数据:01 01 00 00 00 08 3D CC(16进制)

返回数据:01 01 01 A4 50 33 (进制)

读取的数据“A4”转换成2进制数为“10100100”,从左至右分别对应8路数字量输出信号Y7-Y0的状态,即:Y7、Y5、Y2有输出,其他通道无输出

6、模块地址设置命令:

发送数据:00 06 00 00 00 01 49 DB (16进制)

返回数据00 06 00 00 00 01 49 DB (16进制)

该命令表示向一个模块发出指令,设置该模块的新地址为01,该设置可以失电保存;模块的默认地址是01,当需要多个模块进行组网时,可对每个模块的地址进行单独设置,因为使用了群发地址,所以设置时要求网络中只能有一个模块,当模块接收到正确的命令后,根据命令作出相应动作,并将应答指令发回主机,表示通讯成功

7、通讯波特率设置命令:

发送数据:01 06 01 00 00 02 09 F7 (16进制)

返回数据:01 06 01 00 00 02 09 F7 (16进制)

该命令表示向一个模块发出指令,设置该模块的波特率为9600,该设置可以失电保存;模块的默认波特率是9600,当设置新的波特率后应在通讯设置中选择正确波特率,并重启模块,当模块接收到正确的命令后,根据命令作出相应动作,并将应答指令发回主机,表示通讯成功。

通讯指示灯说明:上位机发送一组格式正确的数据到控制模块,通讯灯将闪亮一次,否则通讯灯常亮

四、接线示意图

图1:RS232接口图2:RS485接口

附: CRC16 直接计算法 C函数

unsigned int crc_cal16 (unsigned char *snd, unsigned char num) { unsigned char i, j; unsigned int c,crc=0xFFFF; for(i= 0; i< num; i++) { c = snd[i] & 0x00FF; crc ^= c; for(j= 0;j< 8; j++) { if (crc & 0x0001) { crc>>=1; crc^=0xA001; } else crc>>=1; } } return(crc); }

附: CRC16 直接计算法 Basic函数

Public Function CRC16(Data() As Byte, Optional ByVal Offset As Integer = 0, Optional ByVal Length As Integer

Length = IIf(Length < 1, UBound(Data) -Offset, Length -1) 'Update 2007-03-15

For I = Offset To Offset + Length CRC16Lo = CRC16Lo Xor Data(I) '每一个数据与 CRC寄存器进行异或 For Flag = 0 To 7

SaveHi = CRC16Hi

SaveLo = CRC16Lo

CRC16Hi = CRC16Hi \ 2 '高位右移一位

CRC16Lo = CRC16Lo \ 2 '低位右移一位

If ((SaveHi And &H1) = &H1) Then '如果高位字节最后一位为 1 CRC16Lo = CRC16Lo Or &H80 '则低位字节右移后前面补 1 EndIf '否则自动补 0 If ((SaveLo And &H1) = &H1) Then '如果 LSB 为 1,则与多项式码进行异或

CRC16Hi = CRC16Hi Xor CH CRC16Lo = CRC16Lo Xor CL End If Next

Next

‘CRC_TXT.Text = Right(("00" + (Hex(CRC16Lo))), 2)

‘CRC_TXT.Text = CRC_TXT.Text + Right(("00" + (Hex(CRC16Hi))), 2)

ReturnData(0) = CRC16Lo 'CRC低位

ReturnData(1) = CRC16Hi 'CRC高位

CRC16 = ReturnData

End Function

相关文档
最新文档