新增气体流量控制 GUI 与 Windows 可执行程序
新增 Tkinter 单窗口操作界面和后台设备状态机,支持连接与断开 PLC、在线设置目标流量、实时显示传感器数据与下发总开度,并在监测及闭环阶段统一执行安全保护。 默认将 valve_model_004.json 内置到单文件 EXE,同时支持校验并选择外部阀模型;整理标定 JSON/PNG 到 valve_model 目录并同步配置路径。补充运行层离线测试、PyInstaller 构建配置、交付文件和完整的 README 使用及重新打包说明。
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
2026-09-03 16:10:35.432 INFO PLC 已连接 192.168.1.88:502,站号=1;模型=内置 valve_model_004.json(80 点)
|
||||
2026-09-03 16:11:54.165 INFO 目标流量设置为 60.000 SLM
|
||||
2026-09-03 16:12:01.872 INFO PID 模式 FAR -> NEAR:基础 Kp=0.100 Ki=0.100 Kd=0.000,有效 Kp=0.100 Ki=0.100(scale=1.000),最大开度速度=2.000%/s;原因=|误差|=0.056 SLM <= 阈值=2.000 SLM,连续 10 个周期
|
||||
2026-09-03 16:12:35.171 INFO 设备已安全断开
|
||||
@@ -0,0 +1,327 @@
|
||||
{
|
||||
"motor_open": 800.0,
|
||||
"motor_closed": 1000.0,
|
||||
"enforce_monotonic": false,
|
||||
"area_table": [
|
||||
[
|
||||
800.0,
|
||||
0.7209916054057561
|
||||
],
|
||||
[
|
||||
802.0,
|
||||
0.7125354555381634
|
||||
],
|
||||
[
|
||||
804.0,
|
||||
0.6561316030427767
|
||||
],
|
||||
[
|
||||
808.0,
|
||||
0.6598630623935171
|
||||
],
|
||||
[
|
||||
810.0,
|
||||
0.6753272742288868
|
||||
],
|
||||
[
|
||||
812.0,
|
||||
0.621104587742021
|
||||
],
|
||||
[
|
||||
814.0,
|
||||
0.6240506162781531
|
||||
],
|
||||
[
|
||||
816.0,
|
||||
0.595488483660327
|
||||
],
|
||||
[
|
||||
820.0,
|
||||
0.5924200631363882
|
||||
],
|
||||
[
|
||||
824.0,
|
||||
0.5416291218881875
|
||||
],
|
||||
[
|
||||
826.0,
|
||||
0.5394252385668694
|
||||
],
|
||||
[
|
||||
828.0,
|
||||
0.5163395000335028
|
||||
],
|
||||
[
|
||||
830.0,
|
||||
0.5386794264154983
|
||||
],
|
||||
[
|
||||
832.0,
|
||||
0.5087205083171691
|
||||
],
|
||||
[
|
||||
836.0,
|
||||
0.46458618805923835
|
||||
],
|
||||
[
|
||||
838.0,
|
||||
0.47364585752172367
|
||||
],
|
||||
[
|
||||
840.0,
|
||||
0.46827932318875193
|
||||
],
|
||||
[
|
||||
844.0,
|
||||
0.43243164500883
|
||||
],
|
||||
[
|
||||
848.0,
|
||||
0.3984505111170211
|
||||
],
|
||||
[
|
||||
850.0,
|
||||
0.413907876348738
|
||||
],
|
||||
[
|
||||
852.0,
|
||||
0.3813184002409792
|
||||
],
|
||||
[
|
||||
856.0,
|
||||
0.3620510591370111
|
||||
],
|
||||
[
|
||||
860.0,
|
||||
0.35385962516692854
|
||||
],
|
||||
[
|
||||
862.0,
|
||||
0.3447135247536444
|
||||
],
|
||||
[
|
||||
864.0,
|
||||
0.3156364126476435
|
||||
],
|
||||
[
|
||||
868.0,
|
||||
0.29675945681605137
|
||||
],
|
||||
[
|
||||
870.0,
|
||||
0.306501316808223
|
||||
],
|
||||
[
|
||||
872.0,
|
||||
0.27050112885120703
|
||||
],
|
||||
[
|
||||
874.0,
|
||||
0.27959628186642943
|
||||
],
|
||||
[
|
||||
876.0,
|
||||
0.25531630079673473
|
||||
],
|
||||
[
|
||||
880.0,
|
||||
0.2535114488327249
|
||||
],
|
||||
[
|
||||
884.0,
|
||||
0.225092732619715
|
||||
],
|
||||
[
|
||||
886.0,
|
||||
0.22841807147673635
|
||||
],
|
||||
[
|
||||
888.0,
|
||||
0.2086511681620107
|
||||
],
|
||||
[
|
||||
890.0,
|
||||
0.2218855517263943
|
||||
],
|
||||
[
|
||||
892.0,
|
||||
0.20075819923793375
|
||||
],
|
||||
[
|
||||
896.0,
|
||||
0.18918524712906334
|
||||
],
|
||||
[
|
||||
898.0,
|
||||
0.19215080166026982
|
||||
],
|
||||
[
|
||||
900.0,
|
||||
0.18807050761212185
|
||||
],
|
||||
[
|
||||
904.0,
|
||||
0.17245083700454789
|
||||
],
|
||||
[
|
||||
908.0,
|
||||
0.16153923372120163
|
||||
],
|
||||
[
|
||||
910.0,
|
||||
0.16985605651603905
|
||||
],
|
||||
[
|
||||
912.0,
|
||||
0.15429304713019132
|
||||
],
|
||||
[
|
||||
916.0,
|
||||
0.151574549449086
|
||||
],
|
||||
[
|
||||
920.0,
|
||||
0.1530920502767755
|
||||
],
|
||||
[
|
||||
922.0,
|
||||
0.14979075485074195
|
||||
],
|
||||
[
|
||||
924.0,
|
||||
0.1428763734264717
|
||||
],
|
||||
[
|
||||
928.0,
|
||||
0.14159844506284675
|
||||
],
|
||||
[
|
||||
930.0,
|
||||
0.1481317007247288
|
||||
],
|
||||
[
|
||||
932.0,
|
||||
0.13731846151118046
|
||||
],
|
||||
[
|
||||
934.0,
|
||||
0.13994004337287919
|
||||
],
|
||||
[
|
||||
936.0,
|
||||
0.1344586476808378
|
||||
],
|
||||
[
|
||||
940.0,
|
||||
0.13892390786199926
|
||||
],
|
||||
[
|
||||
944.0,
|
||||
0.13143952256792465
|
||||
],
|
||||
[
|
||||
946.0,
|
||||
0.13338917913072393
|
||||
],
|
||||
[
|
||||
948.0,
|
||||
0.12960342436338804
|
||||
],
|
||||
[
|
||||
950.0,
|
||||
0.14035651644159308
|
||||
],
|
||||
[
|
||||
952.0,
|
||||
0.13085895406830145
|
||||
],
|
||||
[
|
||||
956.0,
|
||||
0.12884698464592212
|
||||
],
|
||||
[
|
||||
958.0,
|
||||
0.1340123387779701
|
||||
],
|
||||
[
|
||||
960.0,
|
||||
0.1353515916092655
|
||||
],
|
||||
[
|
||||
964.0,
|
||||
0.12802772183117378
|
||||
],
|
||||
[
|
||||
968.0,
|
||||
0.12244258908969449
|
||||
],
|
||||
[
|
||||
970.0,
|
||||
0.12014602858505499
|
||||
],
|
||||
[
|
||||
972.0,
|
||||
0.09119982507825447
|
||||
],
|
||||
[
|
||||
973.0,
|
||||
0.09502834500740251
|
||||
],
|
||||
[
|
||||
976.0,
|
||||
0.06089048620458142
|
||||
],
|
||||
[
|
||||
979.0,
|
||||
0.010700147302522556
|
||||
],
|
||||
[
|
||||
980.0,
|
||||
0.002096375744184619
|
||||
],
|
||||
[
|
||||
982.0,
|
||||
0.0020885117831348173
|
||||
],
|
||||
[
|
||||
984.0,
|
||||
0.0020668385196096484
|
||||
],
|
||||
[
|
||||
985.0,
|
||||
0.002069140121524581
|
||||
],
|
||||
[
|
||||
988.0,
|
||||
0.002072106769105725
|
||||
],
|
||||
[
|
||||
990.0,
|
||||
0.0021514223899834284
|
||||
],
|
||||
[
|
||||
991.0,
|
||||
0.002063386116737249
|
||||
],
|
||||
[
|
||||
992.0,
|
||||
0.002091005339716443
|
||||
],
|
||||
[
|
||||
994.0,
|
||||
0.00207971813405268
|
||||
],
|
||||
[
|
||||
996.0,
|
||||
0.0020990609464187075
|
||||
],
|
||||
[
|
||||
997.0,
|
||||
0.0020639615172159823
|
||||
],
|
||||
[
|
||||
1000.0,
|
||||
0.0020914299290714883
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
气体流量控制程序使用说明
|
||||
========================
|
||||
|
||||
一、交付文件
|
||||
|
||||
1. FlowControl.exe
|
||||
双击运行的 Windows 单文件程序,不需要安装 Python。
|
||||
|
||||
2. valve_model_004.json
|
||||
内置模型的外置备份和自定义模型格式参考。程序默认使用 EXE 内部自带的
|
||||
valve_model_004.json,外置文件被移动或删除不会影响默认模型。
|
||||
|
||||
3. 使用说明.txt
|
||||
本文件。
|
||||
|
||||
|
||||
二、重要安全说明
|
||||
|
||||
本程序会直接控制真实阀门。首次连接前必须确认 PLC IP、端口、站号、寄存器
|
||||
地址、传感器量程、阀门动作方向和管路允许压力,并准备独立的机械或电气急停。
|
||||
|
||||
根据当前工程的安全策略:
|
||||
|
||||
- 连接 PLC 成功后,程序会先命令阀门至 100% 开度(电机行程 800);
|
||||
- 点击“断开设备”、关闭窗口或发生控制故障时,程序会再次尝试命令阀门至
|
||||
100% 开度,然后断开 PLC;
|
||||
- “100% 开度”是当前软件定义的逻辑位置,现场必须再次确认真实动作方向。
|
||||
|
||||
|
||||
三、正常操作
|
||||
|
||||
1. 双击 FlowControl.exe。程序启动后不会自动连接设备。
|
||||
2. 核对 PLC 地址、端口和站号。默认值为 192.168.1.88、502、1。
|
||||
3. 默认模型显示为“内置 valve_model_004.json(80 点)”。
|
||||
4. 点击“连接设备”。连接成功后程序先设置 100% 开度,并进入传感器监测。
|
||||
5. 输入 0~300 SLM 的目标值,点击“设置目标流量”或按回车。首次设置即启动
|
||||
10 Hz 闭环;运行中可以继续修改目标。
|
||||
6. 观察当前流量、阀前压力、阀后压力、下发总开度、电机行程、前馈开度、
|
||||
PI 修正量和 FAR/NEAR 模式。
|
||||
7. 结束时点击“断开设备”,等待状态变为“设备已断开”后再关闭程序。
|
||||
|
||||
|
||||
四、选择其他 A_eff 模型
|
||||
|
||||
只能在未连接或故障已断开的状态下切换模型。点击“选择 JSON…”后选择由本工程
|
||||
辨识工具生成的模型。程序会检查 JSON 结构、有效数值、标定点数量以及行程范围
|
||||
是否与当前 800~1000 配置一致。无效模型不会用于控制。
|
||||
|
||||
点击“使用内置”可随时恢复 valve_model_004.json。该模型允许非单调特性;同一
|
||||
A_eff 存在多个反解行程时,沿用工程算法选择更接近关闭端的较大行程。
|
||||
|
||||
|
||||
五、状态与故障
|
||||
|
||||
- 已连接 / 监测中:设备已连接,阀门保持 100% 开度,尚未启动闭环。
|
||||
- 闭环运行中:目标流量已经生效,程序以 10 Hz 读取传感器并下发总开度。
|
||||
- 故障 / 已断开:出现流量越界、压力超限、连续读取失败、写入失败、控制周期
|
||||
严重超时或通信异常;程序已停止闭环并执行安全断开。
|
||||
|
||||
运行日志保存在 FlowControl.exe 同目录下的 logs\flow_control.log。遇到问题时请
|
||||
保留该日志。日志最多约 2 MB,自动保留 3 份历史文件。
|
||||
|
||||
|
||||
六、当前默认硬件参数
|
||||
|
||||
- 阀后流量:D700,量程 0~300 SLM
|
||||
- 阀后压力:D710,量程 0~400 kPa
|
||||
- 阀前压力:D720,量程 0~300 kPa
|
||||
- 电机命令:D730,行程 0~1000 映射到模拟量 0~32000
|
||||
- 有效控制行程:800(100% 开度)~1000(0% 开度)
|
||||
- 压力保护上限:500 kPa
|
||||
|
||||
首次真实设备投用必须由现场人员确认上述参数。
|
||||
Reference in New Issue
Block a user