编译环境:基于C++语言,QT5.9.9 MSVC2017 64bit, MYSQL 5.7.31,VM工业软件
硬件环境:AMD 4800H,16GB内存
数据集素材:金属表面缺陷数据集
包括图表存储位置,图像源保存位置,运行后的拼接图像位置和本地日志txt文件。
保存位置默认在当前代码文件夹的相同路径下,如下图所示。
使用MYSQL数据库保存密码表(操作员,管理员和超级管理员),还有日志表上传数据库,以及图像信息(产品 SN 号、图片名称、检测结果、时间戳)上的保存,如下图所示。
其中,phinfo图像信息数据表包含如下内容:
项目操作顺序由登录窗口开始,由操作员,管理员,超级管理员的密码登录分别设定三种人员能够操作的界面个数。而由于存图和密码表,以及日志上传的需求,所以在部分窗口需要连接数据库。下图为项目基本结构。
下面展示操作员,管理员,超级管理员,三者能够使用的操作页面。其中,红色方框是无法选取的界面。在后续运行流程讲解中,由于超级管理员能使用所有界面,使用超级管理员的界面来展示。
操作员(运行界面):
管理员(参数配置界面):
超级管理员(方案及系统管理界面):
项目代码实现了自动存图和操作步骤的日志信息自动显示到日志栏,以及本地保存和数据库上传的功能。并且在运行一次和连续运行中,可自动将每次的图像信息上传到数据库中。
人员密码表:
操作员:1
管理员:2
超级管理员:3
TEST.sol存放位置:以本系统所在电脑路径为例,为当前文件夹下“.\\TEST.sol”
图片导入路径:D:/DevProjects/hk_pro/image_input
图片保存路径:D:/DevProjects/hk_pro/image_output ,图片格式默认JPG
日志保存路径:D:/DevProjects/hk_pro/daily.txt
图表保存路径:D:/DevProjects/hk_pro/charts
按照软件的执行顺序,先是由超级管理员在“方案及系统管理界面”的“方案配置栏”,选择“导入方案”按钮,导入当前系统软件需要导入的方案,然后这个方案路径会同步到“运行界面”和“参数配置界面”,供之后操作员和管理员直接加载vm方案使用。
当然,也可以将vm文件方案,放在当前文件夹下,因为在本次项目代码中,初始默认将本文件夹下的vm方案文件可作为初始方案加载。如下两图为操作步骤。
在“方案及系统管理界面”的“系统配置栏”中,可以对“图片导入路径”,“图片保存路径”,“日志保存路径”,“图表保存路径”进行选择,在图片保存路径一览,也可以选择图片保存的格式,有JPG格式,PNG格式,bmp格式可选择。在“人员密码设置栏”中,可以对操作员,管理员和超级管理员的密码进行修改,并自动上传到数据库,如下两图所示。
在已经选择导入方案之后,可以切换到“运行界面”中去,在“方案加载”栏中,选择“加载方案”按钮,此时会将方案中的流程体现在“流程运行”栏的combobx中,然后可以根据需要进行“运行一次”或者“运行多次”,多次运行可以通过“停止运行”按钮来停止。
在运行流程后,“运行界面”上的各个栏目框将同时进行显示。其中,“渲染图像”栏中显示拼接后的渲染输出图像。“结果信息栏”中显示图像信息表格,表格中含有“产品SN号”、“图像名称”、“缺陷类别”以及“当前时间”。此外,“结果信息栏”中还将显示计算出的“产品良率”,在“结果信息栏”下方显示图像中检测是否含有缺陷?如果有,则显示红色NG图像,如果没有,则显示绿色OK图像,最后日志信息同步输出。见下图展示。
紧接之后多线程进行自动存图算法以及图像信息和日志信息同步到数据库和本地txt文件中。
在“参数配置界面”中,由之前超级管理员导入过方案路径,在“运行窗口”栏中的combobox中会出现所有流程,直接选择进行 “加载方案”按钮,在“模块选择”栏中combobox会出现所有模块。通过选择不同模块,点击“加载参数”按钮再点击“运行一次”在渲染控件上就可以显示出相关参数和渲染图像。
点击“模块保存”按钮,就可保存当前参数设置。
团队成员通过本次启智杯比赛,学习到了工业软件二次开发系统的整体流程,从总体到局部一步一步搭建系统需要的具体要求,虽然本次金属片表面缺陷检测系统完成的较为粗糙,但是几个月的开发过程还是有所收获的。