3.3--数据流运行机制中的节点教学文案.doc
《3.3--数据流运行机制中的节点教学文案.doc》由会员分享,可在线阅读,更多相关《3.3--数据流运行机制中的节点教学文案.doc(44页珍藏版)》请在咨信网上搜索。
1、3.3 数据流运行机制中的节点精品文档3.3 数据流运行机制中的节点(The data flow node in the operational mechanism)版本 8 创建于: 2010-9-30 下午8:16 作者 jwdz - 最后修改: 2010-10-29 下午8:21 作者 jwdz 前面已经介绍过图形化语言中端子、连线的基本作用和数据流运行机制下的特点。本节将介绍图形化语言中其它的节点类型基本作用和数据流运行机制下的特点。 节点包括:内置函数、内置VI和结构。 节点类似于文本编程语言中的语句、函数、和子程序。 下面我们分别进行讨论。3.3.1 内置函数的数据流运行机制3.3
2、.1.1 内置函数节点 我们之所以称LabVIEW开发环境所提供的函数为内置函数是想表明这些函数是开发环境中所特有的,并内置在开发环境中提供给图形化程序设计者使用。内置函数包含在开发 环境的程序框图中的“函数 Functions ”选项板上。它是构成图形化语言VI中最小的、最基本的可操作元素,是图形化程序执行基本操作的内部节点。 作为图形化语言中的最小可执行元素,内置函数不仅具备了最基本的函数功能如:加、减、乘、除、常数、常量等等外,同时还具备处理更复杂事物的函数功能如:数组处理、字符 串处理等等。如此众多、功能强大的内置函数保证了LabVIEW基本上具备了通用编程语言的基本特征。 内置函数图
3、标的背景颜色为浅黄色,很容易分辨。它不同于VI,它没有前面版和程序框图,只有简单的连接端口,所以我们无法查看它的内部程序代码。 下面给出进行数组操作用的一些内置函数。 图 3.3.1.1-1 数组操作内置函数 内置函数是LabVIEW图形化语言的基础内核,是从高级语言中高度抽象出来的最底层、最基础、最实用的图形化代码,是构成性能强大的虚拟仪器的基础“零部件”。内置函 数的功能越丰富对待解问题的处理能力就越强。 如果要想学习、使用好LabVIEW最重要的基础就是充分了解内置函数的基本特性和使用方法。只有这样,才能充分发挥出图形化语言的特点,设计出满足用户需求的自动化应 用程序。 对于内置函数的学
4、习,最重要的是详细解读LabVIEW Help文档,该文档中包含了每个内置函数的详细说明。对于中文版的LabVIEW,已提供了汉化的文档。与此同时,更多看其它LabVIEW开好者设计的例程,如Op enG、MGI的开源图形化代码及NI 开发者社区中LabVIEW开好者所提供的例程等等也是受益匪浅的。在这方面花费一定的时间是非常值得的。3.3.1.2 内置函数的基本特点内置函数虽然数量众多、功能不一,但存在着许多共同的特点。下面我们对这些特点进行简单的总结:基于数据流的运行机制,内置函数至少有一个以上的连接端口。对于双端以上的内置函数通常是以输入端和输出端的形式呈现 内置函数的内部是不可见的,程
5、序的设计者或使用者是不可对其进行编辑和修改 内置函数是构成VI或子VI的最基本操作元素之一 内置函数是节点中的一部分,可通过颜色辨别(图标中的背景为浅黄色) 内置函数是直接命名的 内置函数通常没有公共线程(错误簇) 有时候总会有些例外的事情发生,它的最后这个特点就存在着例外的现象,请看下面的例子:加、减、乘、除这些内置函数当它们的输入数据为波形数据时,它们会自动生成公共线 程连接端错误簇(做时域的加、减、乘、除)。参见下图。图 3.3.1.2-1 内置函数加、减、乘、除作时域运算时自动生成的错误簇 这是一个极为有趣且很有用的功能,在功率测量的项目中,利用这个特点实现了有功功率的时域乘法计算。并
6、且,这种时域相乘的方法反映出的的功率和功率因数特性也非常准确和 直观,是一个非常简单、线性度又非常好的时域乘法器(性能取决于数据采集卡),前提是必须使用同步采集模块。 千万不要小看这个特点,这里表现出一些很可贵的时域特征。 以“乘”内置函数为例,我们知道,乘法器是比较常用的模拟运算单元电路。在模拟集成电路中,集成乘法器ICAD536就很具有代表性。但是,它的四象限乘法特性很难 做到优于0.2,并且输入信号带宽很有限。 在分立元件电路中,时分割乘法器很有代表性。为获得0.02的时分割乘法器,其所付出的代价是极其昂贵的,并且输入信号带宽很有限。 采用数据采集方法,数字乘法器(用“乘”内置函数)几乎
7、没有任何局限性。它配合628x系列数据采集卡可以获得多路0.01%数字乘法器,带宽可达10KHz以上。它的 角差特性更是其它类型的乘法器所无法比拟的。实际上,采取适当的方法或合理的技术方案,采用非同步数据采集卡也是可行的,这点我们已经做过技术上的验证。 数字乘法器(数字采样技术)不仅具有准确度高使用简单的特点,同时它也从测量原理上简化了测量电路和数据分析处理方法。事实上,目前世界上高准确度的功率电能表都采用了 这一原理。本书的第一章对此有具体描述。 还有一个例外发生就是:通过函数的前景色和背景色的色彩来划分函数的方法并非是很准确的,因为我们已经发现了几个例外:比如在NI LabVIEW 201
8、0的Functions选板中ProgrammingFile I/OFile Constants 中的“Application Directory”和“Default Dada”都是vi,因为对它们双击后可以被打开,并且它们的标签是以.vi为后缀的。 参见下图。图 3.3.1.2-2 颜色并不是确定内置函数的唯一方法 人们会注意到,它们也有淡黄色的背景,但它们确是vi。这样的例子还有多少?好像真的没见过更多类似这样的情况。而前者在LabVIEW 7.1.1中就已经出现了。所以仅仅通过色彩来判定是否是内置函数可能是不准确的。尽管如此,通过颜色来区分内置函数也不失为是一种便捷的方法。3.3.1.3
9、内置函数的数据流运行机制 这里我们所说的内置函数的数据流运行机制是指它所构成的图形化代码的数据流运行机制,而非是内置函数内部的运行机制。也就是说,数据流运行机制是针对图形化程序自身的特 点,由于内置函数的内部我们无法查看到,所以它的内部运行机制我们是不得而知的(也就是说,内部不一定是基于数据流运行机制的)。 如:有些内置函数放置到程序框图上时,依据数据流的运行机制,需要对它的输入端进行赋值,否则开发环境会在即时编译之后给出有错误发生的提示,并显示“运行箭头”断裂。 参见下图。 图 3.3.1.3-1 开发环境提示:输入端没有赋值,数据流不通 点击断裂的“箭头”就会弹出错误提示列表。其实质就是数
10、据不流通,破坏了数据流的关系,从而导致程序无法运行系统给出“出现错误”的提示。 图 3.3.1.3-2 修复错误(给输入端赋值) 当你“修复”这些错误时,“运行”箭头马上恢复正常。在这里所谓“修复”错误就是给它们赋值。所以在图形化程序设计中我们几乎不必担心会遗漏什么,内置在开发环境中的即 时编辑器会帮助我们洞察这一切。这也是 LabVIEW开发环境中的一个优异性能,它会直观、明确的告诉我们不处理好这些问题甭想正确运行程序。 并不是所有的内置函数都是这样的,按下图将函数放到程序框图上时,即时编译器并没有什么反映。对于随机数发生器当然不会出现任何问题,因为它没有输入端。 图 3.3.1.3-3 对
11、于输出类的内置函数也必须接到指定的端口 对于随机数下面的内置函数,当你放到程序框图上的时候是没有问题的,可是你运行它们时系统会要求你给出指定的参数设定,否者就会弹出一个错误对话框进行提示。这表明即便 是输出类型的内置函数也必须配置连接有效的端口,这同样也是基于数据流运行机制的要求。 所以,根据Help文件仔细的配置函数的输入对象是十分必要的。由于内置函数间的对象是依赖于连线来连接的,所以内置函数间的数据流关系是比较明显的。在图形化程序设计 中一定要按数据流原则进行设计。这也是LabVIEW图形化语言必须掌握的设计原则。 最后我们来看一个例子,使用LabVIEW内置函数创建一个实用的VI。例 3
12、.3.1.3-1 计算数组的平均值(MGI) 该例子来自MGIAverage.vi。 图 3.3.1.3-4 计算数组的平均值 该实例用了四个内置函数实现了对数组平均值的计算,并以vi的形式提供给公司内部或其它使用者使用。 实际上,对于任何LabVIEW的开发者,都可以根据自己的需求利用内置函数设计专用或常用的vi,这是具有创新力和很美妙、很令人赏心悦目的工作,甚至说不定还可以为 你带来财富,如OpenG(JKI)。3.3.2 内置VI的数据流运行机制3.3.2.1 内置VI节点 在前面的例 3.3.1.3-1中,已经展示了一个使用内置函数创建VI的实例。这是由使用者所创建的VI,属于用户开发
13、的VI。 在LabVIEW开发环境中,为了降低工程师和科学家的程序设计难度、提高图形化语言的开发效率,特别提供了数千种测控专用、功能丰富、性能各异的VI。特别是一些满足 工程应用和自动化设计所需的VI。这些VI在函数选板上同样可以看到(参见下图)。它们图标的背景颜色为白色或其它颜色,可以通过颜色来区分出来。 图 3.3.2.1-1 函数选板中的内置VI 为了区别这两种不同来源的VI,将LabVIEW开发环境所提供的VI称为:内置VI(built-in VIs)。 对于内置函数我们无法看到内部结构的,而内置VI用鼠标双击后可以打开。内置VI是从许多“待解问题”中高度抽象出来的。为我们解决实际测量
14、问题提供了极大的帮助,也是 提高虚拟仪器程序设计效率的主要因素。 内置VI也是节点的一部分。通常安装好LabVIEW后在函数选板上就可以看到,但是有些内置VI,需要安装其它软件获得。如DAQ或VISA或相应的工具包等等。 我们经常看到有些初学者安装好LabVIEW后,发现找不到DAQ助手或I/O助手。实际上就是没有安装相应的驱动所致。 内置VI与我们所创建的VI不同,由于内置VI来自于LabVIEW开发环境中的底层库,所以建议使用者轻易不要对它进行改动后保存,避免其它使用者找不到原来的VI。 若需要改动请另创建一个新的子VI或使用新的名字,保存到使用者库中。3.3.2.2 内置VI的基本特点
15、内置VI虽然数量众多、功能不一,但存在着许多共同的特点。下面我们对这些特点进行简单的总结:内置VI来自于LabVIEW开发环境,是由NI公司设计、开发的 内置VI有自己独特的前面版、程序框图和图标、连接器 内置VI的内部构成具有多样性 关于最后一点,所指的是内置VI内部代码的多样性。下面我们来看看。由内置函数构成的内置VI 该内置VI在ProgrammingSignal ProcessingWaveform GenerationSine Waveform.vi。 图 3.3.2.2-1 由内置函数构成的内置VI(LabVIEW2010) 从上图我们可以清楚的看出该内置VI完全是由内置函数等图形
16、化代码构成。应该说是纯图形化代码的。 有意思的是,在LabVIEW2009中,该vi是与上图中的vi不同的,参见下图。 图 3.3.2.2-1A 由内置函数构成的内置VI(LabVIEW2009) 不同之处在于在LabVIEW2009中,波形合成后是直接输出的。而在LabVIEW2010中,波形经过一个“in place element structure”内置函数进行了数据存储的优化。由此可见,对于内置函数NI也是在不断地进行优化处理,尽管这是一个一直用于各个版本、比较传统的内置函数。2. 由属性节点构成的内置VI 该内置VI在ProgrammingInstrumen I/OSerialVI
17、SA Configure Serial Port.vi。 图 3.3.2.2-2 由属性节点构成的内置VI3. 由公式节点构成的内置VI 该内置VI在ProgrammingNumericScalingConvert RTD Reading.vi。 图 3.3.2.2-3 由公式节点构成的内置VI4. 由动态链接库(CLN)节点构成的内置VI 该内置VI在ProgrammingSignal ProcessingSignal GenerationSine Pattern.vi。 图 3.3.2.2-4 由动态链接库(CLN)节点构成的内置VI5. 由CIN节点构成的内置VI在Mac版的LabVIE
18、W2009中还可以看到CIN节点,而在Mac版的LabVIEW2010中,已经看不到CIN节点了。想必已经被CLN所代替了。6. 由LabVIEW Scripting 节点构成的内置VI 现在LabVIEW Scripting已经添加到LabVIEW2010中。可是在刚刚安装完Mac版的LabVIEW2010时并没有看到LabVIEW Scripting的内置函数。当时感觉很奇怪,但当时也没有多想。直到安装OpenG工具包时,需要设置VI Server时才发现,选择其中的选项既可看到LabVIEW Scripting的内置函数。 在LabVIEW开发环境下,选择ToolsOptionVI Se
19、rver即可看到下图所示的界面。勾选VI Scripting中的选项即可。 图 3.3.2.2-6 在VI Server中设定LabVIEW Scripting VI Scripting是LabVIEW中一项非常重要和强大的功能。简而言之,就是使用LabVIEW图形化编程语言来创建LabVIEW中的程序元素。这些程序元素当然 包含一般的node, wire, structure等等。有个不太恰当的比方,比如众所周知,Eclipse是一套开发Java程序语言的工具,但是Eclipse本身也是用Java编写的,也就意味 着在使用Java开发Java。VI Scripting也类似,我们可以用Lab
20、VIEW开发LabVIEW。 一种比较准确的定义是:VI Scripting是LabVIEW提供的一种基于VI Server技术,让用户创建、修改以及了解VI信息的强大功能。使用VI Scripting可以得到VI的属性和行为,此外,我们还可以用VI Scripting改变VI的属性和行为。VI Scripting包含了一个接受指令的引擎,这些指令可以通过VI Server得到翻译,用来传给LabVIEW本身。VI中的所有东西都可以被认为是一种VI对象(object),包括FP/BD上的任何对象、 Connect Panel、Icon以及几乎所有保存在VI中信息。所有对VI对象的修改都可以在编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3.3 数据流 运行机制 中的 节点 教学 文案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。