基于组态王环境的自锁阀瞬时测控

2015-11-16 09:04黄晓勤霍娟娟屈倩茹温志杰
电工技术学报 2015年1期
关键词:组态王板卡测控

黄晓勤 霍娟娟 屈倩茹 温志杰

(1.北京航天动力研究所 北京 100076 2.天津亚控科技发展有限公司 天津 300130)

1 引言

随着计算机技术和自动化技术的飞速发展,通用监控组态软件已被广泛普及,极大地缩短了计算机测控系统软件的研制进度,显著提高了经济效益。其中,工业 SCADA软件——组态王以其软件产品通用性、易用性、稳健性的优点被获得广泛应用。通用层次组态软件对信号的采集经常是基于板卡之上的,通过动态链接库将板卡所上传的数据信号转换后再用于显示,由于KINGVIEW组态王软件是运行在Windows的环境下,对数据变化的响应速度慢的问题则是不可避免的,因此,它很难完成对快变信号的采集与控制需求。在各类组态软件的发展中,虽然对高速信号的采集功能正逐渐地被使用,但通常只是被用于测试,不能与瞬时的控制关联起来。

自锁阀是航天推进领域中环控、姿轨控、热控等系统必不可少的关重部件之一。为了保证精确的控制状态,项目研制根据总体系统对自锁阀的测控要求,提出了具有针对性的特殊设计要求,在设计中追求方案的合理与先进性,以确保高可靠地、安全地完成自锁阀的测控。

本文提出了一种利用 KINGVIEW 组态王软件作为开发平台的实现对自锁阀瞬态测控的研制方法。通过数据计算与分析来阐明新的测控设计的合理性,解决了常规高速采集与控制不同步的问题。设计过程力求完美,增大了组态王软件的应用范围,为自动化测控系统中对信号的高速同步测控的研发提供了一个新的方法。

2 总体方案

利用组态王软件实现对自锁阀的瞬时测控任务中主要包括按照所设定的时间对自锁阀的开关线圈进行瞬时的通断电、高速采集阀门动作时线圈上的通电电流,并将所测得的批量数据进行存储、转换与处理、显示等。

由于组态王软件工作于 Windows系统平台之上,不能很好地满足实时性要求很高的场合,那么,可以利用高速采集板卡,通过开发高速采集驱动软件植于组态软件中来实现。目前多通道高速数据板卡已在国内被逐渐应用起来,但通常被用于对数据信号的高速采集,如对电磁阀的特性测试等。而自锁阀不同于电磁阀,根据自锁阀的工作原理及其快速响应特征,一般在十几到几十毫秒不等,对阀门开关时的线圈通电时间有一定的限制,这就要求测试设备在进行高速采集其电流特征数据的同时还能够按要求对其线圈进行快速通断电的控制。

所以,为保证实时不间断地数据采集,通过采取给予数据采集更高的优先权、短暂集中占用CPU时间、设计用户接口插件的方法来实现基于组态王的高速采集与控制;然后对所采集的数据形成曲线后进行回放再现。即:利用组态王软件进行上位人机对话和测控数据的显示后处理、存储和文件管理等;利用底层本地驱动软件进行实时的通断电控制、高速数据采集与存储。

3 测控方法

3.1 软件结构

测控设备将采集的各类信号通过内部总线传送到核心主板。主板通过运行上位应用程序实时监测全设备的工作过程,监测各项参数指标,进行工作异常报警,并对测试数据分析处理。同时,上位管理层向下位驱动模块发出自锁阀打开/关闭等测控信号,最终由测控设备完成对目标执行件工作的监控。

软件开发采用组态王平台环境,它是以Windows操作系统作为开发及应用平台的数据采集监控软件。测控软件包括本地测控驱动软件、上位应用软件。

测控数据流示意如图1所示。

图1 测控数据流Fig.1 Data-flow of measurement & control

上位管理的目的是实时监测系统测试参数、工作过程的实时报警状态;将测试参数实时存入Access数据库;进行ODBC数据库连接,将Access数据库数据导入 Excel形成数据文件并做处理,为全系统的数据分析提供依据;对各设备的独立测试,即手动控制自锁阀等;操作简单,界面友好。上位应用软件基本结构如图2所示。

