基于VB的工控机数据采集系统的设计_宁贻瑞

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件开发与设计SOFTWARE DEVELOPMENT AND DESIGN
基于VB的工控机数据采集系统的设计
宁贻瑞
(内蒙古霍林河露天煤业股份有限公司计划部,内蒙古通辽029200)
摘要:基于VB的工控机数据采集系统所涉及范围和专业较多,不仅涉及到电气专业还有软件工程专业,如何实
现工控机数据采集是自动化工程中亟待解决的问题,本文的目的是研究设计基础,提供参考,并不能完整和面面具
到,主要探讨基于VB的工控机数据采集系统的设计。

关键词:VB;工控机;数据采集系统;设计
The Design of the Industrial Computer Data Acquisition System Based
on the VB
NING Yi-rui
(Inner Mongolia Huo-linhe Open Coal co.,LTD.Planning Department,Inner Mongolia Tongliao029200,China) Abstract:The industrial computer data acquisition system based on the VB involved in scope and professional more,is not
only related to electrical professional and software engineering,how to realize the industrial computer data acquisition is the
automation engineering problems to be solved,the purpose of this paper is to research design basis,to provide reference,and
can't complete and facial mask to,mainly discusses the VB based on industrial computer data acquisition system design.
Key words:VB;Industrial computer;Data acquisition system;design
现在市场上有能构成自动数据采集系统的各种功能的芯片及设备出售,也有完全组装好的专用或通用的工业控制机[1]。

在对数据采集系统进行分析,通常,分析根本原因的目的不是判断确切的差错以及如何发生的。

除了重罚一些出错的工程师,这样的信息没有太大的用处,而分析根本原因可以将错误归类。

对于故障注入,可以在根本原因分析中把硬件错误归为3类中的一种:设计,产品或原料。

设计错误是由于错误使用组件,错误理解芯片的局限,不适当的空气流,或者其他诸如“应该/可能知道更好”的故障。

产品错误是由于生产线上的故障引起,例如CPU插入不正确,在震动和摇摆测试中没有通过测试。

原料错误是在组件行为不正确或者失败时出现[1]。

数据集中器以多机通信方式采集数据采集器中的数据,然后进行处理、存储、并通过通信总线与总控制室的系统控制计算机相连。

一个数据集中器可以连接几十个数据采集器。

采集模块/采集终端系统计量(针对脉冲输出表)线或读数(直读表)并通过电力线将表计数据上传给集中器。

1数据采集系统原理
数据采集系统也是一种实时系统,这种系统从传感器收集数据,以便后续的处理和分析。

机电一体化控制系统中,以某个模拟量为对象的控制即模拟量控制,如空调机和电冰箱对温度的控制。

通常,进行模拟量控制时,先将速度、位移、温度、压力等被控制的模拟量,按比例变换成与它们对应的电压或电流的模拟量,再进行控制。

模拟量的控制是最基本的控制方式。

尽管模拟量控制的精度不高,但是它的控制电路简单、使用方便,在各种先进的自动化设备或自动机中,仍是常用的控制方式。

传感器数据被放在一个缓冲器中,经过抽取和处理,最后将平均流量水平显示在操作控制台上。

负责对数据处理的过程从缓冲器中取出数据,加工完后发送给显示进程,该显示进程将信息输出到操作员的控制台显示屏上。

在有数据采集和处理的实时系统中,数据采集进程和数据处理进程的运行速度和处理周期可能会不一致。

当数据处理比较复杂时,数据采集比数据处理快得多;当数据处理只涉及简单计算时,数据处理又比数据采集快得多[2]。

2硬件系统设计
2.1工控机的基本组成及特点
典型工控机系统的组成部分主要包括以下几个部分,如图1所示。

(1)工控机主机。

包括CPU板、显示板、磁盘驱动器板、无源多槽底板、电源和机箱等。

(2)信号采集及控制模板。

该类模块主要实现数据的采集及控制信号的输出,主要包括输Ⅳ输出板、多功能输Ⅳ输出板、运动控制板、计数器/定时器板等。

