快速开发项目软件:一套可以企业级部署的激光切割系统上位机软件
SFFramework 框架系统说明文档
1. 概要
SFFramework是一套完整的企业级实战上位机项目,主要用于激光加工、视觉检测、运动控制等工业自动化领域。该框架由三个主要部分组成:
- SFFramework.Core:核心类库,包含:TaskManager流程管理、固高、雷赛、ACS、IO、相机、振镜卡、参数系统、日志报警、Recipe、标定界面、轴控制界面等、图像处理组件等众多功能,并生成dll供主软件调用。
- SFFrameWork.DevicesConfigureTool:硬件配置工具,用于配置和管理各类硬件设备的参数并生成配置文件供主软件调用。
- SFFrameWork.Main:主软件,集成了各种功能模块,提供完整的用户界面和业务流程。
该项目框架采用模块化设计,基于 C#+WPF +Prism MVVM架构模式,具有高度的可扩展性和可维护性,使用者直接编译代码即可运行,不需要再安装其他依赖环境。
使用者在拿到项目代码后,只需要改写具体流程逻辑,便可部署在公司上位机设备上。当然也可作为学习使用,对源代码感兴趣的小伙伴请后台私信(也可以邮箱:2663831724@QQ.com)。
2. SFFramework.Core 类库
SFFramework.Core是整个框架的基础,提供了设备驱动、UI组件、服务层和工作流管理等核心功能。其主要模块包括:
- Device:设备驱动模块,支持各类硬件设备的接口和实现
- Component.Controls:UI组件库,提供各种自定义控件
- CoreUI:核心UI模块,提供校准、IO、运动等功能的UI实现
- Service:服务层,提供报警、参数、配方等管理服务
- WorkFlow:工作流管理,提供状态机和动作管理
- Calibration:校准模块,提供相机校准等功能
类库的项目结构如下:
3. SFFrameWork.DevicesConfigureTool 硬件配置工具
SFFrameWork.DevicesConfigureTool采用MEF思想,是一个用于配置和管理硬件设备的工具并导出xaml配置文件供主软件调用并加载硬件,其主要组件包括:
- CustomModules:自定义模块,提供主界面和设备配置页面
- SFJG.Device:设备模型,定义各类设备的数据结构
- SFJGDevicesConfigure:应用程序主体,提供UI框架和导航
4. SFFrameWork.Main 主软件
SFFrameWork.Main是整个框架的主应用程序,集成了各种功能模块,提供完整的用户界面和业务流程。其主要组件包括:
- SFGlassCut:应用程序主体,提供UI框架和业务逻辑
- ViewModels:视图模型,实现各功能模块的业务逻辑
- Views:视图,实现各功能模块的用户界面
- Models:数据模型,定义业务数据结构
- ProcedureManager:流程管理,实现业务流程控制
1.主页面
包含设备状态、Recipe产品信息显示、流程的开始暂停继续停止等管理操作、轴控制组件、流程运行情况、日志显示功能:
2.配方管理界面
包含Recipe的管理,打开保存应用拷贝,RecipeParameter的编辑显示等功能:
3.标定
包含相机自动寻焦、激光寻焦、相机像素尺寸标定等功能:
4.监控
包含固高/雷赛/ACS等接入运动控制板卡的IO管理功能:
5.日志
日志的查询界面(日志存储在txt文件):
6.报警
报警的查询界面(报警存储在txt文件):
7.设置
运动控制轴相关操作页面、CO2激光器参数设置页面:
8.调试页面
8.1 DXF解析
解析DXF图纸并生成路径文件,运动控制卡+激光器可以对DXF路径进行激光切割:
8.2 调试
该界面包含二次开发好的基于Halcon的图像处理组件,可以框选模板ROI、实时显示相机画面、控制平台轴移动等,此外右上角小窗可实时预览相机视野在整个Stage的位置:
对源代码感兴趣的小伙伴请后台私信(也可以邮箱:2663831724@QQ.com)。