文章快速检索     高级检索
  重庆大学学报  2020, Vol. 43 Issue (10): 12-19  DOI: 10.11835/j.issn.1000-582X.2020.10.108 RIS(文献管理工具)
0

引用本文 

周炀挺, 王时龙, 周杰, 杨波. 生产者/消费者模式在剪切机检测系统中的应用[J]. 重庆大学学报, 2020, 43(10): 12-19. DOI: 10.11835/j.issn.1000-582X.2020.10.108.
ZHOU Yangting, WANG Shilong, ZHOU Jie, YANG Bo. Application of producer/consumer mode to shearing machine detection system[J]. Journal of Chongqing University, 2020, 43(10): 12-19. DOI: 10.11835/j.issn.1000-582X.2020.10.108.

基金项目

国家自然科学基金资助项目(51605057);中央高校基本科研业务费(2018CDQYJX0013)

通信作者

王时龙,男,博士,教授,主要从事计算机集成制造研究,(E-mail) SLWANG@cqu.edu.cn

作者简介

周炀挺(1994—),男,硕士研究生,主要研究方向为信号检测与处理和机械机构设计,(E-mail)zhouyangting61@163.com

文章历史

收稿日期: 2019-04-24
生产者/消费者模式在剪切机检测系统中的应用
周炀挺 , 王时龙 , 周杰 , 杨波     
重庆大学 机械传动国家重点实验室, 重庆 400044
摘要: 现有剪切机检测系统主要采用主/从设计模式,其检测的参数多、数据量大、检测过程复杂,要求同时采集视频信号和物理信号,存在数据丢失和视频失真现象以及数据采集速度逐渐变慢等问题。为此提出LabVIEW生产者/消费者设计模式的改进方案,将物理信号和视频信号分开采集,分别采用两个循环来完成数据采集和数据分析,利用队列的方式来连接两个循环,实现各个循环的有效组合。经试验验证,改进设计大幅度提高了数据采集和分析速率,降低了各个信号之间的耦合性,对避免数据丢失和失真现象有很明显的效果,值得在机械、电气、能源等行业的各种试验检测系统中运用推广。
关键词: LabVIEW    生产者/消费者模式    数据采集    数据分析    
Application of producer/consumer mode to shearing machine detection system
ZHOU Yangting , WANG Shilong , ZHOU Jie , YANG Bo     
State Key Laboratory of Mechanical Transmissions, Chongqing University, Chongqing 400044, P. R. China
Abstract: The existing shearing machine detection system mostly adopts the master/slave design mode, which involves many parameters to be detected, a large amount of data, and a complicated detection process, and it requires simultaneous acquisition of video signals and physical signals. Moreover, the system has data loss and video distortion, and the data collection speed becomes slower over time. To solve the above problems, a LabVIEW producer/consumer design mode improvement scheme was proposed. The physical signal and the video signal were separately collected, and the data acquisition and data analysis were respectively performed in two cycles, and the two loops were connected by means of a queue to realize an effective combination of each cycle. It has been verified by experiments that the improved design greatly improves the data acquisition and analysis speed, reduces the coupling between the signals, and is obviously effective in avoiding data loss and distortion. So it is worthy of application and promotion in various inspection systems of the mechanical, electrical, energy and other industries.
Keywords: LabVIEW    producer/consumer mode    data acquisition    data analysis    

LabVIEW是美国国家仪器公司National Instruments(NI)公司推出的一种图形化编程语言,作为一种虚拟仪器开发软件,其最大的优势在于开发检测系统并且可以和多种主流的工业现场总线进行通信[1-2],因而成为了当前信号检测领域的重要开发语言。目前,主/从设计模式主要用于多任务同步运行的检测系统[3-4],但是它不适用于检测参数多、视频和力信号时域相对应的检测系统中,LabVIEW也没有专用模块可以实现视频与力信号时域相对应。因此,亟需开发一种采集速率快且视频与力信号时域相对应的检测系统。

