1 / 14
文档名称:

第八章 较深入的问题和技巧.doc

格式:doc   页数:14
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第八章 较深入的问题和技巧.doc

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第八章 较深入的问题和技巧.doc

文档介绍

文档介绍:第八章较深入的问题和技巧
本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。
1 局部变量
严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在LabVIEW这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的LabVIEW内容中,只有移位积存器即可输入又可输出。
另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此LabVIEW引入了局部变量。
局部变量的创建
我们在框图上设置三个变量,两个控制器分别为Numeric和Numeric 2,现在增加局部变量。选择Function→Structures→Local Variable 然后将其拖到框图上,就可得到一个代“?”的图标,下一步将其与框图中已有的变量建立关联,有鼠标右键单击图标,进入Select Item选择“input1”,最后框图就变成了图7-1右边的样子。
图7-1 局部变量的创建
局部变量只是原变量的一个数据拷贝,但是它的属性可以修改,并且这种改变不会影响原变量。例如上图中的这个局部变量可以利用快捷菜单中的Change To Read 变成一个指示器。这样的一对变量的组合,就使它既可读又可写了。局部变量有三种基本的用途:控制初始化、协调控制功能、临时保存数据和传递数据。下面我们通过练习来说明。
应用举例
练习8-1 用一个开关控制两个循环
]
该练习中有两个While循环,现在我们用一个开关同时控制它们的运行。面板与框图如上所示。在左边的一个循环中设定了一个开关。右边的循环中做了这个开关的局部变量。并且在快捷菜单中选Chang To Read,最后与循环的条件端子连接。这样就实现了所须的功能。
练习8-1 结束
练习8-2 创建一组互锁的开关
面板及框图如上所示。这是一个精巧的程序,它非常简洁地实现了所须的功能,面板上的四个按钮开关,在任何时刻只允许有一个被按下(True状态)。当另一按钮被按下时,原先在按下状态的按钮将自动弹起。下面对程序做几点说明。
程序的基本算法:
在While 循环中通过一对移位寄存器将当前数组内容(开关状态)与前一次循环时的数组内容不断比较。如果没有变化,则通过“相等判断”将选择器上输入端的数据送到选择器输出端,并送到移位寄存器。如果有变化,则“相等判断”的输出端将把“F”送到选择器,选择器将选取其下输入端的数据到输出。那么下输入端的数据是什么呢?现在我们举例说明,假如4个开关原来的状态从左到右是“0100”,即开关2闭合。现在按下开关1,则当前数组内容立即变为“1100”与前一状态“0100”逐位做异或运算后,在异或门输出端得到的结果是“1000”,这个结果送给了选择器下输入端,在选择器输出端送到移位寄存器的同时还通过一个Array的局部变量,使数组内容更新为“1000”,即使开关2弹起。
局部变量的作用:
循环内的局部变量使得更新后的数据可以写入数组,没有它数组Array只能读,不能写。循环外的局部变量用来将数组初始化。
,而不是对一个个数组元素操作,如果需要增加面板上的开关个数,只需要改变数组初始化中的元素个数,并在面板上拖出需要的开关个数。
练习8-2 结束
练习8-3 仪器面板控制按钮的完善

在前面的练习6-7中,我们曾给出了一个非常简洁的连续正弦波发生器的例子。框图如上所示。但从使用的角度这个程序不够完善。例如程序启动后开始发生波形,这时如果你希望调试改变波形的频率和幅值。则改完后必须再次重新启动运行。因为这些值是作为程序的初值出现的。这显然不太方便。如果我们希望能在任意时刻调整参数波形都能“立即”响应,则可以利用局部变量来完善按钮的控制作用。一个较完善的程序如下所示。
这是一个正弦波信号发生器,它允许在运行中随时调整参数而不必重新启动。这个程序增加了内外两层循环,并且对幅值、频率设置了两套局部变量,利用内层循环监视当前时刻和前一时刻的值。如果没有变化,信号源持续工作,内循环一直执行下去。如果发现当前时刻和前一时刻的参数发生了变化,则结束内层循环,并使外循环前进一步(执行第二次外循环),相当于程序重新启动,则信号源按新的设置参数运行。另外注意开关的作用,当开关按下时,先终止内层循环,然后终止内层循环,同时Clear generation。

最近更新

2025年西安电力高等专科学校单招职业技能测试.. 41页

2025年西安铁路职业技术学院单招职业技能测试.. 41页

2026年德州职业技术学院单招职业适应性考试模.. 43页

2026年忻州职业技术学院单招职业适应性测试模.. 42页

2026年成都艺术职业大学单招职业适应性测试模.. 42页

2025年贵州职业技术学院单招职业适应性测试题.. 40页

2025年贵州财经职业学院单招职业适应性测试模.. 38页

2026年晋城职业技术学院单招职业倾向性测试模.. 42页

2025年赣南卫生健康职业学院单招职业适应性考.. 41页

2025年辽宁城市建设职业技术学院单招职业倾向.. 42页

2026年武汉信息传播职业技术学院单招职业技能.. 43页

2025年辽宁现代服务职业技术学院单招职业倾向.. 39页

2025年辽宁省大连市单招职业倾向性测试模拟测.. 40页

2025年辽宁省铁岭市单招职业适应性考试模拟测.. 41页

2025年辽宁装备制造职业技术学院单招职业倾向.. 41页

2025年运城师范高等专科学校单招职业技能考试.. 39页

2025年遵义医药高等专科学校单招职业倾向性测.. 40页

2025年郑州信息工程职业学院单招职业倾向性测.. 40页

2025年郑州城市职业学院单招综合素质考试模拟.. 39页

2025年郑州澍青医学高等专科学校单招职业技能.. 41页

2026年河北机电职业技术学院单招职业适应性考.. 41页

2025年郑州财税金融职业学院单招职业适应性考.. 41页

2026年河南对外经济贸易职业学院单招职业适应.. 40页

2026年河南省南阳市单招职业适应性考试题库及.. 41页

2025年重庆医药高等专科学校单招职业适应性考.. 40页

2026年泸州医疗器械职业学院单招职业适应性考.. 42页

2025年重庆市巴中地区单招职业适应性考试模拟.. 40页

2026年清远职业技术学院单招职测备考题库附答.. 42页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页