1.立项背景和目标:
开发机器设备上位机应用来实现激光切割机的人机交互操作, 根据用户操作以及工艺测试过程协调机台上各种设备进行联动工作, 以实现切割机自动完成加工任务的目标.并编写相应的操作手册.
2.软件功能:
核心功能为根据用户添加的加工任务,全自动实现特定工艺参数的激光批量加工并完成人机交互操作; 通过调用雷赛运动控制器SDK来实现运动轴的控制; 调用大恒相机的SDK来实现图像的显示并实现画面裁剪,工件标识,加工路径标识,画面取点映射运动轴运动等功能; 通过ModBus通信协议控制激光器出光,调整激光参数等; 实现软件界面的中英文切换功能.
3.业务流程:
用户打开软件后根据手册操作现将运动轴回量, 然后根据所需要的加工功能(分为"分片", "取点","切方","切型"等四种功能)点击相应按钮进入功能界面, 根据特定的参数设置流程进行建工工件参数设置, 对工件进行批量设定后点击开始加工按钮即可开始进行批量加工; 界面上可以看到目前加工的工件以及每个工件的百分比进度和加工时间, 相机画面可以看到实时的加工画面以及加工路径.
从项目流程来看该项目可能很简单,但是实则并不然,项目背后的加工逻辑是极其复杂的及涉及到各种各样外设的同时控制还涉及到各种加工工艺的实现,根据市场调研和用户需求特意将这个业务流程进行简化以便操作人员能够简单快速的上手(因为操作机械设备的人员基本文化素质普遍偏低, 复杂的流程容易搞混).
项目实现初期:调研需求,与电气和工艺工程师和机械设计工程师进行紧密交流,讨论出一个整体的实现方案; 根据方案选择软件实现框架, 最终选择了Winform(能快速开发出图形界面, 在工业领域并不太注重软件图形界面), 搭建基本框架;整个软件为个人独立开发.
项目实现过程:框架分层, 将后台运行逻辑与前台显示界面进行分离即解耦合,方便后续管理和迭代, 使用Git进行项目管理. 个人发现Winform原生框架用起来不太顺手(在这个前端数据驱动的时代, 显然用的有点不习惯), 于是网上收集资料并根据资料内容实现了一个简易的个人自动的MVVM模型,基于该模型进行了后续开发;
项目实现后期:进行实机调试, 定期Bug源进行Bug解决; 项目交付客户现场后, 根据售后同事的反馈记进行功能完善与改进.