-基于Labview的多通道数据采集系统设计(2)

2019-08-31 16:22

目标后,需要采用较为全面的程序开发方法,例如,模块化的设计思想,结构设计方法,多线程等。

一、 程序设计的模块化原则

模块化的结构是程序系统设计的基本原则,任何一个相对较大的程序系统,都是由若干个功能相对独立的模块组成。良好的程序系统应体现由上到下的控制方式,各种模块之间的控制方式表现为统帅与从属的关系。

从属块内联系块间联系块内联系统帅块间联系

图5-1 模块化结构

模块化的基本特征,包括信息提取和信息隐藏。摘要模块实际数据和过程。模块化的问题是抽象的最高水平,抽象的术语可以用来描述了面向问题的语言环境。模块化的观念与精益求精的方法,就是把任务的术语与方案的术语结合在一起。

模块独立性可由两个定性的标准进行度量:即块内联系与块间联系,如图5-1所示。块内联系是指一个模块其内部各个部分之间的联系。一个模块的块内联系越大,模块独立性就会提高。块间联系指的是各个模块彼此之间的信息传递,块间联系变小,那么模块之间的独立性也就会变高。好的模块结构,块间联系应尽可能小,块内联系应尽可能大。

二、 软件系统的模块化设计原则

为了保证系统的设计具有良好的可靠性,易扩展,易维护,易拆卸,软件系统应该遵循一个标准的设计原则,设计。

(1)自上到下逐步求精

在开始的时候,软件的设计通常不是所有的细节来解决问题,只能考虑全局性的问题,即设计解决问题的抽象算法策略。然后对抽象算法做更精细的工作,进入下一层抽象。在求精过程的当中,抽象概念都将被细节化。

(2)依据逻辑序列划分功能模块

① 模块的分解:消除不同模块间重复的部分,提高模块的块内联系,降低块间的联系。

② 模块的合并; ③ 模块的复制。

(3)基于逻辑函数确定模块之间的调用关系

模块之间的调用与被调用关系,取决于模块各自的逻辑功能,因而对模块的渐入进出没有加以限制的必要。 (4)模块的控制范围大于模块的作用范围

模块的作用范围是指模块内判定影响的范围。只要某模块中含有依赖于某种判定操作,则该模块就处于该判定的作用范围之内。

(5)模块接口应简明

保持简洁的接口模块,是模块的设计必须考虑的问题。减少模块间传递的信息量,使所传递的必要信息具有明确的逻辑含义才能保持模块接口的简明。

(6)模块应保持单入口性质

具有一端接口的模块便于人们理解。副作用的减少,错误的发生率也会减少。出口的模块可以有多种,但必须有一个清晰的逻辑意义。

(7)提高可扩展性的模块化结构,需要增加的中间判断水平

图5-2-a,模块A可以调用B,在以后扩充时还需要让A调用C如图5-2-b。 这样在扩展时,除增加C外,还需要修改A,这种修改很大情况下是困难的。

图5-2-c ,如果增加一个中间判断层模块F,以一个开关量Flag决定模块A需要调用的模块,这样对A的修改,仅局限于Flag的设置,就大大减少了工作量。

AAAAFlag=?BBCB(a)(b)(c)BFlag=?C(d)

图5-2 模块结构增加了判断水平

三、 本设计的软件系统模块划分

本软件编程系统模块包括有系统管理,数据采集,数据保存,历史数据的查询等功能。图5-3显示多通道数据采集模块的具体结构。

多通道数据采集系统管理采集滤波实时数据显示实时数据保存历史数据回放远程数据查询报警记录创建用户修改密码删除用户全图显示单量显示表格显示图表显示 图5-3 多通道数据采集模块

第二节 多线程技术

为了完成多通道数据采集系统的设计,软件部分要实现数据采集,数据分析和处理,数据存储和实时显示等功能。在用户眼中,这些任务是同时进行的。事实上,使用Windows操作系统的多线程机制,数据采集与存储可以同时进行,每个模块可以运行的有条不紊。

一、 Windows的多线程机制

Windows是一个多任务操作系统,每个运行的程序对应着一个进程,而在一个进程内又可以有几个线程。Windows系统的CPU操作分成许多小的时间片,根据每个进程和线程的优先级分配内部过程,使多个应用程序可以”和“操作。在他们自己的时间执行相同的过程不同的线程,以避免时间冲突的可能性。

二、 LabVIEW与多线程

多线程技术能够让多个独立的任务同时并发执行,这样极大地提高了程序的运行效率。LabVIEW软件把线程间的通信和线程管理等复杂的操作封装了起来,因此用户即便是不用学习复杂的多线程编程就可以编写出多线程程序。在LabVIEW软件中,图形化编程方式为开发多线程代码带来了极大的方便,用户在数据流的编程环境中,可以很容易地追踪到并行代码,例如,两个独立的圆形或子VI在两段代表可以同时执行的代码。

多线程的优点:

(1)极大地提高的CPU的利用率 (2)使得系统可靠性更高

(3)提高了在多处理器计算机上的执行速度

三、 多线程技术在本设计中的应用

为了实现多通道数据采集系统中需要实现的采集、显示、查询、报警和系统其他操作的并行执行,本设计在程序设计时创建了两个工作线程:一个是数据采样工作线程,数据采集和存储功能的实现,一个是超越的系统线程报警等功能的范围的数据,负责在缓冲区定时磁盘数据。当统工作时,这两个工作线程就会被创建执行。两者不同的是,采样工作线程是循不间断的循环工作,只有退出程序才会停止;然而存储工作线程会在某一特定的时刻运行,比如当堆栈区满亦或程序执行结束的时候。信号采集和数据存储是长时间的运行,这是由工业生产的实际情况确定

多线程技术的采用,使得实时数据采集系统和程序的其他功能,如数据显示,读取和存储在独立的时间上运行,解决了时间的问题,也就解决了他们之间的冲突问题,提高了数据采集系统的稳定性。

在循环内数据传输的范围是线程间的数据传输,能够由全局变量,局部变量,共享变量和队列以及其他方式来完成。线程之间的同步即循环之间的同步,可以由同步技术来实现。通过定时循环的方法将两个周期设置为不同的优先级。


-基于Labview的多通道数据采集系统设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:职业安全健康教育制度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: