2.设备地址设置
通过软件设置,参见通讯协议部分。
3. 通讯协议
设备所有操作或回复命令都为16进制数据。默认通讯波特率:9600,8,n,1。
基本命令格式:
[设备地址][功能码][起始地址:2字节][数据长度:2字节][CRC16校验]
意义如下:
A、设备地址:设备地址范围为1-249,其中250即0
xFA为通用查询地址,当不知道设备地址时,可用此通用查询地址进行查询。
B、功能码:不同的应用需求功能码不同,比如3为查询输入寄存器数据。
C、起始地址:查询或操作寄存器起始地址。
D、数据长度:读取的长度。
E、CRC校验:CRC16校验,低位在前,高位在后。
1)读取数据
发送命令格式:
[设备地址][03][起始地址:2字节][数据长度:2字节][CRC16校验]
注:数据长度为2字节,SM3560光照度传感器值固定为0
x00 01
设备响应格式:
[设备地址][命令号][返回的字节个数][数据][CRC16校验]
返回数据意义如下:
A、返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。
B、数据1…N:各个传感器的测量值,每个数据占用两个字节。为整型数据,温度及湿度真实值为读出值除以100。
例如:查询1号设备上光照度传感器数据:
发送:01 03 00 00 00 01 84 0A
回应: 01 03 02 01 70 B8 30
上例回复数据中:01表示地址1,03表示命令号,02表示数据长度为2个字节,01 70为测量数据, 折成10进制即为:368,即实际值为368流明。
在组态软件中,寄存器对照表:
序号 |
名 称 |
寄存器地址 |
1 |
光照度寄存器 |
40001 |
2)更改设备地址
发送命令格式:
[设备地址][命令号:0
x06][ 辅助命令号
:0x0B] [00 00] [目标地址:占1个字节] [CRC16]
说明:
A、目标地址:值范围为1-249,目标地址与当前地址不能相同。
B、00 00为十六进制数,为固定值,不可更改。
比如将设备地址1,更改为2,则命令为:
01 06 0B 00 00 02 0A 2F
设备响应: 02 25 01 02 90 06
设备响应格式:[设备地址][命令号] [数据长度:1字节] [设备地址] [CRC16]
3)查询设备地址
若不知道当前设备地址、且总线上只有一个设备时,可以通过此命令查询当前设备地址。
发送命令格式:
[设备地址:0
xFA][命令号:0
x25][ 辅助命令号
:0x02] [00 00 01] [CRC16]
说明:
A、设备地址0
xFA为通用设备查询地址。
B、00 00 01为十六进制数,为固定值,不可更改。
比如查询当前设备地址,命令为 FA 25 02 00 00 01 99 FE
设备响应: 01 25 01 01 D0 43
设备响应格式:[设备地址][命令号] [数据长度:1字节] [设备地址] [CRC16]
比如:02 25 01 18 11 CD 表明设备地址为02。
4)量程缩放系数的写入
若光照度量程整体偏移时,可以通过此命令设置出理想的光照度量程。
发送命令格式:
[设备地址][命令号:0
x06][辅助命令号
:0x0A] [参数编号] [写入的系数值][CRC16]
说明:
比如写入量程缩放系数值为1,命令为 01 06 0A 01 27 10 C1 EE
设备响应: 01 01 27 10 00 24
设备响应格式:[设备地址][参数编号] [写入的系数值] [CRC16]
上例回复数据中,量程缩放系数更改为1,而实际参数需乘10000,即十进制值为10000,对应16进制数据为27 10。
5)读出量程缩放系数值
若不知道量程缩放系数时,可以通过此命令可以读出量程缩放系数的值。
发送命令格式:
[设备地址][命令号:0
x03][ 辅助命令号
:0x00] [参数编号][固定值:00 01] [CRC16]
说明:
比如查询当前缩放系数值,命令为 01 03 00 01 00 01 D5 CA
设备响应: 01 03 02 27 10 A2 78
设备响应格式:[设备地址][命令号] [数据长度:2字节] [缩放系数值] [CRC16]
上例回复数据中,读出的量程缩放系数更改为1,而实际参数需乘10000,即十进制值为10000,对应16进制数据为27 10。
6)偏移量的写入
若光照度量程有偏移时,可以通过此命令设置出理想的光照度量程。
发送命令格式:
[设备地址][命令号:0
x06][辅助命令号
:0x0A] [参数编号] [写入的偏移量的值][CRC16]
说明:
比如写入偏移量的值为1,命令为 01 06 0A 02 01 F4 2B C5
设备响应: 01 02 01 F4 A0 0F
设备响应格式:[设备地址][参数编号] [写入的系数值] [CRC16]
上例回复数据中,偏移量的值更改为500,十进制值也为500,对应16进制数据为01 F4。
7)读出偏移量
若不知道偏移量时,可以通过此命令可以读出偏移量的值。
发送命令格式:
[设备地址][命令号:0
x03][ 辅助命令号
:0x00] [参数编号][固定值:00 01] [CRC16]
说明:
比如查询当前偏移量的值,命令为 01 03 00 02 00 01 25 CA
设备响应: 01 03 02 01 F4 B8 53
设备响应格式:[设备地址][命令号] [数据长度:2字节] [偏移量值] [CRC16]
上例回复数据中,偏移量的值读出为500,十进制值也为500,对应16进制数据为01 F4。
4.安装尺寸
5.典型方案
KM35B60通过RS485总线的组网方式,可以将通讯距离延长到最长1200米,可以有效解决最简连接的距离过短问题。
下图是基于KM35B60传感器典型光照度监测与控制的RS485组网结构图,每个KM35B60传感器都有一个节点编号,一个小系统,可以放置1-15个KM35B60传感器传感器。 因每个KM35B60传感器采用宽电源供电,所以整个系统都可以采用总线供电的方案。
RS485组网方案