根据总线的不同,常用信号采集及控模板可分为ISA总线板、PCI总线板、PXI总线板及USB总线板等,可购买后直接插入工控机对应的插槽上使用。

信号采集及控制模块一般完成以下一个或几个功能:模拟量输入、模拟量输出、数字量输入、数字量输出、运动控制以及计数、定时功能等。

在硬件选择时需要考虑通道的类型及通道数量(模拟量的输入、输出,数字量的输入、输出)、信号输入的方式(差分还是单端输入模式)、分辨率、采样速度及软件与硬件的兼容性等问题。

(3)通信接口模板。

工控机可以通过配置不同的通信模板满足不同的通信要求,包括串行通信接口模板(实现RS--232C、RS-22、RS-485通信)、网络通信模板(实现Ethernet网络通信)及现场总线通信板(用于现场总线的
作者简介:宁贻瑞(1960-),男,本科,副总工程师,研究方向:计算机网络设计。

收稿日期:2012-09-16
互联)等,通信端口类型及数量可以根据需要灵活选取。

(4)信号调理模块。

工业设备现场产生的电信号不能直接输入
IPC ,输入调理模块对工业现场各类输入信号进行预处理,包
括对输入信号的隔离、放大、多路转换、信号转换等处理,从而将非标准信号转换为标准信号供IPC 采集。

现场不同量程区段的输入信号可直接连接到信号调理模块的端:子上,信号调理模块将它们转换为0~5V 、0~10V 或4~20mA 等的标准信号,从而满足计算机数据采集卡对输入信号的要求。

数据传输可以采用CAN 总线、LON 总线、PROFIBUS 、Control -
Net 总线或RS-85串行通信总线等,通信介质可以利用无线、RS-85、光纤等。

数据也可以通过以太网上传到人机界面平
台,用于监测和控制。

按模块的功能来分,远程I/O 模块主要包括热电偶模块、热电阻模块、计数器模块、数字I/O 模块、模拟量I/O 模块等,这些模块均能自主地完成相应的功能,并具有通信功能[3]。

2.2PCI 型采集卡
多功能板卡特别适合学校用于构成数据采集与控制实验系统,完成多种测控实验。

PCI 除了用于检测电压外,在许多应用场合,还作为不同设备的识别用,一般用于同一接口需要使用不同的外设,如耳机、UART 和USB 共用同一USB 口时就需要外设的识别,一般需要在专用的接口pin 上留不同的电阻,从而PCI 采用得到不同的电压,进而得到不同的PCI 值,即可容易区分出不同的外设,设计十分灵活、方便。

利用单元测试,可以检查出该实例及其他实例。

手工测试有时会漏掉一千实例,而自动测试却不会出现这种情况。

后来,为文档模型和编辑动作编写了单元测试。

编写单元测试,可避免重新引入错误,并确保指定功能的实现。

曾设想为发现的每个错误编写一个单元测试,但事实证明,这是一项繁杂的工作,大多数程序错误都是GUI 相关的,GUI 代码的单元测试通常都很困难,例如,若绘制的插入符号高出基线3像素,则认为是一个绘制错误,但现在只能通过视觉确认这种错误类型。

虽然如此,还是尽可能地扩展单元测试代码,使
SharpDevelop 更为健壮,即便重新构造代码,也可给出一个安
全附加层。

2.3模拟和数字输入电路
(1)调试接口
调试接口一般指JTAG (Joint Test Action Group ,边界扫描接口)
[2]
,主要适用于产品的研发阶段,研发结束,非特殊
情况,这个接口一般没有用处。

JTAG 是一个很常见的接口,所有以ARM 核的系统芯片几乎都有,各种系统芯片的JATG
都差不多,主要差异在于主处理器是ARM7,还是AMR9,现在几乎都是ARM9的,也还有少数ARM7的。

(2)程序下载接口
程序下载一般使用USB 、UART 数据口,也可以使用前面介绍的JATG 进行程序下载。

USB 口为通用标准的数据口,计算机的UART 一般为RS232的,和终端处理器的UART 不能直接连接,需要作电平转换或转USB 口进行。

