louis
|
5888b4ccce
|
从 MT2-AM8 模拟量模块迁移到 Easy521 PLC(Modbus TCP)
- 读取 D700(阀后流量)、D710(阀后压力)、D720(阀前压力),
读用功能码 03,0~32000 线性映射到各自量程(300 SLM / 400 kPa / 300 kPa)
- 输出 D730(电机位置,0~10V),写用功能码 06,行程仍为 0~1000、死区 800
- 复用 MT2 骨架,保留 get_flow/get_pressure/set_motor_position 接口,
channel 参数改为直接 Modbus 地址
- config.py 新增 PLC 设置,保留 MT2AM8 设置为死代码(MT2AM8Client 类保留)
- 同步更新 README.md 中的硬件接线、配置默认值与模块职责描述
|
2026-09-01 17:03:26 +08:00 |
|
louis
|
a03735387c
|
实现流量控制前馈 + 增益调度(MFC 结构)
按 plan.md 新增三个交付物,全部默认关闭以保持与纯 PID 的 A/B 兼容:
- valve_model.py:阀特性模型 Q_ss = A_eff(x)·P1_abs·F(r),含 ISO 6358
椭圆 F(r)、行程/面积互逆插值、单调性校验、JSON 存取。
- identify_valve.py:从 open_loop.py 扫点 CSV 拟合 A_eff 表并输出 JSON。
- 控制器集成:config/flow_control/main/data_logger 新增阀前压读取
(channel 2)、前馈打底 + PI 修残差、按 P1 增益调度,并记录/绘制前馈项。
新增配置 FEEDFORWARD_ENABLED / GAIN_SCHEDULE_ENABLED 默认 False,
VALVE_MODEL_PATH 默认空,未加载模型时行为与原先纯 PID 完全一致。
|
2026-08-27 16:00:51 +08:00 |
|
louis
|
bec4c0ead1
|
修改控流阀死区为800,优化切换目标流量时PID模式切换逻辑,优化open_loop.py的--help显示,修改模式切换观察周期为10,更新了README.md
|
2026-08-25 14:42:07 +08:00 |
|
louis
|
26d4cbc316
|
增加两档PID控制,针对流量误差大和小的情况分别控制,在误差大时快速调节,误差小时慢慢调节以减少震荡和稳态误差。
|
2026-08-21 17:25:30 +08:00 |
|
louis
|
adfb5623b3
|
修改两个函数initial_opening为100
|
2026-08-20 01:51:01 +08:00 |
|
louis
|
0d85dd3c2c
|
1.原先程序启动后会先下发关闭位置,再开始闭环,现在启动后直接从当前阀门开度(默认全开)开始闭环。删除了safe_close相关的代码
2.新增open_loop.py进行开环控制,记录控流阀前后流量和压力数据,方便后面辨识拟合,以及观察动态特性。
3.新增README.md
|
2026-08-19 17:23:02 +08:00 |
|
louis
|
aabcd7441b
|
修改流量范围为0~300slm
|
2026-08-13 14:34:01 +08:00 |
|
rangang
|
84b2bdb35d
|
first commit
|
2026-08-12 17:40:45 +08:00 |
|