- 积分
- 26
- 注册时间
- 2006-7-26
- 仿真币
-
- 最后登录
- 1970-1-1
|
这个帖子的目的是帮助初学者快速入门。 这里只是整理初学者容易碰到的问题,而且是概念性的问题。并不是帮助初学者解决编程时碰到的具体问题。 具体问题请到论坛里提问。
如果您是初学者,请提出您的问题。第一时刻想到的问题最好。如果您是资深爱好者,请写写学习LabVIEW的心得体会。 感谢keiran, georegezou, Qia_sky 的贡献! 为了少些繁琐,以下汇总不注明作者,见谅。
未经允许,不得转载。
---------------------------------------------------------------------------
应该怎样开始LabVIEW的学习
第一步:先看看NI的入门资料。了解一下虚拟仪器的概念,LabVIEW的应用领域,编程特点等。
第二步:照着LabVIEW Getting Started 依样画葫芦学一下。 (点LabVIEW开始画面右边New to LabVIEW>>Getting Started with LabVIEW)。这样你就对LabVIEW有个比较感性的认识了。知道LabVIEW编程的过程,一些基本的知识。
第三步:做些练习,找个有经验的LabVIEWer给你提提建议。 做了练习,使得你逐渐熟悉LabVIEW里的常用palette上的VI. 更重要的是培养良好的编程习惯,学习怎样自己学习LabVIEW.
第四部:做个实际的项目,还是要找个人给你提建议。 逐渐接触“设计模式”等软件工程的概念,思考作大的应用程序应该采用什么结构,开始注意程序的效率和维护性等问题。
怎样自己解决问题
当你碰到问题的时候,首先不是在论坛上去发贴。因该先自己研究研究。 可以从这几方面去考虑:
如果是用到硬件,先排除硬件出问题的可能性,你可以先用MAX或LabVIEW自带的例子采集信号看是不是正常。 如果有问题给NI打电话(记住不菲的价格里是包含技术支持的,没有好的技术支持,NI凭什么买你那么贵)
如果是软件上的问题,善用LabVIEW的debug功能,尽可能把问题具体化到你的程序的那一部分,在把它抽象出来。问题具体化以后到NI的网站和一些知名的论坛上查找有没有解决方案(多数是有的),NI的网站是很好的,能评上全美10个网上技术支持就好的网站之一。
如果是实在找不到已有的解决方法,到论坛上发帖子。发帖子也要注意技巧以便问题能够及时得到解决。原则上是问题要具体化要清楚. 如果你问"visa怎么用", 你很难得到答案的,谁有时间给你回答这么不着边际的问题。你最好要有VI附上来,把问题竟可能缩小范围。
如果你是为了问LabVIEW某个功能怎么用,你是不应该发帖子的。你可以用NI Example Finder去找例子,可以到NI网站上去找application notes.
------------------------------------------------------------------------------------
有些什么好书帮助入门?
谁有推荐的? Getting Started with LabVIEW和LabVIEW Fundamental应该是很好的入门读物。在LabVIEW刚开时窗口上有着两个文档的连接。
LabVIEW是一种编程语言吗?和其他语言有什么不同
LabVIEW是一种编程语言,它具有一般编程语言的典型特征。理论上来说,你可以用它来做各种应用,就像用C/C++一样。 但这并不说明LabVIEW据有和C/C++一样强大的功能。 LabVIEW主要应用领域在于测试测量,控制,设计和仿真等,利用它你可以很方便的完成测试测量等应用。 LabVIEW也支持很多与其他语言和软件系统的接口,比如你可以把c/C++编成DLL在LabVIEW里调用,你可以调用AxtiveX和.net控件, 可以把LabVIEW当成ActiveX server来使用,等等。 这就是为什么说理论上可以用LabVIEW来做任何应用(只要你敢想)。
和其他语言相比,LabVIEW有两个非常突出的优点:一是它是一个真正的图形化编程语言,非常适合工程师和科学家使用(易于入门、易于调试、库函数丰富等)。二是他和硬件(特别是NI的硬件)结合紧密,你可以非常轻松地完成数据采集、仪器仪表控制等任务。
和其他语言相比,LabVIEW也有一些缺点,比如入门容易精通难,开发大型程序门槛太高,可利用的学习资源少。
什么是数据流编程?
LabVIEW是编译性的还是解析性的?运行效率怎样?
LabVIEW是编译性的。 同样的算法实现LabVIEW一般比C慢2~3倍。 如果你发现慢10倍,多数是程序编的有问题。LabVIEW里要特别注意内存拷贝的问题,特别是对大数组进行操作。
可以在一台机器上安装多个版本的LabVIEW吗
可以的,互相独立的,高版本的可以打开低版本的。高版本VI可以存为低版本VI.
什么是VI, Express VI
VI是Virtual Instruments的缩写,相当于c语言里的函数。 Express VI是带配置对话框的VI. 一般VI是通过输入连线对VI进行参数配置的。Express VI通过对话框进行参数配置(双击Express VI会弹出配置对话框)。 Express VI编程时会感觉方便些,但运行效率有时会比较低。
LabVIEW有递归吗
可以通过动态调用VI实现,但效率很低。一般还是不要用的好。 很多算法是可以用循环来实现的,并非一定的用递归。 如果你以前经常使用递归来思考问题,该改的时候了。 :-)
常用的LabVIEW编程模式有哪些?
为什么LabVIEW编的程序占用100%CPU?
-------------------------------------------------------------------------------------
待回答问题:
很多VI有error in 和 error out, 那是干什么用的?
什么是状态机?
VI的Icon如何做到不是方方正正的,而是可以象Type Cast那样的形状?
---Icon Editor 以白色为透明色,以非白色的封闭外框定 icon 的形状。画好256色图标后,把它靠到16色和B/W图标上。
给定一个字符,如'A',如何用最简单的办法得到对应的ASCII码?
---在 String Control 中输入'A', 右击 String Control,在菜单中选 Hex Display [由georgezou回答]
---用程序的方法实现如下,[Keiran]
While循环和For循环中的Shift把我给整晕了,到底该怎么用?
要给一个数组的所有元素都加上一个数,我需要重新写函数吗?
字符常数End Of Line Constant、Carrage Return Constant和Line Feed Constant有什么作用?它们有什么区别吗?
我用Array To Cluster将数组转换成簇,但为什么转换的簇被截掉后面的部分?
在LabVIEW中我如何判断一个文件是否存在?
函数面板中的Advanced那一块挺高深的,都是干什么的?
First Call?这个函数有什么用?
Queue和Notifier有什么区别?
什么是信号量、Rendezvous以及Occurrence?
.....
希望大家大力贡献.
[ 本帖最后由 ilabview 于 2007-3-13 23:02 编辑 ] |
评分
-
2
查看全部评分
-
|