- 博客(14)
- 收藏
- 关注
原创 博客搬家了
<br />都搬了大半年才过来说,真是不好意思。。。。<br />http://blog.gsdzone.net/u/347/index.html
2010-07-16 10:21:00
627
原创 LabVIEW与DLL(2):简单的DLL调用
在LV里,对DLL的调用是通过CLF(Call Library Function Node)来实现的,具体的使用方法请参考相关的教程,这里就不多说了。 先试试调用一个简单的DLL吧。我写了一个简单的DLL,里面有两个函数,都是实现一个加法操作。两个函数实现如下:DLLEXAMPLE_API long _stdcall addint(long a, long b) {
2009-04-03 18:01:00
1678
原创 LabVIEW与DLL(1):关于DLL
什么是DLL? DLL的全称是Dynamic Linkable Library,翻译成中文叫做动态链接库。可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调用。譬如Windows提供的系统DLL(其中包括了Windows的API),在任何开发环境中都能被调用,不在乎其是Visual Ba
2009-03-13 15:55:00
2925
2
原创 LabVIEW的Framework(6):GUI程序框架实例
前面把lv里面的框架相关元素都基本介绍了一下,现在做一个完整的例子,体会一下框架是如何工作的。这个框架结构是我在具体的实践中总结出来的,也还在不断的摸索完善。刚开始的时候发现用框架感觉有点变扭,但是当程序开始变大以后,有框架还是能好很多,省很多事情,让代码好看和高效很多的。 程序共有三个循环:界面循环,数据产生循环,数据记录循环。三个循环在初始化阶段,所做的初始化工作都是获取消息通知器和
2009-02-25 22:56:00
7565
原创 LabVIEW的Framework(6):Queue与Notifier
在两个循环间传递数据应该用什么方式呢?local variable当然可以,但是如果是数据采集循环与数据存储循环之间传递数据的话,local variable就不太够用了。因为数据保存到硬盘上是一项比较费时的工作,而数据采集对循环时间要求较高,因此两者之间就不能简单的通过local variable来进行数据传递了。 在数据采集循环与数据存储循环之间,我们可以通过Queue(
2009-01-07 22:55:00
4594
1
原创 LabVIEW的Framework(5):状态机
在LV的模板里,用Standard State Mechine可以创建一个标准的状态机,可以试着创建一个看看状态机是啥样子的。 我对状态机的理解:首先最基本的,状态机实际上是一个包含很多代码分支的代码集合,决定具体执行哪条代码分支则是由输入的状态所决定的;其次,状态机的输入状态是可以改变的,在LV的状态机里,状态的改变是由内部的临界条件来完成的。 状态机的工作机制有一点类似与我们前面讨
2008-12-07 21:08:00
3858
1
原创 LabVIEW的Framework(4):在GUI程序里传递数据
前一篇里说了在GUI程序里使用消息队列,提到了使用消息队列是用来实现代码的重复使用,类似于subVI的作用。subVI,也就是类似于传统编程语言里的函数概念,那我们就的讨论一下怎么传递数据了。要在以前,说到传递数据,我肯定第一个想法就是用Local Variable。NI的人无数次跟我说,使用Local Variable是有效率问题的,能不用就不用,而我一直坚持有需要就用的原则,弄得一个程
2008-12-03 19:57:00
2142
原创 LabVIEW的Framework(3):在GUI程序里使用消息队列
使用LabVIEW的Framework模板Queued Message Handler新建一个vi,如下图: 这就是一个消息队列处理器。在while循环里的shift register就是用来存放消息的队列,也就是一个字符串数组,其中的每一个字符串就是一条消息。每循环一次,就从消息队列里取出一条消息,然后通过case结构进行处理。需要注意的是,取出消息使用的是Delete From
2008-12-02 22:50:00
5436
1
原创 LabVIEW的Framework(2):GUI程序
GUI:Graphical User Interface,我们用LabVIEW写的Windows下运行的程序基本上都是要用GUI的。写程序不用GUI的都是我崇敬的高手,例如那些Linux粉丝们^_^。 先简单说一下Windows的运行机制:Windows下GUI程序的运行是基于消息的。当我们点了一下程序的一个按钮,Windows就发条消息通知程序,这个按钮被点了一下,你看着干点啥吧。
2008-11-27 22:13:00
3302
原创 LabVIEW的Framework
在开始界面的New栏里选More...,弹出对话框里会有很多模板可以选择,因为是从8.2开始用的,所以不知道是不是从8.0就开始有了。对于我们常用的来说,还是Frameworks-Design Patterns里的几个模板值得好好研究一下。Master/Slave Deisgn Pattern(主从设计模式) 在这种模式下,Master循环通过Notifier(通知器)来控制Slav
2008-11-24 22:53:00
3204
4
原创 Hello World!
好像很多教编程的书在开始正式教之前都会弄一个叫做“Hello World!”的代码,以此来激发学习编程的兴趣。我们也来俗一把,也来一个LV版的“Hello World!”。 在前面板放一个waveform chart和一个stop按钮,后面板放一个while loop和一个random number,然后用先连起来,我们的“Hello World!”就搞定了。
2008-11-04 17:05:00
908
原创 写给初学者
先转一篇原来发在水木社区虚拟仪器版的帖子吧,修改了一下。1、学些C吧 LV一直以来,以上手迅速,开发效率高做为卖点,相信有不少原来没有怎么接触编程的人都是因此而使用LV的。拿到一本书之后,看上几天,马上就可以用 lv写出程序来了。迅速上手之后呢?很多原来没有编程基础的人就开始遇到瓶颈了,写程序的时候很多东西都不会用,很多想法实现不出来。原因在哪?在NI宣传的上手迅速上。因为这个宣传,很
2008-10-30 15:16:00
854
原创 第一篇
从大四推研成功之后,因为课题组的关系,开始接触LabVIEW,算起来到现在已经4年时间了。工作了,也是以LV的应用为主。也是从初学者过来的,也经过了那段痛苦的“绝望高原”阶段。在看着别人的blog的时候,突然一下冲动,也想开一个自己的LV技术blog,写写自己学习研究LV的心得体会,也是从另外一个方面督促自己努力学习LV。
2008-10-30 15:02:00
635
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人