Sophon 是一个基于 .NET Framework 4.7.2 开发的工业自动化控制软件,采用现代化的分层架构设计,旨在为工业自动化设备提供灵活、可靠的控制解决方案。
- 🏗️ 模块化架构 - 清晰的六层架构,易于维护和扩展
- ⚡ 异步流程引擎 - 支持复杂控制流程的异步执行
- 🔌 多协议支持 - 集成多种工业通信协议
- 🎛️ 可视化控制 - WPF 界面,支持硬件调试和监控
- 📊 数据持久化 - 完整的生产数据记录和追溯
Sophon/
├── Common/ # 公共基础设施
│ ├── DI/ # 依赖注入系统
│ ├── Logger/ # 日志系统
│ └── Config/ # 配置管理系统
├── Sophon.Core/ # 核心业务逻辑
│ ├── WorkStation/ # 工站控制系统
│ ├── Flow/ # 流程引擎
│ ├── StateMachine/ # 状态机
│ └── EventBus/ # 事件总线
├── Sophon.Application/ # 应用层(服务、DTO、流程)
├── Sophon.Infrastructure/ # 基础设施层
│ ├── Database/ # 数据库访问
│ ├── Communication/ # 通信协议
│ └── Hardware/ # 硬件接口
└── Sophon.UI/ # WPF用户界面
- 依赖注入系统 - 基于 Autofac/DryIoc 的模块化注册
- 日志系统 - 支持 NLog,可配置的日志管理
- 配置管理 - JSON/XML/INI 多格式配置支持
- 统一异常处理 - 完善的错误处理机制
- 工站控制系统
- 工站管理、状态监控
- 异步启动/停止/暂停/恢复
- 多工站并行控制
- 流程引擎
- 异步流程执行引擎
- 流程上下文管理
- 步骤状态跟踪
- 状态机系统
- 状态转换管理
- 状态变更事件通知
- 事件总线
- 松耦合事件通信
- 异步事件处理
- ADS协议 - Beckhoff TwinCAT 完整支持
- TCP/IP协议 - 完整的客户端/服务器实现
- 串口通信 - 标准串口通信协议
- Modbus协议 - 接口定义完成
- 实体框架 - 使用 SqlSugar ORM
- 仓储模式 - 通用的数据访问层
- 事务管理 - 完整的事务支持
- 生产数据模型
- 用户管理
- 生产记录
- 历史追溯
- 轴控制接口 - 完整的运动控制接口定义
- IO控制接口 - 数字输入输出控制
- 硬件提供者模式 - 统一的硬件访问接口
- 驱动器支持
- 固高科技 (GoogolTech) - 接口定义
- 雷赛科技 (LeadShine) - 接口定义
- 基础步骤
- 延时步骤 (FlowStep_Delay)
- 事件发布/订阅步骤
- 跳转步骤 (FlowStep_JumpTo)
- 循环步骤 (FlowStep_Loop)
- 并行步骤 (FlowStep_Parallel)
- 控制步骤
- 轴回零步骤 (FlowStep_AxisHome)
- 主界面框架 - 只有基础框架,缺少功能界面
- 工站管理界面 - 工站创建、配置、监控
- 流程编辑界面 - 可视化流程设计器
- 硬件调试界面 - 轴控制、IO控制、通信调试
- 实时监控界面 - 生产状态实时显示
- 应用服务 - 业务逻辑服务层缺失
- DTO传输对象 - 数据传输对象未定义
- ViewModel - 界面数据绑定模型
- 命令/查询模式 - CQRS 模式未实现
- 具体驱动器实现 - 接口已定义,但实现为空
- 硬件测试工具 - 缺少硬件连接测试功能
- 多硬件支持 - 需要扩展更多硬件品牌
- 流程持久化 - 无法保存/加载流程配置
- 可视化编辑器 - 拖拽式流程设计
- 流程调试工具 - 单步执行、断点调试
- 流程版本管理 - 流程版本控制和回滚
- 权限管理系统 - 用户角色和权限控制
- 报警管理系统 - 异常报警和处理
- 报表系统 - 生产报表生成
- 系统配置 - 完整的系统配置界面
- .NET Framework 4.7.2 - 主要开发框架
- WPF + Prism - MVVM 架构和界面框架
- Autofac/DryIoc - 依赖注入容器
- SqlSugar - 轻量级 ORM
- NLog - 日志记录
- WPF - Windows Presentation Foundation
- HandyControl - WPF UI 控件库
- Prism.Wpf - MVVM 框架
- Microsoft.Xaml.Behaviors - XAML 行为
- Visual Studio 2022 - 主要开发环境
- Git - 版本控制
- Windows 10/11
- .NET Framework 4.7.2
- Visual Studio 2022 (推荐)
- SQLite
-
克隆仓库
git clone https://github.com/JeffreyXXL/Sophon.git
-
使用 Visual Studio 打开
Sophon.sln -
设置启动项目为
Sophon.UI -
编译并运行
首次运行前需要配置:
- 数据库连接字符串
- 硬件通信参数
- 日志输出路径
当前本项目还在开发学习过程中,欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。
- 遵循现有的分层架构
- 使用异步编程模式
- 编写单元测试
- 保持代码注释清晰
feat: 添加新功能
fix: 修复问题
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试相关
chore: 构建过程或辅助工具变动
- 问题反馈: GitHub Issues
- E-mail: [email protected]
- 知乎: https://www.zhihu.com/people/jeffrey-21-52 |
- 公众号:
