产品介绍
SM1800C温度数据采集模块,配合美国专用温度传感器,基于工业用MODBUS-RTU协议,实现低成本温度状态在线监测的实用型一体化模块。
本模块可应(1)SMT行业温度数据监控 (2) 电子设备厂温度数据监控(3) 冷藏库温度监测(4) 仓库温度监测 (5) 药厂GMP监测系统(6) 环境温度监控(7) 电信机房温湿监控 (8)宾馆温度监控(9)档案室温度监控(10)智能家居温度监控(9) 其它需要监测温度的各种场合等。
技术参数
参数 | 值 |
显示测温范围 | -40℃~+75℃ |
传感器标称测温精度 | ±0.5℃(内置为DS18B20) |
显示测湿范围 | 0~100%RH |
波特率 | 250kbps(可订制其它波特率) |
通讯端口 | CAN |
供电电源 | 总线供电,DC6V-24V 1A |
耗电 | 1W |
运行环境: | -40℃~85℃ |
外形尺寸 | 45×65×28mm³ |
典型案例
SM1000C模块可以通道模块自带的CAN总线接口直接接入CAN现场总线。CAN总线的组网方式,可以将通讯距离延长到最长10千米,可以有效解决最简连接的距离过短问题。
下图SM1000C模块CAN组网的系统组网实例图,每个模块都有一个节点编号,一个小系统,可以最多放置90个SM1000C模块(理论上可达110个节点)。SM1000C访问通讯协议可免费供用户二次开发使用。
接口说明
总线接口
模块有两个接口,一个是CAN总线接口,一个是单总线接口,CAN总线接口为四芯接插件,其引脚定义为:
圆口接插件引脚:
1— DC 6-24V +(红)
2— DC 6-24V -(黄)
3— H+(黄)
4— H-(兰)
传感器接口
单总线为三芯黑色引线,用户可以根据需求自行延长,建议使用三芯电缆或五类双绞线(只需使用其中三芯),模块引出的单总线线芯颜色及与传感器接线引脚定义如下表格所示:
序号 | 线芯颜色 | 标号 | 说明 |
1 | 红色线芯 | VCC | 给传感器供电引脚,输出电压为5V |
2 | 兰色线芯 | DQ | DS18B20或温度传感器的信号线 |
3 | 黑色线芯 | GND | 5V电源地 |
通讯协议
CAN 标准帧信息为11 个字节包括两部分信息和数据部分前3 个字节为信息部分。
位 (Bit) | ||||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
字节1 | FF | RTR | X | X | DLC(数据长度) | |||
字节2 | (报文识别码)ID.10-ID.3 | |||||||
字节3 | ID.2-ID.0 | X | X | X | X | X | ||
字节4 | 数据1 | |||||||
字节5 | 数据2 | |||||||
字节6 | 数据3 | |||||||
字节7 | 数据4 | |||||||
字节8 | 数据5 | |||||||
字节9 | 数据6 | |||||||
字节10 | 数据7 | |||||||
字节11 | 数据8 |
字节1 为帧信息。第7 位(FF)表示帧格式,在扩展帧中,FF=1;第6位(RTR)表示帧的类型,RTR=0
表示为数据帧,RTR=1 表示为远程帧;DLC 表示在数据帧时实际的数据长度。
字节2~3为报文识别码11 位有效。字节4~11为数据帧的实际数据,远程帧时无效。
本产品采用的协议为企业内部的协议,非标准CAN open协议。默认速率为250k。
SM1910C出厂时默认节点号为1,即报文识别码为CAN标准帧中的ID.10-ID.3。
位 (Bit) | ||||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
字节1 | FF | RTR | X | X | DLC(数据长度) | |||
字节2 | (报文识别码)ID.10-ID.3 | |||||||
字节3 | ID.2-ID.0 | X | X | X | X | X |
当使用右对齐方式:
当采用直接ID右对齐方式时,报文识别码需左移3位。如当前设备地址为1时,左移3位时为1000B,即此时地址为08.
比如硬件地址为1时,采用ID靠右对齐的方式时,实际ID为08,如下图所示,帧ID为 00 00 00 08,发送正确的命令即可有数据回复。
可以用主站通过命令重新设置节点号,节点号的范围为1~127。重新设置节点号后,必须复位系统,系统重启后,新节点号才有效。因通讯都为十六进制格式,表格里的数据都为16进制格式。
比如主机ID为00 00,传感器地址为01 00将当前1号节点更改为2号,更改设备ID的通讯报文如下:
帧类型 | CAN帧ID | CAN帧数据部分 | ||||||
MAC ID | 命令:@REID 01 00 40 52 45 49 44 02 | 新地址 | ||||||
命令帧 | 01 | 00 | 40 | 52 | 45 | 49 | 44 | 02 |
正确设置后返回帧:
帧类型 | CAN帧ID | 旧地址 | 类型ID | 通道数 | 4字节数据 | ||||
返回帧 | 00 | 00 | 01 | 22 | 02 | 00 | 00 | 00 | 00 |
单独读取温度值的通讯报文如下:
帧类型 | CAN帧ID | CAN帧数据部分 | ||||||
查询命令:@TRAN | 温度寄存器地址 | |||||||
命令帧 | 01 | 00 | 40 | 54 | 52 | 41 | 4E | 11 |
正确查询后返回帧:
帧类型 | CAN帧ID | CAN帧数据部分 | ||||||||
本机地址 | 寄存器地址 | 寄存器值 | ||||||||
正常响应帧 | 00 | 00 | 01 | 11 | 20 | 20 | 31 | 36 | 2E | 35 |
异常响应帧 | 00 | 00 | 01 | 11 | 00 | 00 | 00 | 00 | 00 | 00 |
温度数据的寄存器地址为0x11,湿度的为0x22.
如上例所示,传感器的数据为6个节字构成,6个字节都转换成asc码即为真实数据。
比如17.5 这6个字节分别 20 20 31 37 2E 35,其中0x20表示该字节数据为空,0x31是3的ASCII值,0x31是1的ASCII值,0x2E是 . 的ASCII值。其中第5个字节固定为0x2E即小数点的ASCII值。
单独读取湿度值的通讯报文如下:
帧类型 | CAN帧ID | CAN帧数据部分 | ||||||
MAC ID | 查询命令:@TRAN | 湿度寄存器地址 | ||||||
命令帧 | ID | 00 | 0x40 | 0x54 | 0x52 | 0x41 | 0x4E | 0x12 |
返回帧:
帧类型 | CAN帧ID | CAN帧数据部分 | ||||||||
本机地址 | 寄存器地址 | 寄存器值 | ||||||||
正常响应帧 | 00 | 00 | 01 | 22 | 20 | 20 | 31 | 36 | 2E | 35 |
异常响应帧 | 00 | 00 | 01 | 22 | 00 | 00 | 00 | 00 | 00 | 00 |