周 杰,张 川,王时龙,易力力
(重庆大学 机械传动国家重点实验室,重庆 400044)
某非均质复合棒形组件由外套钢管、芯管和芯管内的混凝土等非金属芯块构成,如图1所示。棒形组件剪切试验机采用先压后剪的方式对此棒形组件进行剪切。在此过程中,需记录下棒形组件的剪切截面受到挤压、变形、断裂的连续变化,并结合剪切截面受到的压紧力和剪切力分析在整个剪切过程中棒形组件截面的变形规律,寻找到使组件变形小、粉尘泄漏量小、刀具寿命长的刀具几何参数和剪切力、压紧力等基础参数。根据这些参数可对剪切机进行结构优化,提高整机材料利用率、实现设备的轻量化,从而提高经济性。当前国内检测系统已能实现多种物理信号的实时同步采集与处理[1]。但用于此剪切机仍不能直观反映出整个剪切过程中棒形组件截面的变化规律,因此必须在采集物理信号的同时通过视频信号对组件截面的变化进行实时采集、存储,并保留视频与其它信号的时域对应关系,以便于信号的后期处理。国外少数检测系统能实现此目标,如某公司开发的QuantumX等测量系统,但其在国内暂不通用,并且用户不易根据需求快速扩展功能。因此,亟需开发一种通用性强、功能扩展性好的视频与多种物理信号采集与耦合分析程序。
图1 棒形组件截面示意图Fig.1 Cross Sectional Sketch of the Bar Component
目前,虚拟仪器开发工具有C#、VC等文本编程语言和Lab-VIEW、Agilent VEE等图形化编程语言两类。前者要求开发者对其比较熟练,且不具备用于专业领域的相应模块,程序开发周期长[2]。LabVIEW凭借自身集成的专用模块在实时数据采集和处理领域占据了很大优势[3],利用其现有编程模式可快速搭建出高实时性、高同步性的采集系统[4],但它没有专用模块对视频和物理信号进行后期耦合分析。因此提出了一种基于LabVIEW的视频与多种物理信号采集与耦合的通用基础方法,达到复现检测对象的运行过程的目的。
利用该方法编制的程序基本结构包括:(1)多类信号采集模块:实时同步采集、处理、保存视频信号和多个物理信号;(2)数据耦合分析模块:将所得的数据进行时域耦合分析。
信号采集模块的设计目标是实现视频信号、剪切与压紧力信号(以应变方式采集)、油缸油口的压力信号(以电流方式采集)的实时同步采集、处理、显示与存储。程序框图[5],如图2所示。主要采用LabVIEW在数据实时同步采集领域中应用广泛的主/从设计模式和同步触发模式。
图2 信号采集程序框图Fig.2 Signal Acquisition Program Scheme
主/从设计模式是LabVIEW中常用的一种信号分析处理模式,它采用多循环的模块式结构,适用于多任务同步运行的应用程序[6]。图2中主循环与从循环通过局部变量进行数据传送,保证每个采集过程都不影响另一个,并且由用户界面产生的延迟也不会对采集过程造成影响。
同步触发模式是控制多个并行任务同步执行的典型模式,在此用于控制三个通道的信号同步采集。如图2所示,共享参考时钟保证了各采集卡的采集速率相等[7],用于设备的主-从同步触发;利用LabVIEW数据流思想和平铺式顺序结构保证三个采集任务同时启动。并且在数据存储模块中通过控件“OFF/ON”及其局部变量同时保存三组数据信息,从而保留所储存的数据的时域对应性。
在分析每个样本的组件变形率时需要用到每个样本剪切截面的图像,为避免保存的图像数据量过大影响信号采集和保存的实时性,采用DCT(离散余弦变换)图像压缩方式在保证压缩质量的同时大大减小了图像保存的数据量。
DCT使用离散余弦函数来构成的变换矩阵[8],其中离散余弦变换是实数域的余弦变换,计算速度较快[9]。进行二维傅里叶变换后仅包含余弦项,二维离散余弦变换公式[9-10]为:
图像压缩过程是对采集的图像进行二维离散余弦变换和逆变换运算。为避免图像DCT变换处理时带来块与块之间的“边界效应”,取M=N=8[9]。将其带入式(1)、式(2)得到相关的变换式。通过DCT变换可得到64个“DCT系数”。DCT逆变换把64个DCT变换系数经逆变换运算,重建一个64点的输出图像。其中,低频分量包含图像的主要信息,而高频分量非常接近于0,舍弃这些分量不会对重构图像的画面质量带来显著的下降[10]。因此将其舍去,大大减小了图像的存储量。DCT图像压缩算法程序框图,如图3所示。
图3 DCT图像压缩算法Fig.3 DCT Image Compression Algorithm
对于此棒形组件剪切试验机,开发数据分析模块的目的是对采集所得的视频、剪切力和压力信号进行时域耦合分析,即实现视频区域当前图像、信号示值、波形图中X光标的位置、时间点与数据点数(以下简称界面五元素)的相互对应。考虑到部分数据需要重点分析的情况,程序允许反复定位到任意时刻对三种信号进行分析。程序设计流程,如图4所示。
程序运行过程如下:
(1)初始参数(数据保存频率、视频帧数、文件名等)设置完成后,视频文件自动播放;实时显示剪切力和压力信号的波形曲线和数值;
(2)自动播放耦合过程。波形图中显示X光标,并自动向右移动,保证界面五元素的对应关系。此过程随时可被人为暂停,视频播放完后程序也会自动停止,人为暂停或视频播放完成后转入手动查看耦合过程;
(3)手动查看耦合过程。通过鼠标拖动X光标至任何位置,并且显示对应的其它元素;
(4)点击“开始”,从当前光标位置开始进入步骤(2);
(5)点击“退出”停止运行程序。
数据耦合分析模块的关键在于步骤(2)和(3),实现其功能的主要方法是状态判别和数据耦合。
图4 数据分析流程图Fig.4 The Flow Chart of Data Analysis
局部变量不同的值可以表示程序的不同运行过程或状态,如图5所示。它不仅可以解决连线的困难,而且可以在对同一个控件的多次访问中分别对它写入、读出数据[11]。在程序设计中合理使用局部变量可以使程序框图更简洁,并提高编程效率。图5中局部变量“OK”值为“false”表示程序正处于步骤(2)自动播放耦合过程;值为“true”表示首次运行完成或者人为暂停运行,此时程序进入步骤(3)手动查看耦合过程。通过局部变量“初次进入?”的值判断程序是否首次运行,以选择视频播放方式(自动播放或手动查看)。
While循环一通过“NIVision Acquisition Express”VI自动读取并播放视频文件。While循环二的功能包括:
(1)信号读取、曲线显示。剪切力信号和压力信号数据通过“Read Delimited Spreadsheet”VI读出,经过转置、索引、建立数组等方式处理后在波形图中显示曲线[13];
(2)依据视频播放时间控制波形图中X光标位置,并显示播放时间和数据点。其中三者的关系是:
式中:X—X光标在波形图中对应的X坐标值;
T—视频播放时间或当前图像在视频中的对应时间点;
V保—采集程序中设定的数据保存速度,此处为5个/s;
N—视频区域每一帧图像在视频中对应的帧数;
f—采集程序中设定的视频采集帧速,此处为25fps。
(3)非首次自动播放(运行过手动查看耦合程序后再次自动播放)视频时,读取与显示视频区域的图像。根据当前X光标位置通过式(3)和式(4)计算得到图像帧数,利用“IMAQAVI2 Read Frame”VI读取图像并用局部变量显示;
(4)波形图修饰。通过属性节点选中曲线并修饰波形图图例名称和数量;
(5)数值显示。剪切力、压力信号值分别由两个“Index Array”VI读出并显示;
(6)视频播放完成后的状态转换。给控件“暂停”赋值为“true”,将程序转换到手动查看耦合过程。
图6 自动播放耦合过程Fig.6 Autorun Coupling Process
图5 局部变量作为判断依据Fig.5 Local Variable as Criterion
3.2.2 手动查看耦合过程
LabVIEW中的变量、控件和对象都有属性节点,包含变量、控件和对象等的位置、可视性、颜色等信息[12]。在自动播放和手动查看耦合过程中,保证图像、X光标位置的对应关系是通过控制X光标位置属性和视频帧数属性实现的。
当图6中控件“暂停”的值为“true”时,程序完成了首次自动播放视频或者进入人为暂停的状态。
在此之前,自动播放耦合模块已执行过,只需通过局部变量和属性节点改变界面五元素。利用波形图的属性节点可得到X光标值,如图7所示。由式(3)和式(4)可以计算得到对应的时间点和图像帧数,通过局部变量在前面板上显示数据点、图像和当前图像对应的播放时间。同时利用波形图的属性节点得到剪切力信号和压力信号的值,但此时剪切力信号和压力信号值是以数组形式读出的,用索引数组函数可得到其对应数值,并通过局部变量显示。
3.2.1 自动播放耦合过程
自动播放耦合过程程序框图,如图6所示。控件“暂停”的值为“false”说明程序首次运行,此时应在自动播放视频的同时读出、显示所有信号数据,并以固定的速度向右移动波形图中的X光标。
图7 手动查看耦合过程Fig.7 Manual Check Coupling Process
LabVIEW集成了丰富的调试策略[14]。为验证该方法功能的正确性,并分析在整个剪切过程中各组物理信号和棒形组件截面的变形规律及其对应关系,试验分为两个步骤:(1)利用采集模块采集视频、力与压力信号;(2)视频与剪切力、压力信号的时域耦合分析。
视频信号由NI数据采集系统的帧接收模块PXIe-1435通过工业相机采集、保存;剪切力、压紧力、油缸压力信号通过同步模拟输入模块PXIe-4300采集得到,并通过采集程序显示、保存。具体过程如下:
(1)完成标定试验。油缸进油口压力P与活塞输出力F之间的关系为:
式中:k和b—待定参数,出油口压力约为0。
通过标定试验计算得到油缸进油口压力与活塞输出力函数关系的具体参数k和b。
(2)进行棒形组件剪切试验。首先选择一种刀具并以一定的压紧力压紧某个截面,采集、显示并保存压紧力信号;再对此截面进行剪切,采集、显示并保存剪切力、油缸进出油口压力等信号。同时用工业相机记录下整个压紧和剪切过程。
(3)使用不同的刀具和压紧力组合重复进行步骤(2)。
视频、剪切力、压力信号的时域耦合分析过程,如图8所示。在此不再赘述。
图8 信号耦合分析过程Fig.8 Signal Coupling Analysis Process
信号耦合结果如下:
(1)首次进入程序时,设置相关参数后开始自动播放视频文件,波形图中显示出了剪切力信号和压力信号波形(在此仅表示剪切力的变化趋势,波形图中纵坐标为当前剪切力与预估剪切力的百分比),X光标随视频信号的播放同步向右移动,如图8(a)所示。同时显示了剪切力和压力当前值、剪切截面受到的最大压紧力与预估值的百分比;
(2)点击“暂停”或等待视频播放完成后,用鼠标拖动X光标左右移动时,左侧视频区域图像随之移动,并且在任意时刻X光标对应的数据点、视频播放时间、剪切力和压力信号值都已在前面板中显示出来,如图8(b)所示。
4.3.1 程序功能验证
根据采集程序得到的视频文件和txt文件进行数据耦合分析,检验程序功能正确性的方法如下:
(1)判断信号采集、保存是否同步的方法是:视频信号采集时间通过查看文件创建时间和视频时长得到,力、压力信号采集时间通过查看txt文件中数据记录时间得到;对比两个时间段是否一致;
(2)判断数据耦合是否成功的方法是:在鼠标拖动X光标移动至某一点时,通过程序计算出对应的图像帧数与人工计算出该图像的实际帧数对比;查看txt文件中该数据点的信号值是否与程序中显示值相同;信号值对应的时间与视频播放时间是否相等。
经检验,三种信号是同步采集保存的;在鼠标拖动X光标左右移动至任一点时,信号值与图像都是在同一时刻记录下的,即实现了视频、剪切力与压力信号的时域耦合功能。
4.3.2 信号分析结果
根据图8中的棒形组件剪切数据可以得出结论:棒形组件剪切机所需的压紧力、剪切力、液压系统压力与预估值相比都有所减小。通过视频、剪切力、压力信号的时域耦合分析,可以观察到以下现象:
(1)如图8(a),经过压紧后,截面中上方两根芯棒已被压碎;在另一组试验中采用了更大的压紧力,所有芯棒均被压碎;
(2)剪切力信号第一个起突点表示剪切刀与外套钢管刚接触时力信号的突变,代表开始剪切棒形组件;
(3)剪切力急剧增大的过程中,根据视频信号可看到芯棒产生微小位移,将截面内的缝隙填满的同时向四周扩展;当剪切力最大时,如图8(b),可听见清脆的断裂声,混凝土芯块被挤压断裂,并且有粉尘掉落(即粉尘泄漏);
(4)剪切力减小过程分为三个阶段。如图8(b),首先是中间三根芯棒被剪断,对应最大剪切力Ⅰ;然后下方两根芯棒被剪断,对应剪切力Ⅱ;最后外套钢管和芯管全部剪断,对应剪切力Ⅲ。
结合其他棒形组件剪切试验结果可以得到结论:压紧力越大,芯棒压碎效果越好,所需棒形组件剪切力越小。结合对剪切质量(截面变形小、粉尘泄漏量小)的要求,选择图8中的刀具形式和压紧力、剪切力、液压系统压力等参数较为合适。与预计相比,棒形组件剪切机所需的最大压紧力减小至预估值的61%,最大剪切力减小至预估值的71%,液压系统所需最大压力减小至预估值的65%。此结果为棒形组件剪切机的结构优化提供了理论依据。
4.3.3试验结论
由棒形组件剪切试验的信号分析过程及结果可看出:仅使用力、压力等物理信号不能完全反映出棒形组件的变形、断裂过程与剪切力、液压系统压力变化的对应关系,更无法直观地判断压紧力和剪切力大小对剪切质量的影响。只有通过视频信号与物理信号耦合的方式才能完全复现整个棒形组件剪切过程。
在此过程中还发现:
(1)若更改采集程序的信号采集种类或数量,只需要对采集程序稍加修改即可实现采集、处理、显示、保存等功能,并且数据耦合分析程序的设计方法同样适用;
(2)可在采集程序中添加更复杂的数据处理函数(如频域分析函数),改变数据存储格式,可在数据分析程序中添加其他类型数据文件,分析程序的耦合方法仍适用。
以上两点可说明此程序设计方法的功能扩展性强、可移植性好,适用范围广。
视频与多种物理信号采集与耦合方法结合了实时视频,快速准确地分析了各物理量的变化规律,解决了在非均质复合棒形组件剪切过程中难以得到棒形组件截面变形、断裂过程与各物理信号变化之间对应关系的问题,其特点在于:
(1)结合视频信号,能清晰观察到被剪切材料瞬间断裂和飞溅情况,有利于对其他物理量的瞬态变化给予合理的解释;
(2)以LabVIEW的同步技术、主/从设计模式实现多种信号采集过程的同步性与实时性;
(3)通过图像处理VI库、图像属性节点等手段设计了自动播放与手动查看两种时域耦合方式,在后期数据分析过程中可随时切换耦合方式进行数据查看、分析;
(4)易于增加信号数量、种类或处理函数。
试验结果证明此设计方法达到了预期目的和效果,满足监控系统对信号采集的实时同步性要求和完全复现棒形组件剪切过程的要求,并且此方法具有良好的功能扩展性、可移植性强,适用范围广,可作为一种视频与多种信号采集和耦合分析的基础模块。