| 步骤 | 处理内容 | 关键数据/状态 |
|---|---|---|
| 1. 进入与发起 | 在“防雷计算”中进入“普通计算”对话框。 | 入口窗体:FormFangLeiJiSuan → Form_PuTongJiSuan |
| 2. 表单校验 | 校验线路、任务名、方法选择、包含杆塔。 | 不通过则仅提示,不建任务 |
| 3. 任务组装 | 创建任务主数据并生成 ExTask,复制被勾选杆塔。 | mTypeCode_Task=1,Finished1=0 |
| 4. 任务回传 | 把任务加入主界面任务列表并显示“开始/结果”按钮。 | Add1TaskData + Add1TaskControl |
| 5. 启动执行 | 点击开始后,后台线程调用 MyStart 并分发到普通计算。 | MyStart_Finished1_PuTongJiSuan |
| 6. 计算配置落盘 | 把方法索引、波形、闪络判据等写入 TaskOption.txt。 | 供 DLL 计算读取 |
| 7. 逐塔计算 | 逐杆塔拼参数;特殊分支下直接返回“请换ATP方法”,否则调用 DLL。 | DLL: Invoke_CircuitLightningProtection_Base.dll |
| 8. 结果解析回写 | 读取 ResultTips 映射字段,回写耐雷水平、跳闸率、风险等级等。 | 成功则普通计算结果=OK |
| 9. 完成收口 | 全部杆塔处理后标记任务完成。 | Finished1_PuTongJiSuan=1,Complete=1 |
| 10. 结果消费 | 可在结果窗口查看明细并导出 CSV/TXT。 | 展示/导出来自 TGanTaData 回写字段 |
注意:DLL 调用为同步阻塞式,但运行在后台计算线程,不直接阻塞主界面 UI 线程。