开关量输入输出模块是一款能够将开关量信号采集输入/控制输出的设备,通过RS-485总线将开关量信号采集至计算机或者计算机发送相关指令通过模块控制开关的相关状态,还可以通过RS-485总线进行成对通信,远程控制开关的相关状态。通信协议为标准Modbus协议或者定制之相关协议。
开关量输入输出模块的特点:
★开关量采集和开关控制与RS-485总线相互完全隔离,与整个系统隔离。
★电源具有防反接功能,一旦接错电源线,会自动切断电源,保护整个模块不被损毁。带有过压保护功能,当电压过高,自动断开,保护整个模块不被损毁。
★RS-485接口具有600W防雷防浪涌保护功能,带有3000V光电隔离。
★采用Modbus协议,通用性好,可以很方便的与其他系统对接,客户也可以依据自己个性需求,定制相关协议,方便灵活。
★通信线路采用RS-485总线,支持多个模块并联使用,便于扩充系统,可扩展性好。
一、主要性能简介
CHCS9082开关量输入模块可以检测14通道开关量状态,模块带有RS485总线,MODBUS-RTU协议.用于各种工业测控系统,其功能与技术指标如下:
工作电压
|
+8~24VDC,带电源极性保护
|
通讯接口
|
RS-485 接口, 二线制, ±15KV ESD 保护
|
通讯速率
|
1200,2400,4800,9600,19200 bps 可软件设定
|
通讯地址
|
00~255,可软件设定
|
通讯格式
|
一个起始位,8个数据位,*小的有效位先发送,无奇偶校验位,1个停止位,CRC-16校验
|
传送距离
|
<1200M (9600bps)
|
信号输入
|
14路开关量输入,逻辑电平0:0 ~ +0.5V 或短接, 逻辑电平1:+3.5V~+30V 或开路。
|
外形尺寸
|
122mm *72mm * 43mm
|
安装方式
|
DIN35mm 导轨卡装
|
工作环境
|
工作温度:-20℃~70℃; 存储温度:-40℃~85℃; 相对湿度:-5%~95%不结露
|
二、模块外形结构图、引脚定义、信号输入原理图
1、外形结构图:单位mm

2、引脚定义如下:
引脚号
|
名称
|
描述
|
1
|
DI9
|
开关量输入通道9
|
2
|
DI10
|
开关量输入通道10
|
3
|
DI11
|
开关量输入通道11
|
4
|
DI12
|
开关量输入通道12
|
5
|
DI13
|
开关量输入通道13
|
7
|
DATA+
|
RS485接口信号正极
|
8
|
DATA-
|
RS485接口信号负极
|
9
|
VCC
|
电源正,+8~24VDC输入
|
10
|
GND
|
电源负
|
11
|
DGND
|
开关量输入信号地
|
12
|
DI0
|
开关量输入通道0
|
13
|
DI1
|
开关量输入通道1
|
14
|
DI2
|
开关量输入通道2
|
15
|
DI3
|
开关量输入通道3
|
16
|
DI4
|
开关量输入通道4
|
17
|
DI5
|
开关量输入通道5
|
18
|
DI6
|
开关量输入通道6
|
19
|
DI7
|
开关量输入通道7
|
20
|
DI8
|
开关量输入通道8
|
注:LED 指示灯:上电后,模块正常运行状态下闪烁. 通讯发数时灭
3. 信号输入原理图

三、RS485通讯应用
模块通讯协议为MODBUS-RTU格式,出厂默认模块地址为01,速率为9600bps,具体协议内容请参考MODBUS规约详解。地址、波特率可以通过CHCS9000系列测试软件来修改,也可以通过协议通讯来修改。
1.请求读数据通讯协议
为获取开关量状态,必须向模块发出读状态命令,如下:
01 02 00
00 00 0E F9 CE
a b c d e
a.模块地址:开关量输入模块所在RS485网络中的地址
b.功能:MODBUS-RTU命令功能,02H表示读输入状态的命令
c.输入状态地址:表示MODBUS-RTU所规定的输入状态开始地址
d.输入状态数量:表示从开始地址开始的开关量状态个数
e.除本段的所有发送数据的循环冗余码校验(CRC)值,低位字节在前
2.读取14个开关量数据的通讯协议
向模块发送读取命令后可获取14个开关量数据,低位字节在前
01 02 02 01
20 B9 F0
a b c d e
a.模块地址:开关量输入模块所在RS485网络中的地址
b.功能:MODBUS-RTU命令功能,02H表示读输入状态的命令
c.输入字节:返回的14个输入状态数量,此处为两个字节
d.输入状态:获取的14个输入状态,此处为0120H,低位在前,见下表
位
|
07
|
06
|
05
|
04
|
03
|
02
|
01
|
00
|
X
|
X
|
13
|
12
|
11
|
10
|
09
|
08
|
码结构
|
低位
|
高位
|
输入状态
|
OFF
|
OFF
|
OFF
|
OFF
|
OFF
|
OFF
|
OFF
|
ON
|
X
|
X
|
ON
|
OFF
|
OFF
|
OFF
|
OFF
|
OFF
|
BIN数据
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
HEX数据
|
01H
|
20H
|
e.除本段的所有发送数据的循环冗余码校验(CRC)值,低位字节在前
3.请求写数据通讯协议
设置模块通讯地址,波特率,必须向模块发出写命令,如下:
01 06 00
00 00 01 02 02
07 67 D4
a b c d e f g
a.模块地址:开关量输入模块所在RS485网络中的地址
b.功能:MODBUS-RTU命令功能,06H表示预置单寄存器
c.起始地址:预置单寄存器起始地址
d.寄存器数量:表示从开始地址开始的寄存器个数
e.字节数:预置的字节数.此处为02
f.寄存器内容:高位为模块新地址,低位为通讯速率,03~07代表1200~19200bps.
g.除本段的所有发送数据的循环冗余码校验(CRC)值,低位字节在前
4.写数据返回通讯协议
向模块发送写数据命令后可获取模块返回应答
01 06 00
00 00 01 48 0A
a b c d e
a.模块地址:开关量输入模块所在RS485网络中的地址
b.功能:MODBUS-RTU命令功能,06H表示预置单寄存器
c.起始地址:预置单寄存器起始地址
d.寄存器数量:表示从开始地址开始的寄存器个数
e.除本段的所有发送数据的循环冗余码校验(CRC)值,低位字节在前