毕设02-DHALSIM架构
三个组件
上文我们提出DHALSIM主要有两个系统组成,而在实际运行中这两个系统又通过sqlite连接,从而进行数据交互。
主要组件如下:
- WNTR( Water Network Tool fort Resilience) 基于EPANET的水力模拟工具,根据INP文件的水网数据和动态的水泵、阀门模型进行仿真模拟。
- MiniNet/CPS(工业控制系统仿真平台) 基于mininet/cps构建虚拟工业网络,支持Modbus、Ethernet/IP等工业协议,可模拟PLC、SCADA等设备的控制逻辑和网络通信。
- SQLite数据库 作为WNTR和Mininet/CPS的通信桥梁,存储每一轮的水网数据(管道压力、水箱水位、泵/阀门状态等),确保两者数据同步。
协同工作
两个系统的协同工作包括初始化和仿真阶段:
初始化阶段
- EPANET根据INP文件定义水力系统拓扑。
- Python脚本生成对应的Mininet/CPS网络拓扑
仿真阶段
- WNTR从数据库读取当前执行器状态(如泵/阀门开关状态)和水箱初始水位,模拟一步水力过程。
- WNTR将更新后的系统状态(水位、压力)写入数据库,并等待MiniCPS的响应。
- MiniCPS中的PLC/SCADA节点读取数据库中的状态数据,执行控制逻辑(开关泵/阀门),并将新的泵/阀门状态写回数据库。
- 上述步骤循环直至达到预设的仿真时长。
根据论文,其架构图如下: