# daKuiZi **Repository Path**: Lumosjiang/da-kui-zi ## Basic Information - **Project Name**: daKuiZi - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 计算机联锁模拟仿真系统 这是一个基于Vue 3的铁路计算机联锁模拟仿真系统,实现了铁路车站的联锁控制、进路管理、列车运行模拟等核心功能。 ## 功能特性 ### 核心功能 - **站场图形化显示** - 实时显示轨道、信号机、道岔状态 - **进路管理** - 进路选排、锁闭、开放、解锁功能 - **道岔控制** - 单独操作、锁闭、封锁功能 - **信号控制** - 自动/人工信号控制 - **列车管理** - 列车添加、移动、作业办理 - **联锁逻辑** - 完整的安全联锁算法 - **系统监控** - 设备状态监控、操作日志 ### 技术特点 - **前端框架**: Vue 3 + Composition API - **组件库**: Element Plus - **状态管理**: Pinia - **数据存储**: LocalStorage (纯前端) - **图形绘制**: SVG + 交互式操作 - **响应式设计**: 适配不同屏幕尺寸 ## 系统架构 ``` src/ ├── components/ # 业务组件 │ ├── StationDiagram.vue # 站场图组件 │ ├── RouteControl.vue # 进路控制组件 │ ├── TurnoutControl.vue # 道岔控制组件 │ ├── SignalControl.vue # 信号控制组件 │ ├── TrainManagement.vue # 列车管理组件 │ └── SystemMonitor.vue # 系统监控组件 ├── stores/ # 状态管理 │ ├── railway.js # 主要数据状态 │ └── interlocking.js # 联锁逻辑控制 ├── views/ # 页面视图 │ └── MainSystem.vue # 主系统界面 └── router/ # 路由配置 └── index.js ``` ## 安装与运行 ### 环境要求 - Node.js 16.0+ - npm 或 yarn ### 安装依赖 ```bash npm install ``` ### 开发模式运行 ```bash npm run dev ``` ### 构建生产版本 ```bash npm run build ``` ## 使用说明 ### 1. 系统启动 - 打开浏览器访问系统 - 系统会自动加载站场配置和历史数据 ### 2. 进路操作 - 在"进路控制"标签页选择进路 - 点击"选排锁闭"建立进路 - 点击"开放"开放信号 - 点击"解锁"或"取消"结束进路 ### 3. 道岔控制 - 在"道岔控制"标签页选择道岔 - 选择目标位置进行操作 - 支持单锁、封锁等安全操作 ### 4. 列车管理 - 在"列车管理"标签页添加列车 - 可以手动或自动模拟列车运行 - 支持列车作业办理 ### 5. 系统监控 - 在"系统监控"标签页查看系统状态 - 查看操作日志和设备统计 - 进行数据备份和系统维护 ## 站场配置 系统基于标准车站站场图配置,包含: ### 轨道区段 - **X**: 进站区段 - **1IAG**: 进站咽喉区段 - **1G**: 到发线1股道 - **3G**: 到发线3股道 - **1SG**: 侧线股道 - **1IBG**: 出站咽喉区段 - **S**: 出站区段 - **JXG**: 区间区段 ### 道岔设备 - **D1**: 进站咽喉道岔 (定位->1G, 反位->3G) - **D2**: 出站咽喉道岔 (定位->1G方向, 反位->3G方向) ### 信号设备 - **X**: 进站信号机 - **S3**: 出站信号机 - **S1**: 调车信号机 - **XI, XII, X3, X1**: 区间通过信号机 - **SII**: 调车信号机 ## 联锁逻辑 系统实现了完整的铁路联锁安全逻辑: ### 进路联锁 - 进路选排前检查敌对进路 - 自动检查和控制道岔位置 - 进路锁闭后禁止相关设备操作 - 区段出清后才能解锁进路 ### 道岔联锁 - 被进路锁闭的道岔禁止操作 - 支持单独锁闭和封锁功能 - 故障道岔自动封锁 ### 信号联锁 - 信号开放前检查进路条件 - 自动/人工控制模式切换 - 故障信号自动关闭 ## 数据存储 系统使用LocalStorage进行数据持久化: ```javascript // 存储的数据结构 { stationLayout: { trackSections: {}, // 轨道区段状态 turnouts: {}, // 道岔状态 signals: {} // 信号状态 }, routes: { activeRoutes: [], // 活动进路 routeTemplates: [] // 进路模板 }, trains: { trainList: [], // 列车列表 nextTrainId: 1 // 下一个列车ID }, operationLog: [] // 操作日志 } ``` ## 扩展开发 ### 添加新的轨道区段 1. 在`railway.js`的`trackSections`中添加定义 2. 在`StationDiagram.vue`中添加绘制逻辑 3. 更新相关进路模板 ### 添加新的进路模板 1. 在`railway.js`的`routeTemplates`中添加定义 2. 指定进路路径、信号机、道岔要求 3. 系统会自动处理联锁逻辑 ### 自定义联锁逻辑 1. 在`interlocking.js`中扩展检查函数 2. 实现特定的安全检查规则 3. 添加相应的错误处理 ## 注意事项 1. **数据安全**: 系统数据存储在浏览器LocalStorage中,清除浏览器数据会丢失所有状态 2. **性能考虑**: 大量列车和复杂进路可能影响系统性能 3. **兼容性**: 建议使用现代浏览器,支持ES6+特性 4. **扩展性**: 系统设计支持轻松添加新的设备和功能 ## 技术支持 如有问题或建议,请参考代码注释或联系开发团队。 ## 许可证 本项目仅供学习和研究使用。