生产者/消费者设计模式是NI公司最新推出的一种程序设计理念,它是主/从结构的特定情况,允许以不同速率执行多个循环之间的数据共享。该体系结构有2个并行循环,第1个循环产生数据,第2个循环消耗数据[5-6],可应用于剪切机检测系统,解决程序运行周期长、执行效率低等问题。张宇等[7]在D-dot场式电压传感器试验系统中采用LabVIEW技术实现了信号接收、数据处理与分析等功能。试验结果表明该系统不仅实时性好、失真度小、带宽测量范围较大,而且大大降低了系统结构设计时的传感器成本,较传统的电压测量设备具有更好的实用性,但其并未采集视频信号,实时采集的数据量比较小。王晓等[8]在换热器的性能测试中用LabVIEW实现了温度、压力和流量等试验参数的实时采集,但其没有实现采集分析一体化。Mahmoodi等[9]通过LabVIEW处理和分析了微模型中流体-流体位移现象的图像数据,并将其与真实值作比较,但没有将图像数据进行自动保存和提取,特别是在试验数据很大的条件下。王健等[10]采用生产者/消费者模式构建了钢轨廓形采集系统,使各模块间的数据传递更加简单明了,但其只有一个生产者和消费者,还是不能完全实现短时间内较大数据量的采集和分析。Aydin等[11]使用LabVIEW来采集和监测用于放射治疗患者的辐射剂量,更好地控制了辐射剂量的校准过程,并且减少了人为干预,但主要针对校准过程,没有提到视频和其他信号的时域对应关系。石慧新等[12]通过LabVIEW生产者/消费者设计模式实现了多个生产者对应一个消费者,可以避免数据丢失和视频失真现象的发生,但是一个消费者需要分析多个生产者就降低了采集和分析速率。姜建国等[13]使用LabVIEW对潜油电泵电压、电流参数进行采集,通过软件分析处理得到功率参数,并通过试验验证了系统的准确性,但采用的是主/从设计模式,比较适用于只有力参数、电参数等信号采集的情况。综上所述,现有研究多集中针对主/从设计模式的检测系统,而针对生产者/消费者设计模式和视频与力信号时域相对应的相关研究较少;而且在试验数据储存方面大都采用TDM(technical data management)直接储存,没有考虑试验数据的再次提取分析。

为此,笔者在剪切机检测系统中基于生产者/消费者设计模式研究了一种采集和分析速率快且稳定的通用方法,利用队列先进先出和后进后出的特点,实现了视频与力信号等参数的时域对应,采用二进制文件TDMS(technical data management streaming), 方便了数据的储存和提取,为剪切机结构的优化设计提供了理论依据。

1 剪切机检测试验系统 1.1 检测试验系统

在剪切试验中,剪切机剪切的是一种非均质复合棒型组件,剪切过程中必然会涉及各种力的作用。为了优化剪切机结构和延长刀具寿命,对剪切过程中的异常和力变化进行实时监测有十分必要的作用。因此试验需要记录下每一次的整个剪切过程,并且需要处理的数据量也越来越大。为了达到提高系统执行效率的目的,基于生产者/消费者设计模式进行了程序设计。在此模式中,生产者和消费者被缓冲区分隔开,极大地提高了数据共享能力和处理任务的实时性、连续性[14]

1.2 生产者/消费者设计模式

基于主/从设计模式的剪切机检测系统将采集得到的剪切力、压紧力和视频等信号进行耦合分析,存在数据间耦合性强、变量之间存在竞争和系统运行缓慢等问题[14],而通过使用生产者/消费者设计模式可以很好地解决这些问题。

首先,通过加入缓冲区可以将生产者和消费者进行解耦(见图 1)。之前的设计模式中生产者与消费者之间存在很强的依赖性,一旦消费者的某个代码发生变化,就有可能对生产者的运行造成影响。而在生产者/消费者设计模式中的队列加入了缓冲区,生产者和消费者之间靠缓冲区来联系,也就降低了两者之间的耦合性。

图 1 生产者/消费者模式简要示意图 Fig. 1 Brief diagram of the producer/consumer model