图2 上位应用软件基本结构Fig.2 Structure of application software

本地测控驱动程序主要包括芯片组软件和板卡驱动软件。芯片组软件用于支持主板正常工作,完成对显示、内部总线数据、内部总线地址、DMA等的关联与信息的分析、处理、交换等功能。板卡驱动软件主要包含高速采集模块、数字信号输入输出模块的底层动态链接库和组态链接驱动。

需要注意的是,跟随硬件板卡而来的模拟信号采集动态链接库函数中包含了普通采集和高速采集两种内容,而组态王系统中只有对应采集板卡的普通采集控件是对用户开放可用的。因此,必须设计应用于组态王环境下的针对高速采集的动态链接驱动程序。

3.2 高速数据采集与同步控制

在组态王的数据采集控件中开设一个针对用户要求的可读写接口,用于上下层之间的信息交换。该控件需要完成的主体任务是:根据用户预设时间和相关控制通道,完成对相应地址的脉冲写操作;同步完成对相应模拟通道所转换传送来的高速数据信号进行采集;在到达预设终止时间后完成对所采集到的批量数据进行用户指定存储区的转存。

首先,初始化板卡,设置采样频率、内部数据缓存区长度等,对高速信号采集设置高的优先权,再利用FIFO、中断、DMA等技术,在内核中以循环模式进行数据采集,直到达到预定的采样长度为止。然后,将批量数据移出内存,按预设定的格式形成文件并保存起来,以便进行数据曲线的后处理和分析之用。

循环模式时采样缓存的使用过程如图3所示。

图3 循环模式时采样缓存的使用过程Fig.3 The usage of sampling cache in cycle mode

为获取数据,利用 FIFO技术,当数据填满某半个缓存后,应及时调用函数 DRV_FAITransfer,以便将数据从临时的采样缓存区复制到用户缓存区中,供后续的处理和分析之用。AD转换原始数据被板卡设计临时存放在 FIFO队列中,在进行高速信号采集时,为防止数据丢失,所设计预分配用户缓存区的长度应至少为所需获取数据个数的两倍以上(项目所用采集板卡中所设置的每个原始数据占用2个字节),如图4所示。

高速采集组态驱动程序由于是基于未开放的研华封装的库文件来设计,为避开“DRV_Check-Event()函数执行的时间不定”所带来的捕捉与动作不同步的问题,采用双线程设计的方式,实现高速采集的准确性测量与阀门动作过程的实时性控制。

图4 用户缓存分配Fig.4 User cache allocation

3.3 数据传输

在高速采集中,允许驱动向用户发预定的事件,并等待事件发生的通知。当得到事件通知后,调用函数DRV_FAICheck查询当前的数据采集状态。数据的传输和函数调用流程参见图5。

图5 数据传输和函数调用流程Fig.5 Process of data transmission & function calling

3.4 非实时数据显示

组态软件适用于普通或慢变过程信号波形的实时显示,对于高速采集获得的中高频瞬时信号,需采用非实时数据波形回放的方法。一般可利用组态王环境下开放的数据采集插件来实现,如:文件的打开与保存、一般的图形放大与缩小等;也可以根据最终用户的特定需求,对组态王中绘图插件做适应性的改进和调整。

组态王中的插件是在软件运行中被调用时才会被动态加载的,所以可有效节省系统资源。

3.5 数据存储

3.5.1数据库设计

数据存储采用应用广泛的关系数据库Access。

数据库设计归结为设计一个较优的数据模型。其中数据库结构设计和基于数据库结构及处理需求的应用程序的设计则是数据库设计好坏的关键所在。而Access用表的方式组织数据符合数据处理分析的设计要求。表是SQL语言存放、查找以及更新数据的基本数据结构,在 SQL语言中是一种二维表。上位机程序中二维表Table1“测试系统”由若干列组成,列名唯一,即测点参数名;同一列数据具有相同数据类型;表中一行为一个元组,即一条记录;表中每一个列值必须是不可分割的基本数据项。

代码示例:

CREATE TABLE table1

(F1 FLOAT(2)NOT NULL;

F2 FLOAT(2)NOT NULL;

DO0 BIT NOT NULL;

DCDCLIFE INTEGER NOT NULL;

…)

