产测工具

产测工具

又是一个多月过去了,在WiFi功能完成差不多后,我又需要做一个产测工具,用于工厂生产和测试。在不知不觉中这个产品的开发已经进入收尾了,要开始产测了。

产测工具已经完成,并出差去了工厂现场调试,现将方案和遇到的问题做一个记录

需求

主要分为五个工作站,分别为固件下载,WiFi校准,功能测试,驻网测试,打印标签。功能和流程如下图:

流程

工具设计

工具和设备主要使用UDP进行通信,设备作为一个udp server,工具作为client,通过定义好的规则,工具可以向设备发送命令,获取信息,设置参数等

工具功能:

  • 固件下载:使用USB进行下载
  • WiFi校准:WiFi校准使用第三方工具,产测工具调用wifi校准工具,校准工具成功后产测工具给予反馈
  • 功能测试:功能测试时设备通过网线和电脑连接,其余网口连接配置了IP地址的交换机,LAN口功能测试时ping对应的IP即可,其他功能测试也是通过UDP进行
  • 驻网测试:本次未做此功能
  • 打标签:打印标签时,设备已经完成组装,使用USB连接设备,通过AT命令获取所需信息并一键打印

流程:

  • 选择模式,计划登陆成功后,选择需要的功能
  • 扫描SN:扫描设备的SN
  • 途程检测:检测设备是否通过之前的功能测试
  • 开始测试:进行测试
  • 过站:测试通过就流入下一个工作站,进行下一项测试

工具实现

决定使用QT进行开发,QT支持跨平台编译,有很高的可移植性;QT拥有丰富的模块,包括多达 250 个以上的 C++ 类;QT有自己的编辑器Qt Creator,方便配置编译器;QT还拥有很多工具,比如语言家,设计家等,可以更方便的将应用release出来

QT开发有三种方式,纯代码,纯UI,以及代码UI结合的方式,本次为了提高开发效率使用代码和UI结合的方式进行开发(上一个高通的5G MIFI采用纯代码开发)

标签打印使用codesoft6,完成标签模板,设置变量,产测工具通过接口将变量传给codesoft6进行打印

放几张界面图片:

select

func

流程控制

流程控制是工具对接工厂的MES系统

MES系统是一套面向制造企业车间执行层的生产信息化管理系统。MES可以为企业提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。

输入SN后工具和MES系统交互,进行途程检测,检测通过后再进行测试,测试结果通过接口上传给MES系统进行保存和数据分析

开发遇到的问题

  1. QT使用UDP进行广播

    使用现成的 QUdpSocket 模块进行开发

  2. LAN口ping测试

    使用QProcess执行CMD命令进行测试

  3. 进行LAN口ping测试时,界面假死

    创建线程执行CMD命令

  4. 打印标签时串口开发

    使用的QT4.8.7没有对应模块,升级到QT5使用自带的QSerialPort进行开发

  5. 对接MES系统时,参数异常(QString 转 char* 出现异常)

    错误写法和正确写法如下,为什么不能一步写完,还没有查找原因:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    //错误写法
    QString SN = "test";
    char *sn = SN.toLatin1().data();

    //正确写法
    QByteArray tmp;
    QString SN = "test";
    tmp = SN.toLatin1();
    char *sn = tmp.data();
  6. 线程中调用某些成员函数失败

    在不同的线程中使用信号和槽的方式进行函数调用

结语

QT的基础使用是比较简单的,有空的话记录一下QT的一些简单的使用


产测工具
https://carl-5535.github.io/2022/01/18/工作总结/产测工具/
作者
Carl Chen
发布于
2022年1月18日
许可协议