1 引言
随着我国政治、经济的高速发展,桥梁、高楼、矿井、油田等对人们生命构成威胁的场所的安全性日益受到关注。国内外普遍的解决办法就是对现场环境进行实时监控、预报、预警。深圳市民中心是深圳市政府首脑的办公大楼,状似雄鹰展翅,由两根柱体支撑5000吨以上的力。台风对整个大楼构成了极大的威胁。本设计就是为其实现实时监控、预警,保证整个大楼政府工作人员和市民的人身安全。
2 功能原理
“冗余”就是将相同功能的设备设计为2个或2个以上CONTROL ENGINEERING China版权所有,如果一个设备有问题,另外一个设备就会自动承担起有问题设备的任务,使网络继续畅通无阻。具体说来就是备份出另一套服务。一般情况下是某一套系统运行,而第二个系统处于待命状态,可以通过人工方式监视第一套系统,当发现有故障时,便激活第二套系统。也可以用控制器对2个模块同时进行扫描,当其中一块停止回应时,系统从另一个模块中获取数据。由此可见,冗余的目的保证了系统工作的连续性(基本不会出现系统不工作的情况)、稳定性。
冗余设计需要考虑的几个问题:
●冗余策略的实现应当尽可能的降低成本;
●冗余策略的实现的设计周期应当尽可能短;
●冗余策略的实现要真正的实现高稳定性。
力学专家在屋顶牛腿的着力点上安置了128个传感器,测控压力信号到主控机房,进行信号处理分析,实时监控大楼的“健康”状况。因此实时、可靠地采集传感器发出的压力信号(百万数量级)就成为“健康监测”系统的关键。
在台风等恶劣环境下,数据采集极容易出现干扰故障,由于信号处理系统的高可靠性和连续不间断的工作要求,国内外的大多数设计冗余系统,以避免危险发生造成巨大损失。因此,我们须需要设计一套通用的、可靠的、经济的数据采集的冗余系统,信号采集冗余策略如图1所示。
3 硬件设计
3.1 同步卡的设计
同步卡的设计是本设计冗余数据采集处理的基础www.cechina.cn,而且需要满足冗余的要求。因此我们设计适合于本套系统的低成本、实用的同步卡。该同步卡的硬件组成分为电源稳压器、运算放大、采样保持三大功能部分。lm7912进行线性稳压,为板卡提供稳压电源。采用lf353 bi-fetlf353高速集成运放组成信号缓冲放大器,分两级放大现场信号。lf398作为采样保持器,提供2个标准的25针并口,1个接lpt控制信号,1个和pci-1713数据互连。
根据空间和实际的需要,每块板卡上载8路信号。ipc可以分别控制每路信号的采样时间;为了简约系统设计以及与采集卡配置,本设计同时并联四块同步卡控制信号。
3.2 pci-1713信号采集卡简介与设计
pci总线是一种非终端式传输总线,在全部读写传送中可实现突发传送,采用隐式仲裁,并行总线操作,访问速度快;它也是兼容性最强、功能最全的计算机总线,可同时支持多组外围设备,且不受制于处理器,为cpu及高速外围设备提供高性能、高吞吐量、低延迟的数据通路。
pci-1713是研华公司生产的一款经济型高速数据采集卡,精度较高,支持即插即用;内置pci总线控制器与工控机pci总线接口。使用方便、扩展、重入性强;软件上调用api函数和相应数据结构实现也比较容易。
pci-1713主要特性有:
●个单通道模拟信道输入;
●12 bit a/d转换,采样率高达100khz;
●可对每一通道分别可编程增益;
●自动通道/增益扫描;
●板载4k采样fifo缓冲,控制方便。
需要注意:采集卡的每个通道的模拟量采集都有1个输入电压范围,超过了这一范围会造成采集卡a/d转换部分的烧毁,所以在采集模拟信号时,要保证被采集的信号在设定的量程范围内。本项目中模拟量范围为0~10v。
4 驱动程序的设计
结合vc++实现对同步卡的控制和采集、保存采样数据三大功能模块。程序流程框图如图2所示。
4.1 访问并口,控制采样数据周期
vc++是可视化编程方法,利用vc++开发人员可以十分方便的编写程序完成用户界面的设计、图形显示、数据存储等功能。而并行端口的操作属于计算机硬件的低级操作,使用可视化方法编制windows应用程序不具备这类操作。通常有以下几种解决办法:
(1) 利用windows api 并行通信函数
主要功能模块:
●端口设置模块;该模块用于设置同步卡与ipc端口,端口类型通常为lpt1。利用函数strcpy(),赋予全局变量porttype为指定的端口类型,例如strcpy(“lpt1”,porttype);
●初始化模块,首先要创建打印设备文件句柄。通过指定要连接的打印机端口、读写端口的模式、数据共享模式等参数;
●从打印口发出控制信号,启动同步卡数据输出。
(2) 使用面向对象技术封装win32 api函数,提供一个并行通信的类
优点是若使用第三方提供的类,只要理解这种类的几个成员函数,就能方便地使用。缺点:若自己编写类,则一般要求专业化程度太高,第三方提供的类普遍应用非常困难。
(3) 汇编语言从效率上和可靠性上讲都是最优的
在windows程序中,使用汇编语言实现对并行端口的低级操作,是开发者首选之一。本设计解决的实际办法就是使用delphi可以嵌入汇编语言的功能,编制并行数据传输、功能编号发送以及并口初始化函数控制工程网版权所有,形成动态连接库(dll)。这样,利用了可视化编程的优势又发挥了汇编语言高效率,而且通过dll调用使windows操作与硬件的低级操作有机高效地结合在一起。值得一提的是,在数据通讯和功能编直接调用动态连接库(dll),非常方便、迅速的解决;而且类似的dll在网上可以随意的找到,就算对delphi不熟悉的工作人员也可以直接调用。无疑这样大大的提高了开发驱动程序的效率,可以让开发者集中精力研究数据采集板卡。
在本设计中,作者先后尝试过以上三种方法,都取得了良好的效果。甚至采用串口代替并口发送控制信号,效果是一样的,能完全实现功能;那是因为本设计的特殊性:实时数据采集的要求并不高,而且有同步卡统一调配,因此从某种意义上说,利用串口实现了并口功能。
4.2 通过pci总线访问pci-1713
研华公司为用户提供了pci-1713的库函数和vc++语言例程,使用户上手快,而且可以根据自己的实际情况编写简捷、完美、实用、快速的程序。
注意编程时一定要包含库函数“driver.h”。
具体步骤如下:
(1) 打开pci-1713采集卡并初始化;
(2) 获取采集卡的板号,分别读取每一块pci-1713的数据;
(3) 显示采集的数据,写入数据库保存;
(4) 释放采集卡,释放pci控制权。
4.3 odbc(open database connecting)技术
数据的录入是数据库用用程序的重要部分之一,是实现数据处理的关键。建立数据文件,保存实时接受的数据,并实现以后的数据再现回放、处理、预警。因为数据的量极大(g数量级)而且要求随时回放数据,为了简便起见,实时性要求不是太高。使用odbc接口将数据存放到ms
access数据库中。步骤如下:
(1) 创建数据库、表以及各个字段设置;
(2) 在控制面板中控制工程网版权所有,创建并配置数据源;
(3) 程序中把数据写入数据库。
5 结束语
在本设计中还实际使用了installshield professional 6 international多平台安装程序制作软件对程序进行安装和发布。制作完成之后,整个系统展现给用户的是一个简捷、明了的安装程序。同时控制工程网版权所有,这也极好的保护了软件知识产权。
数据采集冗余设计成本低廉,大大地提高了系统的可靠性和工作的连续性,实际应用的效果也非常理想;并且整套系统极容易移植到其他的信号采集、处理系统中,比如:油田、核电站、水处理等,适应面相当广。