天天看点

实现一个模拟工控软件

由于一般人对工业控制环境比较陌生,操作工控软件相对不易。一款好的工控软件能够减少工人的学习时间和误操作;在工业环境中,为减少实验成本,方便调试;公司现有的软件ui实在太落后,按钮都是单调的mfc button,连tip都没有,更没有图片,大部分界面都是mfc原生灰白风格,没有一点生机,所以一直想自己先做一个模拟软件,等功能完善和技术成熟后向公司申请。

 本人利用工作之余编写了一套晶圆片模拟测试软件,以此对windows编程水平作一次演练,对个人开发中总结的一些编程经验进行集成,方便日后回顾和参考,在实现具体功能的同时还要保持易用性,生动形象的软件界面必不可少。

实现一个模拟工控软件
实现一个模拟工控软件
实现一个模拟工控软件

目标:

1)      模拟实现晶圆片测试70%的功能,主要有规则芯片测试,喷墨打点,不规则芯片测试,

测试路径编辑,数据报表。

2)      漂亮、生成的GUI,可视化操作。

技术要点:

1)      Gui实现:mfc想要实现生动ui有相当的难度和工作量,而且可重用性和效率都比较低,主要原因是mfc诞生的目的不是为贴图而准备,自己用C++ 实现一套GUI需要相当的工作量,本人自己的Directui库还在初期编写阶段,因此先采用mfc深度自绘的方法。

实现CDialog和一些基础控件扩展。ui编程包含大量位图操作,用开源CXimage实现,后续本人将自己实现一个简单的CImage库,图片显示大量运用九宫式贴图,QQ,迅雷之类软件界面图片显示都是这么做的,可以从它们的资源文件中看出来,本软件中用到的一些图片就直接从中提取的。

 2)      模拟运动控制,仿一套运动控制卡API

3)      脚本控制命令行,采用Lua脚本实现C++功能的导入导出

4)      图像识别,采用opencv模板匹配简单模仿(完全模仿商业的evision图像库有相当的难度),同时播放测试动画

5)      用户权限和配置管理,sqlite(加密版)数据库实现

6)      多机联动,soket广播通信、网络协议封装

7)      其它部分功能

ZLip库实现日志文件打包

boost regex 实现自动软件版本号更新

tinyxml 实现配置读写

远程协助 集成UltraVNC

没有美工,图片资源自得自己ps,部分来自互联网