论文部分内容阅读
摘 要:以LabView虚拟仪器作为上位机软件开发平台、CPLD可编程逻辑器件作为下位机电路控制器,为XX电气控制盒设计了一种自动化测试系统。介绍了测试系统的原理、硬件和软件的设计。该系统提供了一套友好的人机交互界面,简单易操作,具有自动化的测试流程,并提供测试结果报表,大大提高了测试效率和可靠性,具有很好的实用性。
关键词:LabView;CPLD;自动化测试
0 引言
XX电气控制盒裝配完成进行功能测试时,按要求需要测量绝缘电阻、未加电导通、二极管、瞬态抑制二极管、加电导通等项目。通常的做法是做一个测试工装,将产品的所有测试点引出来,然后使用电源、万用表、示波器根据测试要求连接到相应的测试点进行测量。该方式虽然简单,但是全部测试过程需要人工手动测量、记录,当待测产品数量较多或测试点较多时,这种方式会显得费时、效率低,且时间长了人员注意力容易下降,易出现测量或记录有误的情况。因此,设计一种高效、自动化的测试系统就非常必要。
1 系统组成及原理
测试系统以工控机作为上位机软件的搭载平台,在功能组成上可将其划分为几个模块,如图1。工控机和I/O板卡组成控制系统,万用表板卡和示波器模块组成测量系统,通道板1~4负责切换选择测试节点,电源模块负责将220V交流电转换成测试系统电路和待测产品可用的供电电源。
测试时,由工控机的上位机发出指令,通过I/O板卡传送给通道板,通道板进行译码后将万用表或示波器通道切换到需要的测试点,待测得数据(电压、电阻、波形等)后,通过上位机软件进行读取、显示,并生成报表将结果保存于计算机中。
2系统硬件设计及通信协议
系统中除通道板外的硬件模块均为已有模块,无需设计。
2.1通道板继电器驱动电路
通道板为产品各待测点连通到测量模块提供通道,本方案使用继电器阵列实现,通道板的原理如图所示:
如图2,I/O板卡通过16位总线输出控制CPLD进行测试点切换,高8位中选取两位分别做为地址锁存位和数据写使能位,低8位做为通道板的继电器选通地址位和数据位复用。通道板电路以CPLD作为译码器对16位地址数据译码锁存,通过达林顿驱动芯片ULN2803驱动继电器阵列,切换通道进行测试。
2.2上、下位机间通信协议
测试系统中有4块通道板,每块通道板最多有96个继电器,按序号将继电器分成12组,每组8个。在驱动某个继电器时,上位机先发送地址位,包括该继电器所在通道板编号及继电器分组编号;再发送数据位,将该继电器所在位置1。下位机通道板收到指令后进行译码驱动。具体的通信协议和通信指令时序图分别见表1和图3。
3 上位机软件设计
3.1 软件流程
测试系统的上位机采用LabVIEW软件实现对获取数据的处理、显示和存储。为便于软件的维护和升级,软件的程序采用模块化结构。整个程序主要分为:程序菜单(主程序)、万用表计量模块和功能测试模块。其中功能测试模块包括:未加电导通测试模块、静态绝缘电阻测试模块、继电器加电导通测试模块和自动综合测试模块等。软件主流程图如图4所示。软件主界面如图5所示。当需要进行某项测试时,只需要点击对应名称的测试按钮,即可进入二级测试界面,开始相应功能测试。
同时为减少软件的更改机率,在选择测试点和对获取数据进行判断时,软件内部并不设定固定的参数,相关参数均由软件外部测试文件提供。外部文件主要包括功能测试表、接线关系映射表和校准数据表。每次测试前软件读取测试表的测试点和判断依据等参数,再对采集到的数据进行分析处理,并将处理结果返回给测试表。这样当外部条件有变化时也无需更改软件,扩大了软件的应用范围。
3.2 万用表计量模块
由于该测试系统主要由万用表板卡进行电阻、电压等测量,而测试台在正式交付使用前需要计量合格,因此在上位机软件中添加万用表计量模块,以供测试台计量时使用。对万用表的计量包括电阻和电压校准,同标准源比较做差后,将结果保存在校准数据表中,以供后续测试使用。程序流程如图6所示,程序界面如图7所示。
3.3未加电导通测试模块
在测试产品的未加电导通时,上位机软件先读入测试表中的一对测试点,并去接线关系映射表中查询对应的通道板上的继电器编号,然后使之切换,调用万用表测得该测试点间的阻值,判断是否合格,最后令之前动作的继电器复位。
程序流程图如图8所示。在进行电阻计算时,需要用采集到的电阻值减去校准值得到最终结果。
3.4静态绝缘电阻测试模块
静态绝缘电阻测试的流程大体与未加电导通测试的一致,都是先读取测试表模板,然后创建测试表格、查找通道、测试点接入、调用万用表、数据处理保存、系统复位。程序框图见图9。
3.5 继电器加电通断测试模块
继电器加电通断测试的流程与上述测试类似,只是测试点多了一对给继电器线圈加电的点,测试表相应添加一栏加电点。程序界面如图10所示。
3.6自动综合测试模块
在产品需要进行全部测试时,可以直接使用主界面上的一键自动测试功能,便将以上测试模块按顺序执行,并将测试结果生成报表存储在计算机,中间过程无需人员值守。
4 结论
本测试系统能够有效替代人工测试,测试时间大大缩短,提高了测试效率,节省了人力成本。稳定的软件和硬件保障,避免了测试中不确定的人为因素,提高了测试的可靠性。
关键词:LabView;CPLD;自动化测试
0 引言
XX电气控制盒裝配完成进行功能测试时,按要求需要测量绝缘电阻、未加电导通、二极管、瞬态抑制二极管、加电导通等项目。通常的做法是做一个测试工装,将产品的所有测试点引出来,然后使用电源、万用表、示波器根据测试要求连接到相应的测试点进行测量。该方式虽然简单,但是全部测试过程需要人工手动测量、记录,当待测产品数量较多或测试点较多时,这种方式会显得费时、效率低,且时间长了人员注意力容易下降,易出现测量或记录有误的情况。因此,设计一种高效、自动化的测试系统就非常必要。
1 系统组成及原理
测试系统以工控机作为上位机软件的搭载平台,在功能组成上可将其划分为几个模块,如图1。工控机和I/O板卡组成控制系统,万用表板卡和示波器模块组成测量系统,通道板1~4负责切换选择测试节点,电源模块负责将220V交流电转换成测试系统电路和待测产品可用的供电电源。
测试时,由工控机的上位机发出指令,通过I/O板卡传送给通道板,通道板进行译码后将万用表或示波器通道切换到需要的测试点,待测得数据(电压、电阻、波形等)后,通过上位机软件进行读取、显示,并生成报表将结果保存于计算机中。
2系统硬件设计及通信协议
系统中除通道板外的硬件模块均为已有模块,无需设计。
2.1通道板继电器驱动电路
通道板为产品各待测点连通到测量模块提供通道,本方案使用继电器阵列实现,通道板的原理如图所示:
如图2,I/O板卡通过16位总线输出控制CPLD进行测试点切换,高8位中选取两位分别做为地址锁存位和数据写使能位,低8位做为通道板的继电器选通地址位和数据位复用。通道板电路以CPLD作为译码器对16位地址数据译码锁存,通过达林顿驱动芯片ULN2803驱动继电器阵列,切换通道进行测试。
2.2上、下位机间通信协议
测试系统中有4块通道板,每块通道板最多有96个继电器,按序号将继电器分成12组,每组8个。在驱动某个继电器时,上位机先发送地址位,包括该继电器所在通道板编号及继电器分组编号;再发送数据位,将该继电器所在位置1。下位机通道板收到指令后进行译码驱动。具体的通信协议和通信指令时序图分别见表1和图3。
3 上位机软件设计
3.1 软件流程
测试系统的上位机采用LabVIEW软件实现对获取数据的处理、显示和存储。为便于软件的维护和升级,软件的程序采用模块化结构。整个程序主要分为:程序菜单(主程序)、万用表计量模块和功能测试模块。其中功能测试模块包括:未加电导通测试模块、静态绝缘电阻测试模块、继电器加电导通测试模块和自动综合测试模块等。软件主流程图如图4所示。软件主界面如图5所示。当需要进行某项测试时,只需要点击对应名称的测试按钮,即可进入二级测试界面,开始相应功能测试。
同时为减少软件的更改机率,在选择测试点和对获取数据进行判断时,软件内部并不设定固定的参数,相关参数均由软件外部测试文件提供。外部文件主要包括功能测试表、接线关系映射表和校准数据表。每次测试前软件读取测试表的测试点和判断依据等参数,再对采集到的数据进行分析处理,并将处理结果返回给测试表。这样当外部条件有变化时也无需更改软件,扩大了软件的应用范围。
3.2 万用表计量模块
由于该测试系统主要由万用表板卡进行电阻、电压等测量,而测试台在正式交付使用前需要计量合格,因此在上位机软件中添加万用表计量模块,以供测试台计量时使用。对万用表的计量包括电阻和电压校准,同标准源比较做差后,将结果保存在校准数据表中,以供后续测试使用。程序流程如图6所示,程序界面如图7所示。
3.3未加电导通测试模块
在测试产品的未加电导通时,上位机软件先读入测试表中的一对测试点,并去接线关系映射表中查询对应的通道板上的继电器编号,然后使之切换,调用万用表测得该测试点间的阻值,判断是否合格,最后令之前动作的继电器复位。
程序流程图如图8所示。在进行电阻计算时,需要用采集到的电阻值减去校准值得到最终结果。
3.4静态绝缘电阻测试模块
静态绝缘电阻测试的流程大体与未加电导通测试的一致,都是先读取测试表模板,然后创建测试表格、查找通道、测试点接入、调用万用表、数据处理保存、系统复位。程序框图见图9。
3.5 继电器加电通断测试模块
继电器加电通断测试的流程与上述测试类似,只是测试点多了一对给继电器线圈加电的点,测试表相应添加一栏加电点。程序界面如图10所示。
3.6自动综合测试模块
在产品需要进行全部测试时,可以直接使用主界面上的一键自动测试功能,便将以上测试模块按顺序执行,并将测试结果生成报表存储在计算机,中间过程无需人员值守。
4 结论
本测试系统能够有效替代人工测试,测试时间大大缩短,提高了测试效率,节省了人力成本。稳定的软件和硬件保障,避免了测试中不确定的人为因素,提高了测试的可靠性。