其次,剪切机检测系统需要同步采集力信号和现场视频。之前的设计模式中为了视频中的剪切过程和各个力信号相对应,采用了同步触发模式,其弊端在于如果消费者没有处理完数据,生产者就必须先等着消费者,这样就会影响整个检测效率。而在生产者/消费者模式中,两者通过缓冲区分别独立开来,生产者只需要将数据传入缓冲区就可以继续采集数据,消费者从缓冲区取出数据进行处理,保证了程序执行任务的高效性和连续性[15-16]。而由于队列的存在,数据都是先进先出、后进后出,也就保证了剪切过程视频与力信号之间的一一对应。

2 硬件构成

本检测试验系统以美国国家仪器公司的LabVEIW为软件平台,结合NI公司的PXI控制器、PXI机箱、PXI模拟量输入模块、PXI帧接收器模块、PXI数字I/O模块、计算机和数据采集卡作为虚拟仪器的硬件系统设计。检测系统控制器及采集模块安装完成后如图 2所示。其中PXI控制器为NI公司推出的PXIe-8840控制器,该控制器具有2.7 GHz基频、3.3 GHz双核处理器和单通道1600 MHz DDR3内存,特别适合用于处理密集型模块化仪器和数据采集。机箱为PXIe-1082机箱,有4个PXIe混合插槽、3个PXIe插槽和1个PXIe系统定时插槽,具有高宽带背板,可满足高质量、广范围的测试测量需要。模拟量输入模块型号为PXIe-4300,规格为8路的模拟输入通道数量、16位分辨率、2.50×105s-1采样频率,可以满足更高的精度和同步采样功能,适用于可扩展测量系统。帧接收器模块型号为PXIe-1435,它是一款Camera Link图像采集设备,可以与任何基本配置、中等配置和完全配置的Camera Link相机配合使用,是剪切机成像应用的理想选择。数字I/O模块为8通道输入、8通道输出的PXI-6521数字I/O模块,它是一款工业数字I/O模块,有8个150 V(AC/DC)继电输出,最大开关功率为60 W,有8个±30 V(DC)数字输入,60 V通道间隔离,工业标准的24 V逻辑电平。它还配有看门狗定时器,用于各种计算机和应用程序错误的检测和复原,体现了更好的可靠性。另外,PXI-6521可以配合NI-DAQmx驱动程序使用,以提高开发效率和节省开发时间。

图 2 检测系统外观 Fig. 2 Detecting system appearance

此检测系统能实现各个采集信号的实时显示,可以在计算机上随时开停和调节设备,极大地方便了人工干预,减轻了试验工作者的劳动量,提高了试验效率。另外,在剪切机试验系统中,需要采集并分析处理的试验数据很多,采集到的数据需要相互对比分析。利用此检测系统可实现试验数据从采集、分析到存储的整个过程的检测,实现了处理任务的连续性,简化了设备,极大地降低了成本。

3 剪切机检测系统软件设计 3.1 生产者/消费者模式在剪切机检测系统的实现

检测系统在主/从设计模式的基础上采用生产者/消费者设计模式对程序进行了改进(见图 3)。在循环开始之前,采用“创建所有消息队列”函数创建应用程序所需的所有消息队列,生产者循环采用“消息入队”函数将消息依次加入队列,消费者循环采用“消息出队”函数从消息队列中取出消息。生产者循环和消费者循环分别为两个并行的while循环,其中生产者循环使用了事件结构,通过前面板布尔值的变化,与之相对应的事件结构通过“消息入队”函数进入队列中。消费者循环使用的是条件结构,通过“消息出队”函数依次从队列中获取相应事件,然后利用条件结构选取相对应的分支。在循环的末端为“销毁用户事件”停止函数,用于销毁事件。由此可见,消费者循环和生产者循环必须通过队列这个缓冲区才能产生联系,保证了消费者循环的准确性和连续性。

图 3 生产者/消费者模式结构程序框图 Fig. 3 Producer/consumer model structure

生产者/消费者循环可以是一个或者多个循环,其中一个循环作为采集数据的循环,另外一个循环作为数据分析、显示和存储的循环,将数据采集和数据分析放在一个程序中,并且加入了数据储存模块,进一步提高了检测系统的运行效率。

3.2 数据采集模块

