自动测试系统解析方案

来源:元器件交易网 作者:—— 时间:2012-04-19 15:54


测试软件实现中采用多线程处理技术来调度多达4个组件共同测试的流程,同时数据采集与波形显示的同步也采用了多线程间的同步来进行协调。当然这些线程具体调度由操作系统完成,但从用户角度来看是同时并行运行的。Windows环境中系统通过时间片轮流的方式实现多线程,CPU为每个线程分配一个时间片,每个线程从被激活起,运行到时间片被耗尽为止,此时另一个线程运行。软件设计时只需要将用户界面消息循环和数据采集、处理分配在不同线程上,就可以避免计算机长时间不响应操作的问题。在软件具体设计过程中,使用了测试线程和界面线程。界面线程为主控线程,控制测试线程的开启、挂起和结束,提供消息循环并负责界面的生成和程序与用户的交互。测试线程为工作者线程,实现具体的测试功能,包括数据采集、数据处理和数据入库等。另外,系统自检测和自动测试模块也单独各占有一个线程从而大大提高了测试系统的运行效率。  

  3.4.3 模拟信号状态切换

  在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。此系统在自动测试当中,需要对被测设备的各个工作状态进行模拟,其工作状态的变换是依靠四路开关量和两路串口命令的改变而切换的。而状态的切换需要在800 ms内完成四个不同的状态变换,这就需要在状态变换线程中采取精确的定时来完成。在Windows中已经封装了计算机底层硬件的访问,因此在实际应用时,应针对具体定时精度的要求,采取相适应的定时方法。在精度要求较高的情况下,VC中可以利用GetTickCount()函数。该函数的返回值是DWORD型,表示以ms为单位的计算机启动后经历的时间间隔。在较短的定时中其计时误差为15 ms,经过调研该精度完全满足该设备百微秒级的要求。

 3.4.4 容错处理

  本测试系统采取了很多容错的处理手段。这里的容错不仅包括对用户非法操作的承受能力,还包括编写正确的、优化的测试代码。具体包括:C++语言本身容错的处理,VC++环境下容错的处理,强调Release版本的生成,模块设计的容错处理,用户界面的容错处理,测试软件自检测等。

  4测试结果

  如图4所示可以看到测试系统手动调试测试的主界面。测试人员通过点击测试的各个按钮对被测组件进行操作,从而判断返回信号波形及参数,模拟电机的旋转和返回灯的显示来判定测试结果。关于自动测试、例行测试、自检和报表的保存生成界面这里就不再罗列了。  

  5结 语

  本系统设计完成后,经过系统联调,功能上可以完全代替原有手动测试系统,整套系统工作稳定可靠,操作简单方便,容易维护。无论是自动测试、手动调试测试还是例行测试都极大地提高了效率和可靠性。整个测试系统的实物图如图5所示。  

 

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子