基于Qt的PLC板级工装测试方法研究与实现
杨志明,傅一帆,闵晓霜,赵德政
(华北计算机系统工程研究所,北京100083)
PLC板级工装测试系统主要对N系列全国产化PLC单板模块的硬件连通性及其基本功能进行测试,为简单硬件设计及问题查找定位提供软件支持与验证。一般的板级工装测试产品,不同板卡测试环境不同,操作复杂,且大部分是手动测试,人力物力成本太高。提供一种基于Qt的跨平台PLC板级工装测试方法与系统,是对PLC单板模块功能及接口的自动化测试系统。实际测试表明,该系统可以大幅度提高测试效率,节约测试成本。
电路板工装测试;测试方法;PLC;Qt
中图分类号: TP311.1
文献标识码: A
DOI: 10.16157/j.issn.0258-7998.170986
中文引用格式: 杨志明,傅一帆,闵晓霜,等. 基于Qt的PLC板级工装测试方法研究与实现[J].电子技术应用,2018,44(1):114-117.
英文引用格式: Yang Zhiming,Fu Yifan,Min Xiaoshuang,et al. Research and implementation of PLC board-level testing method based on Qt[J]. Application of Electronic Technique,2018,44(1):114-117.
0 引言
随着“两化融合”的深度发展,工业控制系统已经成为国家关键基础设施的重要组成部分。数字电路板作为PLC(Programmable Logic Controller)的重要组成部分,其质量好坏直接关系到国家的战略安全。因此,对于PLC电路板的工装测试方法进行研究,保证电路板的质量具有重要意义[1]。
随着微电子技术、封装技术、印制板技术的不断发展,印制电路板密度变得越来越大,复杂程度也越来越高,传统的“探针”测试方法[2]使用万用表、示波器测试芯片已经不能满足要求。目前有一些利用IDE工具[3](例如SPE)进行工装测试,这种方法存在需要人工参与、效率低、不能实现自动化测试[4-5]等问题。基于LabVIEW的自动化测试系统[6]成本较高,而且对于PLC的电路板部分测试不能满足要求,所以开发一款成本低、操作简单、测试覆盖率高的电路板自动化测试软件很有必要[7-8]。
1 PLC板级工装测试软件总体设计
板级工装测试软件主要为目标板的测试程序下装以及测试提供人机界面,发送测试指令至目标板并接收返回的测试结果,为模块的硬件连通性、各器件的基本功能好坏以及故障查找定位提供软件支持与验证。
图1描述了板级工装测试系统的外部输入输出。
1.1 模块划分
按照板级工装测试软件需求,软件所需要实现的功能划分为8个模块,模块划分及模块功能概述如表1所示。
1.2 模块交互关系
板级工装测试软件各模块之间的交互关系如图2所示。
1.3 系统处理流程图
系统主要处理流程如图3所示。
2 测试方法研究与选取
PLC电路板测试的测试项包括:串口测试、网口测试、SDRAM测试、Flash测试、LED灯测试、拨码测试、RTC时钟测试、MAC_EEPROM测试、ComX测试、DI通道测试、DO通道测试、A/D转换测试、D/A转换测试等。以下对各个测试项的测试方法进行研究并选取最合适的测试方法。
2.1 串口测试
串口测试分为3项,分别对UART_1、USER、OS 3个通道进行测试,以下是3个通道的检验方法:将一根串口线一端连接在UART_1串口,另一端连在辅助测试模块的串口1上;将一根串口线一端连接在USER串口,另一端连在辅助测试模块的串口2上;再将一根串口线一端连接在OS串口,另一端连在辅助测试模块的串口3上。辅助测试模块将收到的待测串口的测试数据原样返回给该串口,下位机接收数据后判断返回数据是否与发送的数据相同。如果相同,则测试通过,如果不相同,或者在限定的超时时间内没有接收到数据,则测试不通过。
2.2 网口测试
网口测试分为2项,分别对ETH0和ETH1两个通道进行测试,以下是两个通道的检验方法:将一根网线一端连接在ETH0,另一端连在辅助测试模块的网口1上;将另一根网线一端连接在ETH1,另一端连在辅助测试模块的网口2上。下位机首先初始化相应测试网口,然后发送目的IP为辅助测试模块网口IP的ARP请求包,并等待辅助测试模块发送的ARP返回包,判断在限定的超时时间内是否接收到正确的ARP返回包。
2.3 SDRAM测试
SDRAM[9]常见的故障[10]通常有以下几种:固定开路故障(Stuck open fault)、状态转换故障(Transition fault)、数据保持故障(Data maintaining fault)、状态耦合故障(Coup-
lingfault)。目前对于SDRAM的测试大多采用March-C算法[11],这种方法对以上故障具有很高的故障覆盖率[12],本文就采用这种方法。值得注意的是,由于测试程序也运行在SDRAM上,所以SDRAM测试起始地址预留1 M空间。
2.4 Flash测试
Flash测试[13]分两步来执行,首先将Flash全擦除,往Flash的每一个地址空间写数据,然后再读出来与写入的数据比较,看是否相同。如果测试地址空间的数据读写都正确,则测试通过。
2.5 LED灯测试
LED灯亮灭由相应GPIO口控制,测试时将相应GPIO口都配置为输出,采用流水亮灭的形式来进行测试,最终点亮所有灯,观察灯是否全亮。
2.6 拨码测试
拨码数据通过GPIO口来采集,相应的GPIO配置为输入,通过拨动硬件拨码来改变采集到的数据,然后通过通信口将数据发送到上位机,比对采集到的数据与硬件拨码当前的码值是否相同。
2.7 RTC时钟测试
RTC时钟芯片通过I2C总线来连接,首先需要初始化I2C相关寄存器,正确设置时钟分频值。然后给时钟芯片设置一个时间,设置完成后芯片自动运行,同时开启定时器,定时10 s后,再从时钟芯片中读取时间,查看读取的时间是否比设置时间多10 s,以此判断芯片走时是否正确。
2.8 ComX测试
Ethercat主站采用赫优讯工业以太网模块ComX 100CN-RE,并下装Ethercat Master主栈固件,将ComX 100CN-RE模块与CPU相连,实现Ethercat主站功能主任务。由于ComX模块中DPM结构由模块自己的操作系统RCX控制,上电后自动维护,所以测试过程主要是通过读取DPM中固定地址的一些常量值来验证。
2.9 MAC_EEPROM测试
MAC_EEPROM测试首先需要初始化MAC控制器芯片,然后在EEPROM固定地址空间写入一个MAC地址值,然后再读出来,如果相同则测试通过。
2.10 DI通道测试
DI通道数据采集通过GPIO口控制,开始测试前,给每通道(DI0~DI7)输入不同的高低电平,GPIO口采集到相应的数据后通过通信口将数据发送到上位机,比对采集到的数据与实际各通道输入的电平高低是否吻合。
2.11 DO通道测试
DO通道数据输出通过GPIO口控制,开始测试后,上位机往下位机发送一个输出值,下位机控制相应GPIO口控制各通道(DO0~DO7)输出,然后观察DO通道电平指示灯,比对数据与各通道测量值是否吻合。
2.12 A/D模数转换测试
使用辅助测试模块的高精度AI/AO检测模块,对4路通道分别输入4~20 mA恒定电流,A/D芯片采集到相应数据后进行转换,然后将转换数据通过串口发送给下位机,下位机计算采集误差在±0.3%内则测试通过。
2.13 D/A数模转换测试
通过上位机设定4路通道对外输出的电流值(4~20 mA),然后转换为相应的数字量数据并发送到下位机,下位机使用这个数据来设置D/A芯片,然后使用辅助测试模块的高精度AI/AO检测模块测量每路信号输出的电流值,通过串口返回给下位机,判断是否符合要求,误差在±0.1%内。
3 基于Qt的PLC板级工装测试软件实现
以CPU模块为例介绍板级工装测试软件的测试过程,图4是CPU模块的测试连接关系示意图。
按图4所示连接搭建好测试环境后,从上位机上打开板级工装测试软件.exe程序。按照流程图3进行测试,得到如图5的测试结果画面。其中,绿色(图5中灰色圆形区域)表示测试通过,红色(图5测试全部通过,无红色显示)表示测试不通过。
4 结语
本文通过对PLC电路板上各器件的测试方法进行研究,并依据选取的测试方法设计了一种基于Qt的跨平台板级工装测试软件。经过实际验证,使用该软件对PLC电路板进行测试,测试覆盖率较高、测试时间短、故障定位准确率高。并且该软件相对以往的测试工装操作更加简单方便,生产人员只要经过简单培训,就可以熟练使用本软件,无需专业技术人员帮助就可以完成测试工作。本设计为开发电路板的工装测试软件提供了参考,可广泛用于电路板工装测试检验环节,对于提高产品质量与测试效率、节约人力物力成本具有很大促进作用。
参考文献
[1] 尤东妹,徐静.基于自动测试系统的数字电路板测试与故障诊断[J].SILICON VALLEY,2013(5):91-92.
[2] 刘杰,崔成旺.印刷电路板的功能检测[J].煤炭技术,2012(4):76-77.
[3] 朱振军,林明,宋月丽.基于边界扫描技术的板级测试分析[J].电子设计工程,2012,20(9):127-129.
[4] 霍晓磊,康霞,谭业双.电路板自动测试技术研究[J].测试技术学报,2013,27(5):411-414.
[5] 徐健茹.电路板通用自动测试系统设计与技术研究[D].西安:西北工业大学,2001.
[6] 王晓亮,谢朝辉,杨红官.基于LabVIEW和FPGA的存储器测试系统设计[J],计算机测量与控制,2012,20(7):33-35.
[7] 王秀霞,冉黎林,郭磊.基于故障诊断技术的电路板测试设备设计[J].计算机工程与应用,2015,51:295-299.
[8] 孙秀江.PCBA故障诊断系统的研究与开发[D].哈尔滨:哈尔滨工业大学,2006.
[9] 赵雪莲,杨新涛.SDRAM的测试方法研究与实现[J].国外电子测量技术,2008,27(5):12-15.
[10] 雷静.存储器测试方法的研究与测试程序的实现[D].成都:电子科技大学.2009.
[11] 于文考,高成,张栋.基于March-C算法的单片机存储器测试[J].现代电子技术,2010(6):19-21.
[12] 杜康保,王烈洋,魏爱香.基于SOPC的SDRAM测试技术研究[J].电子科技,2014(24):6-8.
[13] 柳玉波.SoC嵌入式Flash的内建自测试方法的研究与实现[D].成都:电子科技大学,2010.
Qt环境下基于研控MCN420电子伺服压力机控制系统开发与应用
电子伺服压力机因其高精度、高响应的优势逐渐取代传统的液压、伺服液压等设备而被广泛应用于电机轴承、汽车零部件、3C等行业产品装配以及产品铆压成型。相对传统的PLC方案,研控MCN420运动控制器针对装配行业的应用增加了位置全闭环控制和压力全闭环控制,有效的提高了伺服压力机整体的位置精度和压力精度,减少因机器变形和产品毛坯尺寸造成的产品不良率。高速的数据采集功能给产品分析提供了更为精确的筛选数据,从而能更有效的分析产品特性,提高产品工艺要求。此系统提供了界面逻辑编程,用户可根据实际工艺需求,配合本地IO接口或者扩展IO模块与外部设备进行信号交互。
0 引言
随着工业4.0的发展,目前国内市场在装配、铆压成型等应用上对产品的精度以及数据采集、分析存储功能需求的不断提升。传统的伺服液压,以及基于PLC的电子伺服压力机控制方案在很大程度上已经满足不了。国外电子伺服压力机如:德国的Kistler、Promess,日本的Janome、DDK,韩国的C&M等都先后推出了与电缸一体的电子伺服压力机系统方案,但在消除机器变形,以及数据分析上并未做更深的研究,对于客户要求定制化的曲线分析功能,以及复杂的外设逻辑处理灵活性也不够强。
伺服压力机控制系统是整个压力机的核心。系统基于Qt+研控MCN420控制器,在Windows系统上通过总线通讯调用MCN420的运动函数动态库,实现了数据采集、运动逻辑可编程、以及强大的曲线数据分析,和定制化的质量检测等功能。
1 系统硬件方案
系统的硬件如图1:主要包括:工业平板电脑、运动控制器、伺服驱动器、电机、电缸、光栅尺、压力传感器、扩展IO模块。MCN420与伺服驱动器的连接,对驱动器输入模拟信号,通过光栅尺或者压力传感器的反馈实现位置闭环控制,重复精度为0.01mm或者压力闭环控制,重复精度小于等于±1%。位置重复精度过大由于机器在承载受力情况下的机身背板变形引起,位置控制来源光栅尺可以减小机器变形带来的误差。在铆压成型工艺中对于毛坯尺寸不一的产品,高精度的压力闭环模式能解决因尺寸不一样带来的压力过冲问题。
2 运动控制
2.1 系统框架设计 系统是整个压力机的控制核心,主要功能如图2,包含运动逻辑程序编写及编译,曲线显示、质量检测、过程数据存储和分析以及IO监测、文件管理等功能。实现了用户在Ui界面运动逻辑、IO逻辑可编程。利用底层高速的数据采集,可针对特殊材料的特性进行准确分析和精准的质量判定。增加了除普通点检测功能外的窗口判定、拐点判定,以及其他特殊点的判定方式。通过Posgresql数据库存储的大量数据,初步实现生产数据的统计以及查询范围内的趋势显示等功能。2.2 运动程序设计
控制系统的运动控制模块主要包含了程序命令的编写、语法检测、转换。为了减少程序编写的错误,在UI界面采用类似的MOVEP,MOVEL,MOVEF等指令。在软件设计时,利用虚函数的多态性将接口与实现分离,用一个CMotionControl的类包含所有基本的运动控制的函数,然后创建一个继承于该类的 CYanKoMotion类实现具体的运动控制,然后在CYanKoMotion类中实现轴的各种控制模式的运动以及运动状态的获取。代码如下图:
在程序完成编辑,语法检测无误后,将所有程序指令中包含数据进行转换。运动程序启动循环到相应的行号时传入AxisMotion中,通过运动函数写入控制器并启动运动。在MotionMonitor中监控IO变化状态或者用于其他逻辑判断变量的变化。一个基本的压装程序可以做如下编写:
MOVEP X100.00 Vel= 100;//快进
MOVEP X120.00 Vel=20;//探测
MOVEF X50.00 Vel= 10;//压装
MOVEP X10.00 Vel= 100;//回退
2.3 数据分析及质量检测 2.3.1 数据分析 对存储的数据进行分析提取材料特性,从而设置合理的检测参数,结合外部的其他检测设备组成生产、检测一体的全自动化流水线是将来伺服压力机发展的主要趋势。目前在系统中对终止压力、终止位置、接触位置、最大压力、合格率、生产计数进行了统计。如下生产统计图,数据分析图之数据统计分析。
从存储在数据库中的数据可以对任意10条曲线进行分析对比,如下曲线对比图。
2.3.2 质量分析 压力机目前常用的检测方法有点检测、区域检测、窗口检测。基本能满足大部分的产品检测需求。在针对部分汽车零部件产品要求找到应力突变点,或者更为精确的接触产品表面位置等,通过这些特性来判定产品是否合格。控制器底层将接触表面位置锁存,锁存周期误差在1ms以内。通过1ms采集周期的数据在应用层经过算法计算找到力突变的拐点,如拐点查询示意图,图中加粗的点为计算拐点。
3 结束语
本文研究了在Qt平台上基于IPC + 研控MCN420运动控制器在电子伺服压力机上的应用。通过上位机系统的操作实现了压力机主轴的基本工艺运动动作、曲线分析、数据存储、质量检测等功能。通过在汽车零部件、电机等行业的实际工业现场应用,证明位置重复精度和压力重复精度、产品检测合格率等指标能满足大部分的客户需求。
本文作者:深圳市研控自动化科技有限公司李工
- End -
两会在即,各路“掌门人”如何看制造转型?
中国设备安全市场,你还好吗?
比亚迪的伤,是“标准”的痛
相关问答
PLC电路上HG表示什么?
Q——电路的开关器件FU——熔断器KM——接触器KA——1、瞬时接触继电器2、瞬时有或无继电器3、交流继电器KT——延时有或无继电器SB——按钮开关KA一般...
重庆PLC编程培训机构哪家好?跪求回答
[回答]我是18年在重庆PLC培训中心学习的,他们是以实操为主的,对于我这个基础不扎实、实操的大学生来说,感觉老师说的一些知识我都没怎么听过,当然是我太菜...
未知物质的液相质谱分析-盖德问答-化工人互助问答社区
我最近也在做产物的分析,所用的仪器是UPLC-QTOF/MS(超快速液相色谱/高分辨质谱联用),离子源是EIS负离子源(原物质的分子质量=测出的质荷比+1)。你的...
三菱PLC的cpu存储空间大小怎么看的,如Q12H的存储空间为124K...
既可以看PLC的硬件手册,也可以用三菱的编程软件,从参数---PLC参数---内存容量里面查看。有用(0)回复b_yl在CPU参数里面,控制面板找到有用(0)回复157036...
在座的朋友可以推荐一下,顺德性价比高的PLC编程公司,PLC编...
[回答]中山宇丰工业自动化成立于2001年,位于广东省中山市汽车总站后侧。宇丰通过轨迹转化成切割,画图、点胶、打孔等功能。宇丰传统人工检测,从工作效率的...
QT10型砖机和QT12型砖机有什么差别?
以泉工机械的QT10型和QT12型设备来说,核心的东西差别是不大的,都有带面料系统,也都有配置带有西门子PLC和触摸屏的控制台,在电机功率和激振力上,QT12型的参...
waters液质联用测定片剂中杂质问题-盖德问答-化工人互助问答社区
谢谢你的建议。我还有个疑问,就是我这个制剂做原料药的时候测试这个杂质含量只有0.2ppm左右,但是我现在做这个制剂,有时候测出来杂质含量偏大很多,...
如何给gxworks2做上位机?
要将GXWorks2用作上位机,您可以按照以下步骤进行操作:1.准备通信模块:首先,您需要准备一个适用于您的PLC的通信模块。通信模块将允许GXWorks2与PLC进行通...
参加plc培训,学期内学不会怎么办?
[回答]南京的工控无忧,只要你不放弃,他们都会坚持,直到你真正掌握!一年内还可免费复学!工控无忧,采用小班互动教学,一人一机,理论知识案例分析项目实战...
三菱A950GOT-LBD-M3plc与hmi值得买吗
[回答]尺寸大小:6英寸。分辨率:320×240点。显示设备:STN单色显示屏。显示颜色:单色(白色和黑色)。电源:DC24V。内置RS-422通讯接口内存卡:3Mplc与hmi。有...