用户中心

资讯 > PLC与PAC

数据采集冗余策略的应用

www.cechina.cn2012.12.02阅读 2748

  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多平台安装程序制作软件对程序进行安装和发布。制作完成之后,整个系统展现给用户的是一个简捷、明了的安装程序。同时控制工程网版权所有,这也极好的保护了软件知识产权。
  数据采集冗余设计成本低廉,大大地提高了系统的可靠性和工作的连续性,实际应用的效果也非常理想;并且整套系统极容易移植到其他的信号采集、处理系统中,比如:油田、核电站、水处理等,适应面相当广。

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688