帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:1&分页:沉默作为回答发信人: EuroPad (好奇的中年 | 不断的犯错,又不断的远离), 信区: VI
标&&题: [合集] labview的停止按钮不起作用的问题
发信站: 水木社区 (Thu Sep 13 12:52:19 2012), 站内 && ☆─────────────────────────────────────☆ &&
triones812 (付出代价才会明白) 于
(Fri Jun 22 16:25:15 2012)
提到: && 我的程序中,点开始按钮后,执行开始事件,但是此时我再点停止按钮,程序不能停止,需要说明的是, 我的开始事件里面有个for循环,我想,是不是因为循环不结束的话,停止按钮没法响应?请教大家,谢谢~ &&&& ☆─────────────────────────────────────☆ &&
triones812 (付出代价才会明白) 于
(Sat Jun 23 21:29:47 2012)
提到: &&&& 【 在 triones812 (付出代价才会明白) 的大作中提到: 】
: 我的程序中,点开始按钮后,执行开始事件,但是此时我再点停止按钮,程序不能停止,需要说明的是, 我的开始事件里面有个for循环,我想,是不是因为循环不结束的话,停止按钮没法响应?请教大家,谢谢~
&&&& 没人理我啊。。高手们帮帮忙哦。。。向英明的斑竹求援!! &&&& ☆─────────────────────────────────────☆ &&
dennes (laok) 于
(Mon Jun 25 10:04:49 2012)
提到: && 在编辑事件的属性时,
有一个锁定全面版,你看看那里
希望我说的是正确的
【 在 triones812 (付出代价才会明白) 的大作中提到: 】
: 没人理我啊。。高手们帮帮忙哦。。。向英明的斑竹求援!!
&&&&&&&& ☆─────────────────────────────────────☆ &&
triones812 (付出代价才会明白) 于
(Mon Jun 25 13:46:52 2012)
提到: &&&& 【 在 dennes 的大作中提到: 】
: 在编辑事件的属性时,
: 有一个锁定全面版,你看看那里
: 希望我说的是正确的
: ...................
&& 你说的是最下方那个小框不打勾吗? 如果是这个,我试过了,好像不行,如果不是这个地方,那我再找找,谢谢先 &&&& ☆─────────────────────────────────────☆ &&
dennes (laok) 于
(Mon Jun 25 15:24:18 2012)
提到: && 你可以把程序发上来,大家帮你看看。这样可能更容易解决 && 【 在 triones812 (付出代价才会明白) 的大作中提到: 】
: 我的程序中,点开始按钮后,执行开始事件,但是此时我再点停止按钮,程序不能停止,需要说明的是, 我的开始事件里面有个for循环,我想,是不是因为循环不结束的话,停止按钮没法响应?请教大家,谢谢~
&&&&&&&& ☆─────────────────────────────────────☆ &&
EuroPad (好奇的中年 | 不断的犯错,又不断的远离) 于
(Mon Jun 25 23:17:39 2012)
提到: &&&&&&&&&&&& 如果内容不需要保密的话, 把那段发上来大家分析一下 && 【 在 triones812 (付出代价才会明白) 的大作中提到: 】
: 标&&题: labview的停止按钮不起作用的问题
: 发信站: 水木社区 (Fri Jun 22 16:25:15 2012), 站内
: 我的程序中,点开始按钮后,执行开始事件,但是此时我再点停止按钮,程序不能停止,需要说明的是, 我的开始事件里面有个for循环,我想,是不是因为循环不结束的话,停止按钮没法响应?请教大家,谢谢~
: ※ 来源:·水木社区 ·[FROM: 117.136.0.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
xionghsh (lucas) 于
(Wed Jun 27 15:30:27 2012)
提到: && 事件结构里不能有死循环,要不其它的事件没机会处理。改掉就好了。 &&&& ☆─────────────────────────────────────☆ &&
triones812 (付出代价才会明白) 于
(Mon Jul&&2 12:04:57 2012)
提到: &&&& 【 在 xionghsh (lucas) 的大作中提到: 】
: 事件结构里不能有死循环,要不其它的事件没机会处理。改掉就好了。
&&&& 我是在事件结构里面有个for循环,如果事件里面不能有循环,那我这个怎么改比较好呢?好像也不能把for拿到外面来。。。。 &&&& ☆─────────────────────────────────────☆ &&
xionghsh (lucas) 于
(Thu Jul&&5 12:44:56 2012)
提到: && 要不你上附件吧,再看看?
【 在 triones812 的大作中提到: 】
: 我是在事件结构里面有个for循环,如果事件里面不能有循环,那我这个怎么改比较好呢?好像也不能把for拿到外面来。。。。
&&&&&& ☆─────────────────────────────────────☆ &&
triones812 (付出代价才会明白) 于
(Sun Jul&&8 00:05:56 2012)
提到: &&&& 【 在 xionghsh (lucas) 的大作中提到: 】
: 要不你上附件吧,再看看?
&&&& 想到了一个办法,局部变量,中断for循环。。。 &&&& 文章数:1&分页:
抽奖到手软!将狂欢进行到底!【labview我来告诉你】使用键盘鼠标掌控labview - LabVIEW 资料区 - LabVIEW 论坛 -
中国电子顶级开发网论坛(EETOP) 国内顶级电子论坛,最活跃的电子工程师交流社区
【labview我来告诉你】使用键盘鼠标掌控labview
UID816210&帖子9749&精华4&积分163063&资产163063 信元&发贴收入95725 信元&推广收入0 信元&附件收入50223 信元&下载支出6330 信元&阅读权限255&在线时间1168 小时&注册时间&最后登录&
【labview我来告诉你】使用键盘鼠标掌控labview
本帖最后由 cjsb37 于
09:03 编辑
在LabVIEW中,我们常常希望能通过鼠标键盘的特定按钮,来实现特定的功能响应,但是LabVIEW布尔按键提供的快捷键实在是少得可怜~
我甚至曾经在一个国外的论坛上看见有人提问:“如何在LabVIEW上实现任意按键的响应”,回答者提供的***是“调用winapi”,并附上了一个例程,但据我亲测,这个调用在按键过于频繁时,偶尔会出现LabVIEW直接死掉的问题~
其实,LabVIEW早已为大家提供了丰富的按键响应函数,鼠标键盘摇杆一应俱全:函数选板--&互连接口--&输入设备控制&&里面一应俱全,怎么用呢?帮助面板有NI早已提供的例程,但这些还不够,因为例程只是搞熟了逆函数的功能,对于初学者,还需要一个具体使用的例程;
下面这只赛跑的小猴子会为大家演示这个过程~
该VI是一个任意按键响应方法的例程,里面包含两个线程(在实际使用中,我们希望响应按键的线程不要影响我们程序的主线程:即没有按键时我们的程序要正常运行,有按键时我们的程序要及时响应)
按下空格或者鼠标点击小猴子,看看他蹦的高么?:)
此外,本VI中还包含了一个技巧,即:合理的使用GIF图像,讲使你的编程界面收到意想不到的效果哦!
(31.44 KB)
下载次数: 20
下载消耗 资产 1 信元&下载支出 -1 信元&
[通过 QQ、MSN 分享给朋友]
TI信号链专区正式上线,欢迎访问! 上传我的文档
下载
收藏
该文档贡献者很忙,什么也没留下。
下载此文档
正在努力加载中...
最新整理LabVIEW快捷键
下载积分:1000
内容提示:最新整理LabVIEW快捷键
文档格式:PDF|
浏览次数:174|
上传日期: 14:29:32|
文档星级:
该用户还上传了这些文档
最新整理LabVIEW快捷键
官方公共微信捷配欢迎您!
微信扫一扫关注我们
当前位置:&>>&&>>&&>>&LabWindows/CVI 在虚拟信号发生器设计中的应用
&&&& 摘要:通过虚拟信号发生器的设计,阐述利用LabWindows/CVI 进行设计的方法、步骤和实现技术,并借此展望虚拟仪器的广阔应用前景。利用其软件开发平台,按步骤阐述了虚拟信号发生器设计和实现过程,最终实现了信号发生器的设计,该信号发生器可以选择波形以及幅值和频率,功能可以由用户根据需要自行设计或扩展,人机界面友好。
20 世纪80 年代中后期,国外提出了“虚拟仪器”、“虚拟系统”的概念,随着微技术、计算机技术的飞速发展及其在测量与仪器上的应用,测试领域的新理论、新方法以及仪器结构不断出现,突破了传统仪器的概念,继而开创了的新时代——虚拟仪器。虚拟仪器技术最核心的思想就是利用计算机的硬/软件资源,使本来需要硬件实现的技术软件化(虚拟化),以便最大限度的降低系统成本,增强系统的功能和灵活性。
虚拟仪器技术的实质是利用最新的计算机技术来实现和扩展传统仪器的功能。其基本构成包括计算机、虚拟仪器软件、硬件接口模块等。在这里,硬件仅是为了解决信号的输入输出,软件才是整个系统的关键。当基本硬件确定了以后,就可以通过不同的软件实现不同的功能。虚拟仪器应用软件集成了仪器的所有采集、控制、数据分析、结果输出和用户界面等功能,使传统仪器的某些硬件甚至整个仪器都被计算机软件所代替。虚拟仪器系统的设计与实现已成为仪器产业发展的一个重要方向,代表着一起发展的最新方向和潮流,是信息技术的一个重要领域,开创了个人计算机仪器时代,是工业发展的一个里程碑,其思想将更多地渗透到未来和自动化测试技术的发展中去,有着广泛的发展和应用前景。
1 硬件组成
虚拟仪器的硬件平台主要是解决信号的输入输出,由计算机和I/O 接口设备组成的,计算机是硬件平台的核心,一般是工作站、工控机,亦可以是普通的带插槽的个人计算机. I/O接口设备负责被测信号的采集、调整、放大,以及A/D 转换。本文中硬件由工控机及其接口,数据采集卡和放大及滤波电路构成,其原理框图如图1 所示:
图1 硬件原理框图
本设计用的数据采集设备是采用 NI 公司生产的1200 系列Lab-PC-1200,这是一种性能优良低价位适合PC 及兼容机的数据采集卡,它能够完成信号采集(A/D),数字信号的模拟输出(D/A)及定时/计数功能。它具有8 个12 位模拟量输入通道, 2 个12 位模拟量输出通道, 24 个数字量I/O 接口和3 个16 位定时/计数器。Lab-PC-1200 输出的模拟信号通过进行滤波平滑、放大后即可使用。其中滤波器的选择视输出信号频率范围而定,放大倍数根据实际需要分不同的档位。
2 仪器面板设计
仪器软件开发采用的是美国 NI 公司的虚拟仪器开发环境LabWindows/CVI,它是基于C语言的半图形化软件开发平台,将使用灵活的C 语言平台与用于数据采集、分析和显示的测控专业工具有机结合起来,利用它的集成开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C 语言的功能,为熟悉C 语言的开发设计人员便于编写检测系统、自动测试系统、数据采集系统等应用软件提供的一个理想的软件开发环境。面板设计过程包括创建控件和修改控件属性两部分,设计的前面板如图 2 所示。
图2 仪器前面板
2.1 创建控件
用户界面共 6 个控件:两个Graph 控件,三个Ring 控件,一个Command Button.。启动CVI 在工程窗口中选择File→New→User (*.uir),打开用户界面编辑窗口,在其中点右键,依次选择Graph 控件,Ring 控件和 Command Button.,依次拖放好各自位置。
2.2 修改控件属性
波形选择 Ring 控件主要是要产生几种波形选项,包括无,正弦波,三角波,锯齿波,方波。双击Ring 控件进行设置,将Label 设置为“波形选择”将Constant
设置为“W***EFORM”将Callback Function 设置“WaveFormChooseCB”,然后通过Label/ValuePairs…设置Ring 控件的选择项。Graph 控件和Command Button 控件设置与Ring 控件类似。修改完成后,选择 File→Save as,保存.uir 文件,其文件名为信号发生器.uir 保存,点击Save 关闭保存文件对话框。
3 仪器程序设计
仪器的程序设计是整个虚拟仪器的核心部分,在用户完成用户界面设计后,CVI 可自动生成程序的框架以及缺醒消息处理函数,只要在这些函数中添加所需的代码即可完成程序的设计。具体操作如下:在用户界面窗口菜单中选择Code→Generate All Code,点OK 键即可进入代码编辑窗口,即可生成程序的框架,限于篇幅有限,本文只写出自己根据仪器需要自己编写的部分代码。首先在源代码窗口main 函数上方输入如下代码声明变量和函数,如
完成波形选择函数:
编写调用函数show_wave()
当点击用户界面上的波形选择时,程序将自动执行WaveFormChooseCB 函数,实现函数波形和频谱的产生并显示。
添加完成以上代码添加后,在源代码窗口里选择File→Save,以文件名信号发生器.c 保存源文件。
4 调试运行
在工程窗口中选择:Edit→Add Files To Project…→All Files,依次将前述用户界面文件,源程序代码文件以及自动生成的头文件添加到工程文件中,现在已完成信号发生器.prj。选择工程窗口Run→Debug 信号发生器_dbg.exe 执行代码,编译过程中LabWindows/CVI 会发现程序缺少ansi_c.h 引用并弹出对话框询问是否在源文件中加入引用语句,点击Yes 添加该应用文件,接着根据提示在运行前保存对文件‘信号发生器.c’的修改。
运行时,我们选择锯齿波为例,在波形选择键选中锯齿波,幅值为1.12V,频率为62.39Hz,在波形显示上得到一个锯齿波并在频谱显示上显示其频谱,如图3。
图3 锯齿波波形图及频谱图
5 结论
本文通过以 LabWindows/CVI 为虚拟仪器的开发工具进行虚拟信号发生器的设计,充分利用了计算机的强大信息处理能力和LabWindows/CVI 强大的开发功能与灵活的编程手段,最终实现了虚拟信号发生器的设计,可以看出虚拟仪器给用户提供了一个充分发挥自己才能和想象力的空间,可根据用户自己的设想及要求,通过编程来设计、组建自己的仪器系统,它的灵活、开放,技术更新周期短,可随着计算机技术的发展和用户的需求进行仪器与系统的升级,在性能维护和灵活组态等多个方面有着传统仪器无法比拟的优点。&&来源:
技术资料出处:ameg
该文章仅供学习参考使用,版权归作者所有。
因本网站内容较多,未能及时联系上的作者,请按本网站显示的方式与我们联系。
【】【】【】【】
上一篇:下一篇:
本文已有(0)篇评论
发表技术资料评论,请使用文明用语
字符数不能超过255
暂且没有评论!
12345678910
12345678910
12345678910
本文为您介绍波峰焊平常使用会碰到的焊接问题,以及对应的焊接解决方法。
A、 焊料不足:
[][][][][][][][][][]
IC热门型号
IC现货型号
推荐电子百科