# config.py 函数文档 系统配置管理模块,负责所有系统参数的存储和加载。 ## Config 类 ### 配置地址映射
python
dicParamAddr = {
# 测试参数
"SET_TestTime": 0x003D, # 测试时间
"SetTempra": 0x003C, # 设定温度 # 流量设置 (Flow01-Flow12)
"Flow01": 0x0030, # 流量1设定值
"Flow02": 0x0031, # 流量2设定值
...
"Flow12": 0x003B, # 流量12设定值 # PID控制参数
"KP1": 0x0060, # 比例系数1
"KP2": 0x0061, # 比例系数2
"KI1": 0x0062, # 积分系数1
"KI2": 0x0063, # 积分系数2
"KD1": 0x0064, # 微分系数1
"KD2": 0x0065, # 微分系数2
"KD3": 0x0066, # 微分系数3
"KD4": 0x0067, # 微分系数4 # 流量校准参数k (Flow01_k-Flow12_k)
"Flow01_k": 0x0050, # 流量1校准系数k
"Flow02_k": 0x0051, # 流量2校准系数k
...
"Flow12_k": 0x005B, # 流量12校准系数k # 流量校准参数b (Flow01_b-Flow12_b)
"Flow01_b": 0x0040, # 流量1校准偏移b
"Flow02_b": 0x0041, # 流量2校准偏移b
...
"Flow12_b": 0x004B, # 流量12校准偏移b # 温度校准参数
"Tempr_b": 0x004C, # 温度偏移
"Tempra_k": 0x005C # 温度系数
}
### 初始化
python
def __init__(self, ee: EEPROM)

- 功能: 初始化配置对象
- 参数:
- ee: EEPROM实例
- 初始化内容:
- 测试参数默认值
- 流量设置默认值
- PID控制参数默认值
- 校准参数默认值
- 从EEPROM加载保存的值 ### 参数存储 #### save_param(self, ee: EEPROM)
python
def save_param(self, ee: EEPROM)

- 功能: 保存所有参数到EEPROM
- 参数:
- ee: EEPROM实例
- 实现特性:
- 使用反射机制自动保存
- 16位有符号整数处理
- 地址自动映射
- 调试信息输出
- 存储格式:
- 每个参数占用2字节
- 地址按字对齐 #### load_param(self, ee: EEPROM)
python
def load_param(self, ee: EEPROM)

- 功能: 从EEPROM加载所有参数
- 参数:
- ee: EEPROM实例
- 实现特性:
- 使用反射机制自动加载
- 16位有符号整数处理
- 地址自动映射
- 静默加载(无调试输出) ## 参数说明 ### 测试参数
- SET_TestTime: 测试时间设置
- SetTempra: 目标温度设置 ### 流量参数
- Flow01-Flow12: 12路流量设定值
- Flow01_k-Flow12_k: 12路流量校准系数k
- Flow01_b-Flow12_b: 12路流量校准偏移b ### 控制参数
- KP1,KP2: 比例系数
- KI1,KI2: 积分系数
- KD1-KD4: 微分系数 ### 温度校准
- Tempr_b: 温度偏移值
- Tempra_k: 温度系数 ## 使用示例 ### 基本使用
python
from eeprom import EEPROM
from config import Config # 创建配置实例
eeprom = EEPROM()
config = Config(eeprom) # 修改参数
config.SetTempra = 800 # 设置温度为80.0度
config.Flow01 = 1000 # 设置流量1为100.0
config.KP1 = 320 # 设置比例系数 # 保存配置
config.save_param(eeprom) # 加载配置
config.load_param(eeprom)
### 批量参数设置
python
# 设置所有流量为相同值
flow_value = 500
for i in range(1, 13):
setattr(config, f"Flow{i:02d}", flow_value) # 保存更改
config.save_param(eeprom)
## 参数范围建议 1. 流量设置
- 范围: 0-65535
- 单位: 0.1ml/min
- 默认值: 500 (50.0ml/min) 2. 温度设置
- 范围: 0-65535
- 单位: 0.1℃
- 默认值: 500 (50.0℃) 3. PID参数
- KP: 比例系数 (0-65535)
- KI: 积分时间 (0-65535)
- KD: 微分时间 (0-65535) 4. 校准参数
- k系数: 0.01为单位
- b偏移: 0.1为单位 ## 注意事项 1. 数据存储
- 所有参数以16位有符号整数存储
- 地址按字对齐
- 参数修改后需显式保存 2. 参数范围
- 注意参数上下限
- 避免超出物理意义范围
- 考虑数值精度 3. 性能优化
- 批量修改后统一保存
- 避免频繁存储
- 合理使用加载功能 4. 调试建议
- 使用save_param的调试输出
- 验证加载值正确性
- 监控异常参数 5. 扩展性
- 参数地址预留空间
- 支持动态参数添加
- 保持向后兼容性