(3)存储器接口
移动通信终端系统的存储器主要有NAND+SDRAM 和
NOR+PSRAM 两种MCP 类型,也使用有NOR+PSRAM+NAND
的MCP 组合,主要是针对添加多媒体DSP 的应用情况,现在已经没有了。

支持什么存储器接口基本是由系统芯片决定的,支持存储器的容量也是有系统芯片决定的,系统芯片一定所能选择的存储器类型就基本已定了,只是根据自己的应用选择最经济的存储器完成设计。

3软件系统设计
3.1模拟电压的读取
充电过程中,不只测试电池电压,还需要测试充电器输
入端的电压,适合的电压才认为是充电的电源,否则不充电。

3.2VB 对数据库的访问和管理
各种数据采集系统所用的数据采集程序如下。

(1)生产厂商为该采集系统编制的专用程序,常用于大型专用系统。

(2
)固化的采集程序,常用于小型专用系统。

(3)生产厂商提供的软件工具或白行编制的采集程序,主要用于组合式系统。

从基类CToolBarCtrl 中派生需要的类CstandardBar 。

选择“Insert ”/“New Class...”菜单项,在弹出来的“New Class ”对话框中设置“Class Type ”为“MFC Class ”,在“Class In -
fomation ”中的Name 编辑框中键入“CstandardBar ”,然后在
“Base Class ”下拉列表框中选择“CtoolBarCtrl ”,最后单击“
OK ”按钮。

AddStrings (pString)返回一个字符串的基于0的
编号,该值用来连接字符串到按钮上,其中的字符串参数
pString 需要两个结束符来表示结尾,必须将字符串写成如下
形式:pString="Only one string to add\0"CString 类不能提供这样的功能,因为不可能在CString 中保存超过一个结束符的字符串。

所以,将CString 中的字符串取出,以char 定义的字符串保存,再对该字符串添加一个结束符,做法如下:
CString string;
string.LoadString (nIndex +IDSTR_TFDJ);//装载字符串资源
//取得字符串的长度为了添加一个结束符,给长度加1int nStringLength =string.GetLength ()+1;TCHAR
*
pString
=
string.GetBufferSetLength
(nStringLength);//按增加后的长度返回字符串pString [nStringLength]=0;3.3报表的输出
用缺陷去除模式分析在每个阶段被注入的(或被创建的)
图1工控机的基本组成

开测待
压力传感器
位移传感器
m Ω电阻表
信号处理
数据采集工控机
显示器键盘鼠标打印机
(下转到36页)
通过数据总线或者点对点的数据接口实现数据的交换。

采用这种模式不需要重复保存数据,即用即提,安全又高效,是现阶段高校整合系统采用的主流方式。

3使用中间件构建异构数据的集成数据平台多系统数据之所以难以共享最主要的原因在于各系统之间数据的异构。

这种异构或者是由各系统运行所处的计算机体系结构的差异造成,如大型机与工作站的区别;也可能是系统使用的操作系统的不同所产生;不过最普遍的异构还是由于各系统采用的数据库管理系统本身的差异形成[1]。

对于异构数据的集成和交换来说,虽然许多数据库厂商都自行开发了专用的API接口实现数据的提取和转换,但是这些接口都专用于各自数据库系统,缺乏统一的标准,在面对多个异构系统的互联时,接口的复杂度呈指数级递增,通用性不强。

而目前较为主流的方法是使用中间件技术架构通用数据交换平台。

中间件是一种基于分布式处理的独立的系统软件和服务程序。

它部署在联网的各系统的软、硬件平台之上,位于异构数据库系统和应用程序之间,一面协调下层的各数据库系统,另一面向上层访问集成数据的应用程序提供统一的中间模式和大量API接口。

中间件把各系统的数据和应用封装在这个中间模式中,屏蔽了异构系统中复杂的操作和网络协议,不仅实现了系统的互联还实现了各异构系统对数据的透明访问。

使用中间件技术定义了一个相对稳定的高层应用环境,即便底层的计算机硬件和系统软件更新了,中间件也只需随之升级,就能使应用软件在几乎不做任何修改的情况下正常使用,给软件维护带来了便利。

