- 1. 一、技术参数
- 2. 二、Function特点
- 3. 三、无缝多协议
- 4. 四、可靠的安全性能
- 5. 五、接线端说明
- 6. 六、控制器选项表
- 7. 七、通信协议说明
- 8. 1. 概述
- 9. 出厂默认参数
- 10. 2. 指令format说明
- 11. 基本指令format
- 12. 各field说明
- 13. 3. 具体指令说明
- 14. 3.1 设置RGB(RGBW)值
- 15. 3.2 查询RGB(RGBW)值
- 16. 3.3 控制器SceneFunction设置
- 17. 3.3.1 呼吸灯Scene内容表
- 18. 3.3.2 暴闪Scene内容表
- 19. 3.3.3 调光Scene内容表
- 20. 3.3.4 单步调光Scene内容表
- 21. 3.3.5 switchScene内容表
- 22. 4. Precautions
- 23. 1. 概述
- 24. 1.1 register address表
- 25. 2. 指令列表
- 26. 2.1 控制器参数设置
- 27. 2.2 控制器参数查询
- 28. 2.3 控制器输出值设置
- 29. 2.4 控制器输出值查询
- 30. 2.5 控制器SceneFunction设置
- 31. 3. Communication parameters默认值
- 32. 4. Precautions
- 33. debugAssistantDownload
一、技术参数
工作temperature:-20 – 60℃
工作电压:DC12V – DC24V
输出电流:16A(每个回路)
额定功率:12V:<500W 24V:<1000W
输出回路:红(R)、绿(G)、蓝(B)三个通道
输出颜色:16777216(256 * 256 * 256)种
输出connect:共阳
静态功耗:<0.3W
外形尺寸:88mm * 54mm * 59mm(长宽高)
通信方式:RS485
Baud rate:4800 9600 19200 38400 57600 115200
通信协议:自有协议、MODBUS-RTU协议、Customization协议
二、Function特点
多种Scene:
- 颜色控制、无极自动调光
- 定时switch、全彩爆闪、7色呼吸
灵活的指令:
- Customization指令关联控制
- 自带IO控制、远程IO控制
- 双色筒灯调色温专用指令
- 单回路、多回路定时switch控制
- RGB灯色彩控制(多达1600万色)
- 可配置Baud rate、上电记忆Function、回复使能
丰富的输入输出Function:
- 2个可编程输入IO
- 6个可编程自动Scene
- 延时控制、延时输入技术(方便对接人体感应)
多种负载对接能力:
- 标准共阳RGB灯带/灯具
- 独立的单色灯带、双色温筒灯
三、无缝多协议
- 本司自定协议(推荐采用)
- 工业级标准MODBUS协议system
- 多达6条用户可Customization协议(需要配合本司自定协议使用)
四、可靠的安全性能
- RS485通信控制
- 55A原装进口MOS
- 防电源反接Function,宽电压7-28V供电
- 强干扰环境的应用,可选择高速隔离通信版
- All使用大厂原装器件,高性价比。工业级进口MCU抗干扰能力强
五、接线端说明
V+:模块供电正极(宽电压7-26V供电) V-:模块供电负极 A:RS485的A端 B:RS485的B端 V+:共阳RGB灯正极(与供电的V+相通) R:LED红色(负极) G:LED绿色(负极) B:LED蓝色(负极)

