charging-cabinet/docs/1TN协议标准_YG20240118-1_V1.0.md
2026-07-02 05:38:01 +08:00

211 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 换电柜用锂电池充电器 1TN 标准通信协议 RS485
- **标准号**YG20240118-1
- **版本**V1.0
- **制定方**:苏州翌工电源科技有限公司
- **适用范围**:换电柜 1TN 多路充电器 RS485 总线通信
---
## 版本记录
| 版本 | 修改内容 | 时间 | 修改人 |
|------|---------|------|--------|
| S1.0 | 初步建立1TN RS485协议内容 | 2024-01-18 | Eleven |
---
## 1. 概述
换电柜 1TN 多路充电器支持通过 RS485 总线进行通信,通信协议为客户自定义协议,采用 Modbus-RTU 传输模式,波特率 9600。
Modbus-RTU 传输模式在一根通讯线上采用主从应答方式的通讯连接方式。由主机发起,主机的信号寻址到一台唯一地址的终端设备(从机),然后终端设备发出的应答信号以相反的方向传输给主机,即半双工的工作模式。该协议只允许在主机和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。
### 1.1 通讯格式
信息传输为异步方式,并以字节为单位,在主机和从机之间传递的通讯信息是 11 位的字格式。包含 1 个起始位(0)8 个数据位和 1 个停止位。
### 1.2 信息帧格式
| 字段 | 字节数 | 说明 |
|------|--------|------|
| ADDR | 1 | 地址码 |
| CHx | 1 | 通道码 |
| CMD | 1 | 功能码 |
| LEN | 1 | 数据区长度 |
| DATA | LEN | 数据区BigEndian 网络字节序) |
| SUM | 1 | 校验码 = (ADDR + CHx + CMD + LEN + DATA) 按字节相加取低8位 |
### 1.3 通讯过程
信息发送至从机时,从机接收通讯命令,如果 SUM 校验无误则执行相应的操作,然后把执行结果(数据)返送给主机。返回的信息中包括 Header、CMD、ATS、执行后的数据以及 SUM 校验码和 END。如果校验出错就不返回任何信息则分析返回相应的错误信息。
---
## 2. 地址码ADDR
对应电源拨码开关。
- **双拨码开关**01→0x01, 10→0x02, 11→0x03
- **3位拨码开关**001→0x01, 010→0x02, 011→0x03, 100→0x04, 101→0x05, 110→0x06, 111→0x07
---
## 3. 通道码CHx
对应各个通道识别码。
| 通道 | Bit1-7 | CHx值Bit0=0主通道 | CHx值Bit0=1副通道 |
|------|--------|----------------------|----------------------|
| CH1 | 0x00 | 0x00 | 0x01 |
| CH2 | 0x01 | 0x02 | 0x03 |
| CH3 | 0x02 | 0x04 | 0x05 |
| CH4 | 0x03 | 0x06 | 0x07 |
| CH5 | 0x04 | 0x08 | 0x09 |
| CH6 | 0x05 | 0x0A | 0x0B |
---
## 4. 功能码CMD
| 序号 | 命令 | CMD | LEN | 备注 |
|------|------|-----|-----|------|
| 1 | 设置通道输出电压/电流 | 0x02 | 0x04 | |
| 2 | 设置通道开关机 | 0x03 | 0x01 | |
| 3 | 通道组合指令(开关机/调压/调流) | 0x04 | 0x05 | |
| 4 | 电源通道信息查询 | 0x05 | 0x01 | |
| 5 | 供应商电源型号/版本号/序列号查询 | 0x12 | 0x01 | |
| 6 | 升级状态查询 | 0x18 | NC | 详见升级协议 |
| 7 | OTA 远程升级 | 0x19 | NC | 详见升级协议 |
---
## 5. 故障码
### 故障字节1
| Bit | 含义 | Bit | 含义 |
|-----|------|-----|------|
| Bit0 | 输入欠压 | Bit4 | 输出欠压 |
| Bit1 | 输入过压 | Bit5 | 输出短路 |
| Bit2 | NC | Bit6 | 输出过流 |
| Bit3 | 输出过压 | Bit7 | 过温 |
### 故障字节2
| Bit | 含义 | Bit | 含义 |
|-----|------|-----|------|
| Bit0 | 硬件故障 | Bit4 | NC |
| Bit1 | PFC故障 | Bit5 | NC |
| Bit2 | 风扇故障 | Bit6 | NC |
| Bit3 | 电池反接故障 | Bit7 | NC |
---
## 6. 指令示例
### 6.1 设置输出电压/电流CMD=0x02
**主控→电源:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x02 | 0x04 | 0x02 0x58 0x00 0x64 | 0xC5 |
DATA0x0258 = 60.0V, 0x0064 = 10.0A
**电源→主控:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x02 | 0x01 | 0x01 | 0x05 |
回复0x01 = 设置成功
### 6.2 设置开关机CMD=0x03
**主控→电源:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x03 | 0x01 | 0x01 | 0x06 |
DATA0x01 = 开机, 0x00 = 关机
**电源→主控:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x03 | 0x01 | 0x01 | 0x06 |
回复0x01 = 设置成功
### 6.3 组合控制命令CMD=0x04
**主控→电源:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x04 | 0x05 | 0x01 0x02 0x58 0x00 0x64 | 0xC9 |
DATA: 0x01 = 开机, 0x0258 = 60.0V, 0x0064 = 10.0A
**电源→主控:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x04 | 0x07 | 0x02 0x58 0x00 0x64 0x01 0x01 0x1A | 0xE6 |
回复DATA: 0x0258 = 当前电压60.0V, 0x0064 = 当前电流10.0A, 0x01 0x01 = 故障码, 0x1A = 环温26℃
### 6.4 读取通道运行信息CMD=0x05
**主控→电源:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x05 | 0x01 | 0x00 | 0x07 |
**电源→主控:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x05 | 0x0D | 0x02 0x58 0x00 0x64 0x01 0x01 0x1A 0x55 0xF0 0x03 0xE8 0x08 0x98 | 0xBD |
回复DATA解析
| 偏移 | 数据 | 含义 |
|------|------|------|
| 0-1 | 0x0258 | 设置电压 60.0V |
| 2-3 | 0x0064 | 设置电流 10.0A |
| 4-5 | 0x0101 | 故障码 |
| 6 | 0x1A | 环温 26℃ |
| 7-8 | 0x55F0 | 输入电压 220.00V |
| 9-10 | 0x03E8 | 输入电流 10.00A |
| 11-12 | 0x0898 | 输入功率 2200W |
### 6.5 查询供应商信息CMD=0x12
**主控→电源:**
| ADDR | CHx | CMD | LEN | DATA | SUM |
|------|-----|-----|-----|------|-----|
| 0x01 | 0x00 | 0x12 | 0x01 | 0x00 | 0x14 |
**电源→主控:**
| ADDR | CHx | CMD | LEN | DATA |
|------|-----|-----|-----|------|
| 0x01 | 0x00 | 0x12 | 0x0F | 'YGCP1TN-A' + 硬件版本 + 软件版本 + 日期(年/月/日) + 序列号 |
回复DATA解析
| 偏移 | 含义 |
|------|------|
| 0-1 | 厂商 ('YG') |
| 2-9 | 电源型号 ('CP1TN-A') |
| 10 | 硬件版本 (S1.0) |
| 11 | 软件版本 (V1.0) |
| 12-14 | 生产日期 (年/月/日) |
| 15-16 | 序列号 |