软件设计要求数据采集快速、准确,各个信号之间同步性好,人机界面友好、操作简单、总体协调。数据采集软件流程如图 4所示。

图 4 数据采集模块流程图 Fig. 4 Data acquisition module flow chart

在组件剪切过程中,需要对切断过程进行视频记录,并采集、处理、显示所需信号。本系统利用PXIe-4300采集卡的同步触发方式启动任务,保证数据通道、视频通道和应变通道3个采集系统任务同步进行。同步触发模式是一种可以控制多个并行任务同步进行的设计模式,用在此采集系统中能保证3个采集任务同步启动和同步传输,从而实现传输数据的时域对应性。

此程序将切断组件的压紧力、剪切力、剪切速度等信号分别以数字的形式显示,并且分别用不同颜色显示在一个波形图中以方便对比分析,通过消费者中TDMS的方式同时保存3组数据信息,从而实现试验数据的时域对应性,也可避免保存过多无用的数据。

3.3 数据分析模块

数据分析模块的作用在于将采集所得到的剪切视频、剪切力和压紧力等进行回放分析,同时保证视频信号和物理信号的相互对应,以便于随时重复地定位到任何时间点对视频信号和各个力信号进行分析。如图 5所示,可以通过移动波形图中X光标的位置,使程序显示与之对应的视频信号和力信号,为某一时刻压紧力和剪切力的分析提供了极大的便利,也为刀具和剪切机结构优化提供了十分有效的试验数据。

图 5 分析模块前面板 Fig. 5 Front panel of analysis module
3.4 试验数据保存和回放

检测系统需要采集的数据较多且需要进行大量的剪切试验,试验数据量大,试验周期也较长。为了方便快捷地存储和查看这些试验数据,剪切机检测系统采用了NI公司开发的二进制TDMS文件[17],这类文件具有读写数据快、占用存储空间小、能够在Excel的加载选项中打开等优点,很适合试验数据量大、试验周期长的系统的存储要求[18]

在剪切机检测系统的生产者/消费者设计模式中,数据存储是放在消费者队列中的。采集到的试验数据通过“消息入队”函数进入队列中,存储数据通过“消息出队”函数从队列中获取试验数据,然后通过TDMS方式进行储存。根据在前面板中设置的文件保存路径,使用“TNDM(technical next data management)文件读取”函数读取文件,可以进行数据回放,并且可以根据保存数据的时间来查看具体的试验数据。

4 试验验证 4.1 数据丢失和视频失真

在剪切试验中,同时使用主/从设计模式和生产者/消费者设计模式两个程序来采集、存储、回放和分析试验数据。对两者采集到的数据分别进行试验数据分析如图 6

图 6 改进前后试验数据曲线对比 Fig. 6 Comparison of test data curves before and after improvement

从图中对比可以看出红圈位置同一个力信号的波形图形状和幅值不一致,采用主/从设计模式程序采集的力信号波形有部分丢失,即存在试验数据丢失现象,而生产者/消费者设计模式程序采集到的试验数据无丢失。

在相同条件下对比主/从设计模式和生产者/消费者设计模式程序采集到的试验数据文件大小,如图 7图 8所示。从图 7看出:主/从设计模式程序采集到的数据txt文件绝大部分小于生产者/消费者设计模式程序所采集到txt文件,平均丢失率约为3.08%。从图 8看出:主/从设计模式采集到的视频文件更小,平均丢失率约为18.84%。因此得出以下结论:单位时间内需要采集的数据越多,主/从设计模式越容易丢失数据,且丢失的数据也更多;而生产者/消费者设计模式并未出现数据丢失现象,极大地改善了数据丢失现象,也很好地保证了试验数据的可靠性。

图 7 改进前后数据txt文件大小对比 Fig. 7 Comparison of data txt file size
图 8 改进前后视频文件大小对比 Fig. 8 Comparison of video size
4.2 数据采集速率降低

使用主/从设计模式程序以1秒100组数据的速率,采集并保存试验过程中的20组数据,在程序运行一段时间后,数据采集和保存速率逐渐降低,如图 9所示。图中横坐标为均匀分布的数据点数,可以看出后期的一个运行周期内采集所得数据点数逐渐减少。随着程序采集数据时间越来越长,系统资源占用越来越大,数据采集速率逐渐降低。