3.5.2ODBC接口应用

目前应用系统开发都采用分层的体系结构进行。分层结构的重要特点之一就是开放的客户端开发机制,即数据库厂商不再需要提供全套的数据库相关软件,包括DBMS、编程语言、开发工具等,而是只要按照统一的标准为其它软件商的开发工具提供连接数据库和使用数据库的接口即可。

ODBC(open database connectivity开放数据库互联)是微软为数据库定义的开放接口,可实现异构数据库的互联,它允许符合此规范的数据库之间进行数据传输。这就解决了如何将测试平台采集的数据传送到数据库的问题。定义数据源如图6所示,由应用程序调用ODBC连接数据库,并对数据库的数据进行操作。

代码示例:连接ODBC数据源

SQLConnect(DeviceID,"dsn=mine1;uid=;pwd=");//连接指定的数据源mine1

SQLClearTable(DeviceID,"测试系统");//创建新表

3.5.3SQL数据存储程序设计

数据库系统是通过其所支持的数据语言来实现的。而SQL数据库语言则是集成了DDL数据定义语言、DCL数据控制语言、DML数据操纵语言的功能于一体中,可独立完成数据库重构、插入数据建立数据库、定义关系模式功能,以及完成查询、更新和维护与进行数据库的安全控制等功能。所以,SQL数据库语言是通用的功能极强的关系数据库语言。它具有嵌入式特点,其语句能够嵌入到高级语言程序中。因此,项目的上位数据存储模块的软件研发使用SQL语言来编写。

为了在应用程序中通过ODBC实现数据交换,首先设计记录体 bind1,用于建立数据库字段和采集变量之间的联系。然后将数据变量名及字段名存入 bind1,定义数据源,定义要访问的数据库名和数据库类型(选择 ODBC驱动程序)。bind1与db1数据库的表table1“测试系统”是映像关系,调用SQL函数实现数据存储导出。

4 工程实例

本文案例中对自锁阀的测控方法是:利用嵌入式计算机,扩展连接多通道多功能信号模块,对经所另设计的阀门信号调理电路变换来的信号进行高速采集与控制。测控原理如图7所示。

图7 自锁阀测控基本原理Fig.7 Principle of the self-locking valve measure & control

4.1 阀运动特性与磁密度计算

由于项目用自锁式电磁阀利用永磁体实现自锁,其运动特性涉及线圈电流 i、电磁吸力 Fa、线圈磁链ψ、衔铁运动速度v、衔铁行程s等成函数关系,较为复杂,这里不再对线圈计算与电磁铁估算做详述。

使用电磁场有限元分析软件Ansoft Maxwell进行二维计算,所得结果如下:

(1)关闭状态永磁吸力向下值大于受力分析得到的所需永磁力,可以保持阀芯与阀座密封。

(2)打开瞬间电磁力与永磁力综合吸力向上值大于密封力,可以打开。

(3)打开状态永磁吸力向上值大于受力分析得到的所需永磁力,可以保持打开状态。

(4)关闭瞬间电磁力与永磁力综合吸力向下值大于闭锁力,可以关闭。

图8为上述几种情况下磁力线和磁密分布图。

图8 磁场有限元仿真计算结果Fig.8 The calculation results of magnetic field finite element simulation

以上计算仅为估算,最终能够产生的吸力F及吸力特性曲线(F与h的关系)必须由试验确定。电磁铁的热性能同样需要试验来得到。

4.2 数据采集

由于所被测阀门判定合格的动作时间的离散度大于 1ms,所以,为保证模拟输入测试通道有足够的带宽且能获得更精细化的曲线,使采集到的工作电流曲线不会失真,这里选用的是高速采集模块PCM-3810I。其拥有12位16通道的A-D、16通道DI或DO等资源,模块的单通道采样频率为250kHz。因项目对多个阀门进行测控,设计按 16路全通道10kHz进行数据采集,即:模块按 160kHz的频率执行采样和A/D转换,使每个自锁阀线圈电流测试通道的数据信号按每点0.1ms间隔获取,满足系统的采样要求及降额使用要求。