4基于XML的高校异构数据交换平台设计可扩展标记语言XML(Extensible Markup Language)是一种可编辑、易解析的数据模式,它可以表示为任何类型的结构化或半结构化信息,很适合用来描述各种异构数据源。

而且随着相关技术和应用的发展,XML逐渐成为了应用间集成数据的一种标准。

通过将中间件技术与XML技术相结合,就能够实现抽象中间层,使得一所高校中所有的部门信息都在这个中间层中以XML格式进行数据交互。

Microsoft Biztalk Server是微软公司的核心产品之一,它体现了面向服务的体系结构(SOA)的编程模式,为构建松散耦合软件提供解决方案,为企业应用整合和流程自动化提供灵活的基础构架。

根据高校信息系统现状及存在的问题,为保证数据交换平台具有可扩展性、开放性和可靠性,针对其分布式应用的特点选用微软的.NET作为开发平台,以XML作为数据交换的格式,基于微软的Biztalk消息交换中间件技术进行高校异构数据交换平台设计。

基于XML的高校异构数据交换平台由应用层、中间层、数据层三层组成。

应用层为用户提供统一的全局查询界面。

用户可以通过这个界面进行综合信息查询并得到集成的查询结果,而底层各部门数据源对用户是透明的。

中间层实现异构数据集成的主要业务逻辑,包括公共模型、查询处理器、结果集成器、Web服务模块、查询和结果转换器等。

数据层是各异构数据源的集合,数据源可能是关系数据库、半结构化的XML文档也可能是HTML文档等,而且每一个数据源都可以位于Web上不同的服务节点。

平台的中间层采用核心元数据和节点元数据两级元数据方式。

各部门系统的数据服务器通过登录数据交换平台的元数据服务器建立连接。

平台通过客户端向用户提供帐号和权限。

当用户登陆元数据服务系统后,通过关键字匹配核心元数据,然后就可以进一步匹配到节点元数据,所以选中核心元数据,通过标准化的Web Service接口就可以把所需要的数据从各部门的数据库中调出。

5结语
通过将分散在校园各部门系统中的异构信息进行整合集成,提高了高校不同部门之间的协同工作效率,解决了制约高校信息化的瓶颈,为学校决策提供了综合信息查询的依据。

后续还需做更多、更全面的研究和开发工作来对高校数据交换平台做进一步完善和发展。

参考文献
[1]周涛,王霞.高校信息资源异构数据源的整合[J].北京:
中华医学图书情报杂志,2012,(02).
[2]程学先,蒋慧婷.异构数据源集成实现的研究[J].长沙:
计算机工程与科学,2008,(08).
[3]黎明.基于XML的数据交换中间件的研究与实现[D].
苏州大学,2005.
错误、被发现的错误(通过测试或质量保证发现的),以及被去除的错误(通过修复、确认测试或回归测试)。

然而,为了支持需要的数据收集,错误管理过程需要工程小组识别出错误的注入阶段,且需要测试小组识别出错误的发现阶段和错误的去除阶段。

错误跟踪系统需要获取每个错误的这3个值[4]。

4结语
总之,为了解决速度上的不一致,绝大多数数据采集系统的缓冲器使用循环式或环形缓冲器。

产生数据的进程(生产者)把信息加入到缓冲器,使用数据的进程(消费者)从这个缓冲器中取走信息。

显然,一定要有一个相互排斥机制以防止生产者和消费者进程同时对这个缓冲器中的同一个元素进行存取。

参考文献
[1]李江全,汤智辉,等.VISUAL BASIC数据采集与串口通
信测控应用实战[M].人民邮电出版社,2010,06:236.
[2]郑锋,王巧芝.51单片机应用系统典型模拟开发大全
[M].中国铁道出版社,2010,06:162-163.
[3]李江全,刘恩博.LABVIEW虚拟仪器数据采集与串口通
信测控应用实战[M].人民邮电出版社,2010,06:278-280.
[4]Sophocles J.Orfanidis.信号处理导论.北京:清华大学出
版社,2009,8:98-100.
(上接第28页)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!。

相关文档
最新文档