图 9 主/从设计模式数据采集速率逐渐降低 Fig. 9 Master/slave design mode data acquisition rate is gradually reduced

对比生产者/消费者设计模式程序在相同的条件下采集的数据曲线如图 10所示。采集所得数据图形大小并未随着数据采集的进行而变窄。因此,改进后的检测系统很好地解决了数据采集速度逐渐变慢问题。

图 10 生产者/消费者模式数据采集速率稳定无变化 Fig. 10 Producer/consumer model data acquisition rate is stable and unchanged
5 结论

1) 采用LabVIEW生产者/消费者设计模式对剪切机检测系统进行改进设计,完善了剪切机检测系统,简化了操作,增强了试验系统的稳定性,减少了试验数据采集、分析的时间和成本, 实现了视频与力信号的时域对应性,极大地提高了检测系统的执行效率,对剪切机结构的优化设计和刀具磨损检测具有重要意义。

2) 储存数据采用了NI公司开发的二进制文件TDMS,以其快速、方便、储存量大等优势,为以后数据的提取对比分析提供了很大的便利。

3) 试验结果表明在此检测系统中,生产者/消费者设计模式比主/从设计模式数据丢失率减少了约20%,避免了数据采集速率减小现象的发生,更好地保证了试验数据的准确性。

参考文献
[1]
Yu Z H, Lu Y P.Design and data processing of AD acquisition program based on LabVIEW: motor speed detection as an example [C]//2018 International Conference on Education, Management and Social Science (EMSS 2018). DEStech Publications, Ins., 2018: 263-267.
[2]
Shi C, Zhang J L, Teng G H. Mobile measuring system based on LabVIEW for pig body components estimation in a large-scale farm[J]. Computers and Electronics in Agriculture, 2019, 156: 399-405. DOI:10.1016/j.compag.2018.11.042
[3]
Oh K, Christenson M P. Design of an automated particle detection system for Rutherford backscattering (RBS) using LabVIEW[J]. Instrumentation Science & Technology, 2019, 47(3): 312-324.
[4]
Khetarpal P, Sudha K, Kumar N, et al. LabVIEW based application software for GPS radiosonde system[J]. Journal of Information and Optimization Sciences, 2019, 40(2): 413-426. DOI:10.1080/02522667.2019.1580882
[5]
Gao C L, Zhu J L, Zhang L S. Design of monitoring system based on LabVIEW producer/consumer model[C]//Proceedings of the 2018 3rd International Conference on Electrical, Automation and Mechanical Engineering (EAME 2018), June 24-25, 2018, Xi'an, China. Paris: Atlantis Press, 2018: 4.
[6]
Anjos J M S, Coracini G K, Villani E. A proposal and verification of a software architecture based on LabVIEW for a multifunctional robotic end-effector[J]. Advances in Engineering Software, 2013, 55: 32-44. DOI:10.1016/j.advengsoft.2012.09.004
[7]
张宇, 汪金刚, 王永华, 等. D-dot场式电压传感器试验系统[J]. 重庆大学学报, 2017, 40(8): 63-69.
ZHANG Yu, WANG Jingang, WANG Yonghua, et al. Simulation system of field voltage sensor based on the D-dot sensor[J]. Journal of Chongqing University, 2017, 40(8): 63-69. (in Chinese)
[8]
王晓, 张宝怀. 基于LabVIEW的换热器性能试验装置测控系统的开发[J]. 机械工程学报, 2009, 45(4): 309-312.
WANG Xiao, ZHANG Baohuai. Development of the measuring and controlling system of heat exchanger performance testing equipment based on LabVIEW[J]. Journal of Mechanical Engineering, 2009, 45(4): 309-312. (in Chinese)
[9]
Mahmoodi M, James L A, Johansen T. Automated advanced image processing for micromodel flow experiments; an application using LabVIEW[J]. Journal of Petroleum Science and Engineering, 2018, 167: 829-843. DOI:10.1016/j.petrol.2018.02.031
[10]
王健, 胥燕军, 王伟平, 等. 基于生产者/消费者模式的钢轨廓形采集系统[J]. 中国铁路, 2014(3): 74-76.
WANG Jian, XU Yanjun, WANG Weiping, et al. Rail profile acquisition system based on producer/consumer model[J]. Chinese Railways, 2014(3): 74-76. (in Chinese)
[11]
Aydin S, Kam E. Developing of an automation for therapy dosimetry systems by using LabVIEW software[J]. Results in Physics, 2018, 9: 1007-1015. DOI:10.1016/j.rinp.2018.03.028
[12]
石慧新.基于Labview的振动信号处理分析软件与应用研究[D].辽宁大连: 大连理工大学, 2015.
SHI Huixin. The research and application of vibration signal processing and analysis software based on Labview. Dalian, Liaoning: Dalian University of Technology, 2015. (in Chinese)
[13]
姜建国, 田金艳. 基于LabVIEW的潜油电泵数据采集系统[J]. 重庆大学学报, 2015, 38(4): 75-79.
JIANG Jianguo, TIAN Jinyan. A data acquisition system for electric submersible pump based on LabVIEW[J]. Journal of Chongqing University, 2015, 38(4): 75-79. (in Chinese)
[14]
任瑞冬, 陈钊. 基于LabVIEW的发动机叶尖间隙采集软件设计[J]. 电子测量技术, 2014, 37(6): 77-81.
REN Ruidong, CHEN Zhao. Design of dynamic aero-engine tip clearance data acquisition system based on LabVIEW[J]. Electronic Measurement Technology, 2014, 37(6): 77-81. (in Chinese)
[15]
Zhiyu S. Realization of the motor data acquisition and analyzation system based on the producer/consumer model of LabVIEW[C]//IEEE Advanced Information Management Communicates Electronic and Automation Control Conference 2016. IEEE, 2016: 330-334.
[16]
刘素贞, 吴延俊, 张闯, 等. 基于生产者/消费者设计模式的应力波信息采集系统的设计[J]. 计算机测量与控制, 2016, 24(9): 198-202.
LIU Suzhen, WU Yanjun, ZHANG Chuang, et al. Design of stress wave information acquisition system based on producer/consumer design pattern[J]. Computer Measurement & Control, 2016, 24(9): 198-202. (in Chinese)
[17]
Hjertaker B T, Maad R, Schuster E, et al. A data acquisition and control system for high-speed gamma-ray tomography[J]. Measurement Science and Technology, 2008, 19(9): 094012. DOI:10.1088/0957-0233/19/9/094012
[18]
李俊娇, 朱磊, 张晓丹, 等. 基于LabVIEW的采集数据快速文件存储方法[J]. 西安工程大学学报, 2018, 32(3): 311-315, 323.
LI Junjiao, ZHU Lei, ZHANG Xiaodan, et al. Fast file storage method for data acquisition based on LabVIEW[J]. Journal of Xi'an Polytechnic University, 2018, 32(3): 311-315, 323. (in Chinese)
图 1 生产者/消费者模式简要示意图 Fig. 1 Brief diagram of the producer/consumer model
图 2 检测系统外观 Fig. 2 Detecting system appearance
图 3 生产者/消费者模式结构程序框图 Fig. 3 Producer/consumer model structure
图 4 数据采集模块流程图 Fig. 4 Data acquisition module flow chart
图 5 分析模块前面板 Fig. 5 Front panel of analysis module
图 6 改进前后试验数据曲线对比 Fig. 6 Comparison of test data curves before and after improvement
图 7 改进前后数据txt文件大小对比 Fig. 7 Comparison of data txt file size
图 8 改进前后视频文件大小对比 Fig. 8 Comparison of video size
图 9 主/从设计模式数据采集速率逐渐降低 Fig. 9 Master/slave design mode data acquisition rate is gradually reduced
图 10 生产者/消费者模式数据采集速率稳定无变化 Fig. 10 Producer/consumer model data acquisition rate is stable and unchanged
生产者/消费者模式在剪切机检测系统中的应用
周炀挺 , 王时龙 , 周杰 , 杨波