测控设备外接自锁阀,其线圈电流流经信号调理电路中的电流传感器后返回,传感信号再经转换为电压信号后进入PCM-3810I模块,如此被上层管控系统进行控制、高速采集、存储等处理。

电流传感器的信号变换在其标称使用范围内具有线性特征,设备中设计相应的电压二级转换也为线性的,则理想转换电流In(xn)(A)为线性函数,见式(1)。由于设备测控链路中涉及各段连接线的线长、接口接触阻抗、信号传感器、电流/电压电路及匹配阻容电路等,存在链路偏差,且各通道之间也有偏差,这就需要进行第二次拟合。本项目中的拟合函数只需按线性方式就可满足任务的要求了,如项目有更高的需求(如:万分之一),可采用二次函数来做。本项目信号调理阀门实际电流值f(x)(A)经过换算与误差纠偏后得到,最终换算公式如下:

其中,

n:项目所使用通道采用非差分方式,取1~16;

xn:经高速采集模块采得的电压值(V);

kn1:电压/电流转换系数,根据传感器特征参数及实际变送电路阻容参数而定;

an:电压/电流转换偏置量,根据传感器特征参数及实际变送电路阻容参数而定;

其中,

n、xn、kn1、an:同上式 4-1。

kn2:纠偏拟合系数;

bn:拟合基准偏置量。

cn:拟合零偏。

4.3 非实时曲线显示

自锁阀动作时线圈通电电流曲线参见图9。

图9 动作线圈通电电流曲线Fig.9 Current curve of coil when self-locking valve working

上图所示曲线反映的是组态王高速采集驱动软件运行后所得到的原始数据,以100us每点进行绘制,幅值表示直接采到的电压值xn(V),不够直观。所以需经式 4-2换算后转化为实际对应的电流值来显示,用于分析、判断。组态王的通用绘图插件是个直写过程,故,特设一个可读写标签用于将用户实际校准后的拟合系数输入,然后进行公式植入,换算后再绘图显示。

对式4-2做进一步的简化:

可简写为:

其中,

n =1~16;

k1n=kn1kn2;

k2n=ankn2+bnkn2+cn。

这样,在上位机程序运行时,用户只需将事先计算好的k1n、k2n作为参数输入即可。然后,通过用户定制的专用绘图插件来对曲线的特征值进行活动游标的显示选取,类见图10,做进一步的分析。

图10 动作线圈通电电流曲线Fig.10 Current curve of coil when self-locking valve working

测控设备控制阀门线圈通断电,测量自锁阀在预定的瞬时通电期间所达到稳定状态时的电流值。根据测试得到的数据及曲线,对设备性能做出评估,结果满足项目的要求。

5 结论

根据热控系统对自锁阀测控的需求,提炼出对上位 KINGVIEW 组态王软件和阀门线圈瞬间通电控制与同步不间断高速信号采集的研制要求,以此为设计输入,论证并确定了可满足用户需要的针对自锁阀动作响应特征的解决方案,即:测控同步(实时的自锁阀线圈通电控制与电流信号的高速采集)、信号后处理(即:非实时的电流数据显示)。同时,项目研发中实施了安全与可靠性设计等。

经试验验证,测控设备能够实时检测自锁阀等部件的工作状态,并控制其动作,保证其按指令安全、可靠地动作;测试精度满足要求,方案合理,具有较强抗干扰能力,系统工作稳定。不仅满足项目对自锁阀信号的测试需求,同时还扩展了KINGVIEW组态王软件的应用范围,对信号的瞬态测控研究具有一定的指导意义。

[1] 组态王KINGVIEW6.5使用手册[M],北京:北京亚控科技发展有限公司.

[2] 王珊,萨师煊。数据库系统概论(第四版)[M],北京:高等教育出版社,2006.

[3] 马国华,监控组态软件及其应用[M],北京:清华大学出版社,2001.

[4] 高守传,精通 SQL结构化查询语言详解[M],北京:人民邮电出版社,2007.

猜你喜欢
组态王板卡测控
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
一种基于光纤数据传输的多板卡软件程序烧写技术
MATLAB实现组态王中TCP/IP读卡器监控方法
基于PLC与组态王煤矿压风机的设计研究
基于USB2.0协议的通用测控通信接口设计