六、控制器选项表
| 型号 | Communication Interface | 通信隔离 | 负载能力 | 单回路负载能力 | 供电电源 |
|---|---|---|---|---|---|
| WE102 | RS485 | 无 | 15A | 5A | – |
| WE102A | RS485 | 无 | 20A | 5A | – |
| WE102B | RS485 | 有 | 15A | 5A | – |
| WE102C | RS485 | 有 | 20A | 5A | – |
| WE102D | RS485 | 无 | 6A | 2A | – |
| WE102E | RS485 | 无 | 8A | 2A | – |
| WE102F | RS485 | 无 | 6A | 2A | – |
说明:
- 控制器是低压直流控制器,默认的供电电压是DC:7-28V。建议12V或24V。当应用在供电电压大于28V时,需要提前联系客服人员进行定制。
- 控制器的输出端口是大功率MOS管,严禁负载(输出与V+)短路。为了防止负载短路,请选择与负载功率合适的保险管进行保护。
- 控制器的负载电压与供电电压要一致。
七、通信协议说明
自有协议
本协议用于配置设备的 RS485 Communication parameters。所有命令均以 0xA5开头,以 0x5A结尾。checksum是从 Lengthbyte 开始,到 checksumbyte之前 的所有byte的累加和(通常取低8位)。
1. 设置通信address (0xB0)
- Function: 更改设备的通信address。
- 重要提示:
o如果设备上有 address拨码switch,此命令Invalid,会返回失败 (0xB3)。必须使用拨码switch设置address。
o拨码switchOperation:
- 出厂默认:所有switch在非数字侧 (1),address为 0xFF。
- 设置address:将switch拨到数字侧表示该位为 0,否则为 1。
- 必须断电Operation! 带电Operation可能损坏控制器。
- 拨码switch设置后,重新通电生效。
o使用此命令设置address:无需断电,立即生效,新address会保存。
- send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此命令data部分Length (旧address + 命令字 + 新address = 3byte) |
| 3 | 旧address | 0xXX | 当前与设备通信使用的address (0x00-0xFF) |
| 4 | 命令字 | 0xB0 | address设置命令 |
| 5 | 新address | 0xXX | 要设置的新address (0x00-0xFF) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 新address 的累加和 (SUM(0x04, 旧address, 0xB0, 新address)) |
| 7 | End码 | 0x5A | 固定End符 |
·
- receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x03 | 此Responsedata部分Length (新address + 命令字 = 2byte) |
| 3 | 新address | 0xXX | 设备当前使用的address (即设置后的address) |
| 4 | 命令字 | 0xB2 / 0xB3 | 0xB2 = 设置成功 0xB3 = 设置失败 (通常因拨码switchexistence导致) |
| 5 | checksum | 0xXX | 从 Length (0x03) 到 命令字 的累加和 (SUM(0x03, 新address, 命令字)) |
| 6 | End码 | 0x5A | 固定End符 |
·
2. 查询通信address (0xB1)
·Function: 查询设备当前的通信address。
·send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x03 | 此命令data部分Length (address + 命令字 = 2byte) |
| 3 | address | 0xXX / 0xFF | 本机address (单台查询) 或 0xFF (广播查询,所有设备都会Responseaddress) |
| 4 | 命令字 | 0xB1 | address查询命令 |
| 5 | checksum | 0xXX | 从 Length (0x03) 到 命令字 (0xB1) 的累加和 (SUM(0x03, address, 0xB1)) |
| 6 | End码 | 0x5A | 固定End符 |
·
·receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x03 | 此Responsedata部分Length (address + 命令字 = 2byte) |
| 3 | address | 0xXX | 设备当前的通信address |
| 4 | 命令字 | 0xB2 | address查询回复命令 (固定为成功回复) |
| 5 | checksum | 0xXX | 从 Length (0x03) 到 命令字 (0xB2) 的累加和 (SUM(0x03, address, 0xB2)) |
| 6 | End码 | 0x5A | 固定End符 |
·
3. 设置通信Baud rate (0xB4)
- Function: 更改设备的 RS485 通信Baud rate。
- send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此命令data部分Length (address + 命令字 + Baud rate = 3byte) |
| 3 | address | 0xXX | 当前与设备通信使用的address (0x00-0xFF) |
| 4 | 命令字 | 0xB4 | Baud rate设置命令 |
| 5 | Baud rate | 0x01-0x05 | 1=4800, 2=19200, 3=38400, 4=57600, 5=115200, 其他=9600 |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 Baud rate 的累加和 (SUM(0x04, address, 0xB4, Baud rate)) |
| 7 | End码 | 0x5A | 固定End符 |
·
- receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此Responsedata部分Length (address + 命令字 + Baud rate = 3byte) |
| 3 | address | 0xXX | Device address |
| 4 | 命令字 | 0xB6 / 0xB7 | 0xB6 = 设置成功 0xB7 = 设置失败 |
| 5 | Baud rate | 0x01-0x05 | 设备当前使用的Baud rate (1=4800, 2=19200, 3=38400, 4=57600, 5=115200, 其他=9600) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 Baud rate 的累加和 (SUM(0x04, address, 命令字, Baud rate)) |
| 7 | End码 | 0x5A | 固定End符 |
·
4. 查询通信Baud rate (0xB5)
·Function: 查询设备当前的 RS485 通信Baud rate。
·send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x03 | 此命令data部分Length (address + 命令字 = 2byte) |
| 3 | address | 0xXX / 0xFF | 本机address (单台查询) 或 0xFF (广播查询) |
| 4 | 命令字 | 0xB5 | Baud rate查询命令 |
| 5 | checksum | 0xXX | 从 Length (0x03) 到 命令字 (0xB5) 的累加和 (SUM(0x03, address, 0xB5)) |
| 6 | End码 | 0x5A | 固定End符 |
·
·receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此Responsedata部分Length (address + 命令字 + Baud rate = 3byte) |
| 3 | address | 0xXX | Device address |
| 4 | 命令字 | 0xB6 / 0xB7 | 0xB6 = 查询成功 0xB7 = 查询失败 (不常见) |
| 5 | Baud rate | 0x01-0x03 | 设备当前使用的Baud rate (1=19200, 2=57600, 3=115200, 其他=9600) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 Baud rate 的累加和 (SUM(0x04, address, 命令字, Baud rate)) |
| 7 | End码 | 0x5A | 固定End符 |
·
o注意: 查询Response中的Baud ratenumerical value定义 (1=19200, 2=57600, 3=115200) 与设置命令 (1=4800, 2=19200, 3=38400…) 不同,且范围更小。其他=9600是相同的。
5. 设置是否回复 ACK (0xB8)
·Function: 设置设备在收到命令后是否回复Confirm (ACK)。
o0x00(默认): 回复 ACK。
o0x01: 不回复 ACK。
·send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此命令data部分Length (address + 命令字 + 回复Close = 3byte) |
| 3 | address | 0xXX | 当前与设备通信使用的address (0x00-0xFF) |
| 4 | 命令字 | 0xB8 | ACK 回复设置命令 |
| 5 | 回复Close | 0x00 / 0x01 | 0 = 回复ACK (默认) 1 = 不回复ACK |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 回复Close 的累加和 (SUM(0x04, address, 0xB8, 回复Close)) |
| 7 | End码 | 0x5A | 固定End符 |
·
·receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此Responsedata部分Length (address + 命令字 + 回复Close = 3byte) |
| 3 | address | 0xXX | Device address |
| 4 | 命令字 | 0xBA / 0xBB | 0xBA = 设置成功 0xBB = 设置失败 |
| 5 | 回复Close | 0x00 / 0x01 | 设备当前的ACK回复状态 (0=回复, 1=不回复) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 回复Close 的累加和 (SUM(0x04, address, 命令字, 回复Close)) |
| 7 | End码 | 0x5A | 固定End符 |
·
6. 查询是否回复 ACK (0xB9)
- Function: 查询设备当前是否回复 ACK。
- 重要提示: 如果设备已设置为不回复 ACK (0x01),send此查询命令后,设备不会回复任何data(通信灯可能会闪,但串口无输出)。
- send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x03 | 此命令data部分Length (address + 命令字 = 2byte) |
| 3 | address | 0xXX / 0xFF | 本机address (单台查询) 或 0xFF (广播查询) |
| 4 | 命令字 | 0xB9 | ACK 回复查询命令 |
| 5 | checksum | 0xXX | 从 Length (0x03) 到 命令字 (0xB9) 的累加和 (SUM(0x03, address, 0xB9)) |
| 6 | End码 | 0x5A | 固定End符 |
·
- receiveResponse (设备 -> 主机): (仅当设备设置为回复 ACK 时才会收到)
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此Responsedata部分Length (address + 命令字 + 回复Close = 3byte) |
| 3 | address | 0xXX | Device address |
| 4 | 命令字 | 0xBA / 0xBB | 0xBA = 查询成功 0xBB = 查询失败 (不常见) |
| 5 | 回复Close | 0x00 / 0x01 | 设备当前的ACK回复状态 (0=回复, 1=不回复) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 回复Close 的累加和 (SUM(0x04, address, 命令字, 回复Close)) |
| 7 | End码 | 0x5A | 固定End符 |
·
7. 设置断电输出状态记忆Function (0xBC)
- Function: 控制设备断电后是否记忆并恢复断电前的输出状态。
o0x00(默认): 不记忆。下次上电输出为默认状态。
o0x01: 记忆。下次上电恢复断电前的输出状态。
- 说明: Open记忆Function (0x01) 后,设备会在下一次收到effective的输出控制命令并执行后,将当时的输出状态保存下来。断电后,下次上电即恢复该状态。
- send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此命令data部分Length (address + 命令字 + 记忆Function = 3byte) |
| 3 | address | 0xXX | 当前与设备通信使用的address (0x00-0xFF) |
| 4 | 命令字 | 0xBC | 记忆Function设置命令 |
| 5 | 记忆Function | 0x00 / 0x01 | 0 = 不记忆 (默认) 1 = 记忆 |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 记忆Function 的累加和 (SUM(0x04, address, 0xBC, 记忆Function)) |
| 7 | End码 | 0x5A | 固定End符 |
·
- receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此Responsedata部分Length (address + 命令字 + 记忆Function = 3byte) |
| 3 | address | 0xXX | Device address |
| 4 | 命令字 | 0xBE / 0xBF | 0xBE = 设置成功 0xBF = 设置失败 |
| 5 | 记忆Function | 0x00 / 0x01 | 设备当前的记忆Function状态 (0=不记忆, 1=记忆) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 记忆Function 的累加和 (SUM(0x04, address, 命令字, 记忆Function)) |
| 7 | End码 | 0x5A | 固定End符 |
·
8. 查询断电输出状态记忆Function (0xBD)
- Function: 查询设备当前的断电输出状态记忆Function状态。
- send command (主机 -> 设备):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x03 | 此命令data部分Length (address + 命令字 = 2byte) |
| 3 | address | 0xXX / 0xFF | 本机address (单台查询) 或 0xFF (广播查询) |
| 4 | 命令字 | 0xBD | 记忆Function查询命令 |
| 5 | checksum | 0xXX | 从 Length (0x03) 到 命令字 (0xBD) 的累加和 (SUM(0x03, address, 0xBD)) |
| 6 | End码 | 0x5A | 固定End符 |
·
- receiveResponse (设备 -> 主机):
| byte位置 | field | 值 (hexadecimal) | 说明 |
| 1 | start码 | 0xA5 | 固定start符 |
| 2 | Length | 0x04 | 此Responsedata部分Length (address + 命令字 + 记忆Function = 3byte) |
| 3 | address | 0xXX | Device address |
| 4 | 命令字 | 0xBE / 0xBF | 0xBE = 查询成功 0xBF = 查询失败 (不常见) |
| 5 | 记忆Function | 0x00 / 0x01 | 设备当前的记忆Function状态 (0=不记忆, 1=记忆) |
| 6 | checksum | 0xXX | 从 Length (0x04) 到 记忆Function 的累加和 (SUM(0x04, address, 命令字, 记忆Function)) |
| 7 | End码 | 0x5A | 固定End符 |
·
总结关键点:
- start/End码: 所有命令都以 0xA5开始,以 0x5AEnd。
- Length: 指从 Lengthbyte之后 到 checksumbyte之前 的databyte count。
- checksum: 计算范围是从 Lengthbyte 开始,到 checksumbyte之前 的所有byte。务必正确计算。
- address:
- 设置/查询特定设备时使用其 当前address。
- 广播address 0xFF可用于查询命令(address、Baud rate、ACK状态、记忆Function),所有设备都会Response(注意冲突)。
- 拨码switch: existence时,address设置命令Invalid且危险(需断电Operation)。
- ACK 回复: 如果设备设置为不回复 ACK (0x01),send查询 ACK 状态命令 (0xB9) 将不会收到任何Response。
- 记忆Function: Open后,需send一次effective的输出控制命令,设备才会保存当时的输出状态用于断电恢复。
WE-10x系列 LED控制器通信协议完整Document
1. 概述
WE-10x系列LED控制器主要用于对低压RGB灯具、单双色灯具的颜色和Brightness进行控制。支持标准的RS485Communication Interface,data交换采用hexadecimal协议。在具体的命令format中,各部分以byte为单位。可以通过软件配置其它的Baud rate。配置后会按最新Baud rate应答命令。
出厂默认参数
- 通信Baud rate:9600bps
- data bit:8位
- stop bit:1位
- check digit:无
- Device address:0x00-0xFE(广播address0xFF)
2. 指令format说明
基本指令format
[start码] [Length] [address] [命令字] [effectivedata] [checksum] [End码]
各field说明
| field | 说明 | 值 | 备注 |
|---|---|---|---|
| start码 | data帧开始标志 | 0xA5 | fixed value |
| Length | start码、Length、End码除外的所有通信内容的byte之和 | 0xXX | 从”address”到”checksum”的byteLength和 |
| address | 控制器address | 0x00-0xFE | 广播address0xFF不应答 |
| 命令字 | 命令的function code | 0xA0-0xA1 | 详见各指令协议 |
| effectivedata | 通信中的effectivedata | – | 各指令的data内容定义详见各指令协议 |
| checksum | Length、address、命令字、effectivedata的算术累加和 | 0xXX | 溢出部分忽略,取低8位;可使用0xEE替换(不校验) |
| End码 | data帧End标志 | 0x5A | fixed value |
3. 具体指令说明
3.1 设置RGB(RGBW)值
Function:依据三基色原理设置RGB的值,W值为可选的Brightness值。
send指令format
A5 [Length] [address] A0 [R值] [G值] [B值] [W值] [checksum] 5A
Length说明:
- RGBType控制器:0x06(6byte)
- RGBWType控制器:0x07(7byte)
参数范围:
- R值:0x00-0xFF(红色输出值)
- G值:0x00-0xFF(绿色输出值)
- B值:0x00-0xFF(蓝色输出值)
- W值:0x00-0xFF(白色输出值,仅RGBWTypeeffective)
receive指令format
A5 [Length] [address] A2 [R值] [G值] [B值] [W值] [checksum] 5A
Length说明:
- RGBType控制器:0x06(6byte)
- RGBWType控制器:0x07(7byte)
示例
RGBWType控制器,红灯和白灯亮:
- send:
A5 07 FF A0 FF 00 00 FF EE 5A - receive:
A5 06 00 A2 FF 00 00 A7 5A
3.2 查询RGB(RGBW)值
Function:查询控制器当前的RGB(W)输出值。
send指令format
A5 03 [address] A0 [checksum] 5A
receive指令format
A5 [Length] [address] A2 [R值] [G值] [B值] [W值] [checksum] 5A
示例
- send:
A5 03 FF A0 EE 5A - receive:
A5 06 00 A2 FF 00 00 A7 5A
3.3 控制器SceneFunction设置
Function:设置各种Scene效果,包括呼吸、暴闪、调光、单步调光、switch等。
send指令format
A5 [Length] [address] A1 [Scene码] [function code] [Scene内容] [checksum] 5A
参数说明:
- Scene码:0x01(呼吸灯)、0x02(暴闪)、0x03(调光)、0x04(单步调光)、0x05(switch)
- function code:详见相应的Scene命令表
- Scene内容:详见相应的Scene命令表
receive指令format
同3.1的receive命令format。
3.3.1 呼吸灯Scene内容表
function code:0x01 Scene内容format:
[颜色码] [速度] [Brightness]
颜色码说明:
- 0x01:红灯呼吸
- 0x02:绿灯呼吸
- 0x03:蓝灯呼吸
- 0x04:白灯呼吸(RGB型时是RGB合成白色呼吸,RGBW型时是W输出呼吸)
- 0x05:RGB呼吸
- 0x06:黄灯呼吸
- 0x07:紫灯呼吸
示例
- 红灯呼吸:
A5 08 FF A1 01 01 01 00 FF EE 5A - 绿灯呼吸:
A5 08 FF A1 01 02 01 00 FF EE 5A - 蓝灯呼吸:
A5 08 FF A1 01 03 01 00 FF EE 5A - 白灯呼吸:
A5 08 FF A1 01 04 01 00 FF EE 5A - RGB呼吸:
A5 08 FF A1 01 05 01 00 FF EE 5A - 黄灯呼吸:
A5 08 FF A1 01 06 01 00 FF EE 5A - 紫灯呼吸:
A5 08 FF A1 01 07 01 00 FF EE 5A
3.3.2 暴闪Scene内容表
function code:0x02 Scene内容format:
[颜色码] [速度] [Brightness] [其他参数]
示例
- 红灯爆闪:
A5 08 FF A1 02 01 01 02 FF EE 5A - 绿灯爆闪:
A5 08 FF A1 02 02 01 02 FF EE 5A - 蓝灯爆闪:
A5 08 FF A1 02 03 01 02 FF EE 5A - 白灯爆闪:
A5 08 FF A1 02 04 01 02 FF EE 5A - 7色爆闪:
A5 0B FF A1 02 06 01 02 FF FF FF FF EE 5A - 黄灯爆闪:
A5 0B FF A1 02 07 01 02 FF FF FF EE 5A - 紫灯爆闪:
A5 0B FF A1 02 08 01 02 FF FF FF FF EE 5A
3.3.3 调光Scene内容表
function code:0x03 Scene内容format:
[颜色码] [目标Brightness] [速度]
示例
- 红灯调光:
A5 07 FF A1 03 01 FF 01 EE 5A - 绿灯调光:
A5 07 FF A1 03 02 FF 01 EE 5A - 蓝灯调光:
A5 07 FF A1 03 03 FF 01 EE 5A - 白灯调光:
A5 07 FF A1 03 04 FF 01 EE 5A(只对RGBW输出型号effective) - 同步调光(全亮):
A5 0A FF A1 03 05 FF FF FF FF 01 EE 5A - 同步调光(Close all):
A5 0A FF A1 03 05 00 00 00 00 01 EE 5A
3.3.4 单步调光Scene内容表
function code:0x04 Scene内容format:
[Operation码]
Operation码说明:
- 0x01:红灯Brightness加1
- 0x81:红灯Brightness减1
- 0x02:绿灯Brightness加1
- 0x82:绿灯Brightness减1
- 0x03:蓝灯Brightness加1
- 0x83:蓝灯Brightness减1
- 0x04:白灯Brightness加1(RGBWeffective)
- 0x84:白灯Brightness减1(RGBWeffective)
- 0x05:RGBWBrightness加1(RGBWeffective)
- 0x85:RGBWBrightness减1(RGBWeffective)
示例
- 红灯Brightness加1:
A5 05 FF A1 04 01 EE 5A - 红灯Brightness减1:
A5 05 FF A1 04 81 EE 5A - 绿灯Brightness加1:
A5 05 FF A1 04 02 EE 5A - 绿灯Brightness减1:
A5 05 FF A1 04 82 EE 5A - 蓝灯Brightness加1:
A5 05 FF A1 04 03 EE 5A - 蓝灯Brightness减1:
A5 05 FF A1 04 83 EE 5A - 白灯Brightness加1:
A5 05 FF A1 04 04 EE 5A - 白灯Brightness减1:
A5 05 FF A1 04 84 EE 5A - RGBWBrightness加1:
A5 05 FF A1 04 05 EE 5A - RGBWBrightness减1:
A5 05 FF A1 04 85 EE 5A
3.3.5 switchScene内容表
function code:0x05 Scene内容format:
[颜色码] [延时] [OperationType] [状态值]
OperationType说明:
- 0x01:单通道控制
- 0x05:RGBW同时控制
状态值说明:
- 0x01:开
- 0x00:关
- 0x02:switchSwitch(send一次为开,下一次为关,循环)
示例
- 红灯开:
A5 08 FF A1 05 01 00 01 01 EE 5A - 红灯关:
A5 08 FF A1 05 01 00 01 00 EE 5A - 红灯switchSwitch:
A5 08 FF A1 05 01 00 01 02 EE 5A - 白灯开:
A5 08 FF A1 05 04 00 01 01 EE 5A - 白灯关:
A5 08 FF A1 05 04 00 01 00 EE 5A - 白灯switchSwitch:
A5 08 FF A1 05 04 00 01 02 EE 5A - RGBW开:
A5 0B FF A1 05 05 00 01 01 01 01 01 EE 5A - RGBW关:
A5 0B FF A1 05 05 00 01 00 00 00 00 EE 5A - RGBWswitchSwitch:
A5 0B FF A1 05 05 00 01 02 02 02 02 EE 5A
4. Precautions
- 广播address0xFF用于向所有设备send command,但设备不会Response广播命令
- checksum计算:从”Length”byte开始到”checksum”前一个byte的累加和,取低8位
- 使用0xEE作为checksum可以跳过Verification calculation
- RGBType控制器忽略W值参数
- SceneFunction中的白色效果在RGB型和RGBW型控制器上的实现方式不同
LED控制器 MODBUS协议完整Document
1. 概述
WE-10x系列LED控制器主要用于对低压RGB灯具、单双色灯具的颜色和Brightness进行控制,支持标准的RS485Communication Interface,data交换采用标准的MODBUS RTU协议。有关详细的指令生成与Parse方式,可根据本文中的register表结合参考《MODBUS协议中文版》即可。
1.1 register address表
注: 保持register1相应的寻址address是0x0000,保持register2相应的寻址address是0x0001,依次类推。
| register名称 | 寻址address | Function说明 | 值范围 | 访问权限 | 备注 |
|---|---|---|---|---|---|
| 输出值R | 0x0000 | 红色通道输出值 | 0x0000-0x00FF | 读写 | RGB值范围0-255 |
| 输出值G | 0x0001 | 绿色通道输出值 | 0x0000-0x00FF | 读写 | RGB值范围0-255 |
| 输出值B | 0x0002 | 蓝色通道输出值 | 0x0000-0x00FF | 读写 | RGB值范围0-255 |
| 输出值W | 0x0003 | 白色通道输出值 | 0x0000-0x00FF | 读写 | W值范围0-255 |
| Device address | 0x0004 | 设备通信address | 0x0001-0x00FF | 读写 | 1-255 |
| Baud rate | 0x0005 | 通信Baud rate | 0-5 | 读写 | 见Baud rate说明 |
| 禁止应答 | 0x0006 | 是否禁止应答 | 0-1 | 读写 | 0:允许,1:禁止 |
| 断电记忆 | 0x0007 | 断电状态记忆 | 0-1 | 读写 | 0:不记忆,1:记忆 |
| SceneFunction | 0x0008 | SceneFunction设置 | – | 读写 | 见SceneFunction说明 |
Baud rate设置值说明:
- 0: 4800bps
- 1: 9600bps(默认值)
- 2: 19200bps
- 3: 38400bps
- 4: 57600bps
- 5: 115200bps
2. 指令列表
2.1 控制器参数设置
function code: 0x06(写单个register) 控制器参数包括Device address、Baud rate、禁止应答、断电记忆等参数。当不清楚Device address时,可通过广播address进行参数设置。 指令format:
[Device address] [function code0x06] [register address高8位] [register address低8位] [data高8位] [data低8位] [CRC check低8位] [CRC check高8位]
示例:控制器原address为0x01,更改address为0x03
- send command:
01 06 00 04 00 03 88 0A - receiveResponse:
01 06 00 04 00 03 88 0A
说明:
- address设置时,返回命令的从机address同receive的命令一致,都是0x01
- 新从机address将在下一次通信时effective,设置Complete后请使用新从机address0x03
- 使用广播address0x00可以进行Device address初始化设置
2.2 控制器参数查询
function code: 0x03(读保持register) 注意: 当设置了”禁止应答”Functioneffective后,查询无返回。 指令format:
[Device address] [function code0x03] [starting address高8位] [starting address低8位] [number of registers高8位] [number of registers低8位] [CRC check低8位] [CRC check高8位]
示例:查询控制器address
- send command:
01 03 00 04 00 01 C5 CB - receiveResponse:
01 03 02 00 01 79 84
Response说明:
01:Device address03:function code02:返回databyte count00 01:查询到的参numerical value(此处为Device address0x0001)79 84:CRC check
2.3 控制器输出值设置
function code: 0x10(写多个register) 设置4个输出回路的值,当负载是RGB灯具时可以显示对应的颜色,当负载是单色灯具时,将对应每个输出的Brightness值。本命令为RGBWformat设置,当控制器为”无W输出型号”时,W值将被控制器忽略。 指令format:
[Device address] [function code0x10] [starting address高8位] [starting address低8位] [number of registers高8位] [number of registers低8位] [databyte count] [data1高8位] [data1低8位] ... [CRC check低8位] [CRC check高8位]
示例1:设置R回路输出为0xFF
- send command:
01 10 00 00 00 04 08 00 FF 00 00 00 00 00 00 B9 75 - receiveResponse:
01 10 00 00 00 04 C1 CA
示例2:设置G回路输出为0xFF
- send command:
01 10 00 00 00 04 08 00 00 00 FF 00 00 00 00 A2 6E - receiveResponse:
01 10 00 00 00 04 C1 CA
示例3:设置B回路输出为0xFF
- send command:
01 10 00 00 00 04 08 00 00 00 00 00 FF 00 00 86 4A - receiveResponse:
01 10 00 00 00 04 C极 CA
示例4:设置W回路输出为0xFF
- send command:
01 10 00 00 00 04 08 00 00 00 00 00 00 00 FF F6 3A - receiveResponse:
01 10 00 极 00 00 04 C1 CA
示例5:设置All回路输出为0xFF
- send command:
01 10 00 00 00 04 08 00 FF 00 FF 00 FF 00 FF DD 11 - receiveResponse:
01 10 00 00 00 04 C1 CA
示例6:设置All回路输出为0x00
- send command:
01 10 00 00 00 04 08 00 00 00 00 00 00 00 00 B6 7A - receiveResponse:
01 10 00 00 00 04 C1 CA
2.4 控制器输出值查询
function code: 0x03(读保持register)
示例:查询控制器address为0x01的输出值
- send command:
01 03 00 00 00 04 44 09 - receiveResponse:
01 03 08 00 FF 00 FF 00 FF 00 00 BE FC
Response说明:
- 按照RGBW的顺序返回
- 上述示例返回值:R=0x00FF, G=0x00FF, B=0x00FF, W=0x0000
- 每个通道值占用2个byte(16位),但effective值为低8位
2.5 控制器SceneFunction设置
function code: 0x10(写多个register) 包括呼吸、暴闪、调光、独立switch等Function。 注: 当是”RGB输出的型号”时,只要是白色Function都是合成的,比如灯带是RGB合成白色呼吸;当是”RGBW型号”时,灯带直接从W输出呼吸灯。
呼吸灯Function写入内容表
| Function | 写入值 | 说明 |
|---|---|---|
| 红灯呼吸 | 0x0001 | 红色呼吸效果 |
| 绿灯呼吸 | 0x0002 | 绿色呼吸效果 |
| 蓝灯呼吸 | 0x0003 | 蓝色呼吸效果 |
| 白灯呼吸 | 0x0004 | 白色呼吸效果 |
| 紫灯呼吸 | 0x0005 | 紫色呼吸效果 |
| 黄灯呼吸 | 0x极6 | 黄色呼吸效果 |
| 青灯呼吸 | 0x0007 | 青色呼吸效果 |
| 七彩呼吸 | 0x0008 | 七彩呼吸效果 |
爆闪Function写入内容表
| Function | 写入值 | 说明 |
|---|---|---|
| 红灯爆闪 | 0x0001 | 红色爆闪效果 |
| 绿灯爆闪 | 0x0002 | 绿色爆闪效果 |
| 蓝灯爆闪 | 0x0003 | 蓝色爆闪效果 |
| 白灯爆闪 | 0x0004 | 白色爆闪效果 |
| 7色爆闪 | 0x0005 | 7色循环爆闪 |
调光Function写入内容表
| 参数 | address偏移 | 说明 |
|---|---|---|
| Function选择 | 0x0000 | 调光Function标识(0x0003) |
| RBrightness值 | 0x0001 | 红色Brightness(0x00-0xFF) |
| GBrightness值 | 0x0002 | 绿色Brightness(0x00-0xFF) |
| BBrightness值 | 0x0003 | 蓝色Brightness(0x00-0xFF) |
| WBrightness值 | 0x0004 | 白色Brightness(0x00-0xFF) |
| 调光速度 | 0x0005 | 调光速度值 |
switchFunction写入内容表
| Function | 写入值 | 说明 |
|---|---|---|
| 红灯switch | 0x0001 | 红色switchSwitch |
| 绿灯switch | 0x0002 | 绿色switchSwitch |
| 蓝灯switch | 0x0003 | 蓝色switchSwitch |
| 白灯switch | 0x0004 | 白色switchSwitch |
| Allswitch | 0x0005 | All通道switch |
示例1:设置控制器为紫灯呼吸
- send command:
01 10 00 08 00 05 0A 00 01 00 00 00 00 00 00 00 00 00 00 81 C8 - receiveResponse:
01 10 00 08 00 05 81 C8
示例2:7色爆闪
- send command:
01 10 00 08 00 08 10 00 02 01 00 02 00 FF FF FF 00 5B 4C - receiveResponse:
01 10 00 08 00 08 40 0D
示例3:红灯Brightness调到0x0F、绿灯Brightness调到0xFF、蓝灯Brightness调到0x80、白灯Brightness调到0xA0
- send command:
01 10 00 08 00 07 0E 00 03 极 05 00 0F 00 FF 00 80 00 A0 00 01 1D C1 - receiveResponse:
01 10 00 08 00 07 00 09
示例4:控制器红灯switch转换(send本命令一次为开,下一次为关,循环)
- send command:
01 10 00 08 00 05 0A 00 05 00 01 00 00 00 00 00 02 A6 61 - receiveResponse:
01 10 00 08 00 05 81 C8
示例5:RGBWAll延时1秒switch转换
- send command:
01 10 00 08 00 08 10 00 05 00 05 00 00 00 01 00 02 00 02 00 02 00 02 46 13 - receiveResponse:
01 10 00 08 00 08 40 0D
3. Communication parameters默认值
- Device address: 0x01(默认)
- Baud rate: 9600bps(8位data bit,1位stop bit,无校验)
- 禁止应答: 0(允许应答)
- 断电记忆: 0(不记忆输出状态)
4. Precautions
- 使用广播address0x00时,所有设备都会Response,可能导致通信冲突
- 设置”禁止应答”Function后,设备将不Response任何查询命令
- RGBW输出值范围为0x0000-0x00FF,实际effective值为低8位
- SceneFunction设置时,请根据控制器型号(RGB或RGBW)选择合适的Function
11111