博客首页 | 排行榜 |

LabVIEW007的博客

个人档案
博文分类
最新评论
博文存档
最近访客
  • 问题: 当我使用UDP Read函数时返回超时错误,错误号为56。我查询了Labview 6.0,6.1与7.0中的Labview Help,但是它们关于timeout ms这个输入的说明互不相同。哪一个描述是正确的呢? 解答:         读取UDP数据函数在不同的Labview版本之间并没有从根本上进行改变,但是Labview Help改变了。下面是上述几个labview版本关于timeout ms输入的描述:         Labview 6.0----timeout ms的单位是毫秒。如果操作无法在设定的时间内完成,VI结束同时返回一个错误。默认值为25000。当设置为-1时表示无限等待。   ...

    阅读全文>>

  • 问题: 我想要使用LabVIEW打开Microsoft Access 数据库. 能够不使用SQL 函数做到吗? 解答: 在LabVIEW中与Access通信有很多不同的方法,其中一些比较早。你可以使用ActiveX Automation 来打开Microsoft Access并且操作Access应用程序的很多方面.然而对于实际的数据库操作, Access automation 类基于Microsoft DAO (Data Access Object) 和/或者 ADO (ActiveX Data Object) 类. 这些类可以单独使用或者通过 Access automation 类来读取或者写入数据到Access 数据库. 这些类的使用会比较麻烦,因为需要掌握很多SQL的知识来完成一项工作。附件中...

    阅读全文>>

  • 问题: 为什么有的DLL的函数在VB,VBA或者其他的环境可以工作,但是在LabVIEW中却报告有异常?是否如对话框提示的那样内存真的出错? 解答: 问题的原因可能在于Visual Basic调用函数的方法。试一试那些通过引用而不是通过值作传递的函数。在些尤其是在参数列表里有整数和浮点数的情况下发生。对于那些有字符串或者数组参数的函数就有可以像传递指针一样出错。这也是为什么那些不需要参数的函数并不会出错的原因。返回值并不会因为这个而受到影响。 对于内存出错的问题,他取决于您传递的以及操作系统使用的整数值。对于Windows95/98/ME来说...

    阅读全文>>

  • 问题: 我想设计一个PID控制器,但是我在控制设计函数面板没有找到一个PID的VI。在控制设计工具包里是否有可以用的PID VI? 解答: 是的,你可以使用 "CD Construct Special Model.vi" 来创建普通的传递函数模型,包括PID控制器的三种形式-PID Academic,PID Parallel和PID Series。在各VI位于 Control Design>>Model Construction子面板。 了解有关您可以创建的PID形式的更多信息,请参考下面链接的LabVIEW控制设计工具包。同时您也可在在Example Filder里找到一个自带的例子程序: Browse According to Task » Toolkits and Modules...

    阅读全文>>

  • 问题: MathScript是LabVIEW 8.0的新特性之一,其强大而令人兴奋的特性、功能性并非完全兼容Matlab函数。这篇文档列举了一些限制和LabVIEW 8 MathScript所知的您必须注意的问题。这个列举也并非全面的。这将提示您注意一些关键的问题和如何改进您的代码。我们将为改进LabVIEW and MathScript而努力。补丁和(或)更高版本的LabVIEW将修复或改善这篇文档所述的问题和限制。 解答: MathScript不支持扩展ASCII字符和本地化的小数点分隔: 这个问题只影响: 英文版LabVIEW 8在非英文,本地化版本的Windows上运行。 这个问题不影响: 英文版LabV...

    阅读全文>>

  • 问题: 当我把我的我的 FieldPoint 控制器作为我的执行目标时,我能够成功地进行文件读写。当我把我的 VI 生成可执行陈绪,把 EXE 放在 FieldPoint 控制器上时(例如,一个启动程序)我无法读写文件。我有什么地方做错了吗? 解答: 最常见的造成一个可执行程序不能正常工作是由于不正确的文件路径导致的。例如,如果您是用 当前VI路径 紧跟着一个 拆分路径 函数来获得程序存放的文件夹的路径的话, 运行可执行程序和 VI得到的结果是不同的。 让我们看一下这种情况,如果 myApp.vi 的路径是 C:/temp/myApp.vi. 当前路径VI 是 C:/temp/myApp....

    阅读全文>>

  • 问题: 我有一个s域连续传递函数模型,我想把它转化成z域的离散传递函数.LabVIEW中有哪些VI我能够使用吗? 解答: 目前,LabVIEW没有一个VI能够用在这种转化上。但是,LabVIEW PID控制工具包包含了一个离散传递函数的VI,它使您能够模仿z域的离散模型。还有一些能够从连续到离散的转换时需要的不同的分析方法。最简单的方法是把s 替换成(1 - z-1) / Ts,这里Ts是采样间隔。比如,如果您有一个传递函数 H(s)= 1/(s2 + s + 1),这里Ts=0.01 秒,然后把 s替换成(1 - z-1) / Ts,H(z)就能够得到, H(z)= 0.0001z2/(1 - 2.01 z + 1.0101 z2) 下面...

    阅读全文>>

  • 问题: 改变VISA Write和Read函数会怎样影响我的应用? 解答: 注:LabVIEW中,VISA Write和Read函数的同步或异步选择通过右键点击该函数实现,而在基于文本的编程环境里,同步和异步有专门的函数设置。 这里,同步和异步是什么意思呢? 这里的同步并不是硬件共享时钟或者时基。而是VISA函数的运行和调用它们的线程的关系。准确地说,选择异步或者同步决定了执行某个VISA Read或者Write的线程在什么时候被释放,可以让别的代码运行。下边第三节会有详细的讨论。 在LabVIEW里我该怎么选择异步或者同步函数呢? 右键点击一个VISA Write或Read函...

    阅读全文>>

  • 问题: 使用外部编译环境调用CVI库函数时都需要哪些文件呢? 解答: 1. 首先您需要在外部编译环境中包含cvisupp.lib和cvirt.lib两个库文件。这两个库文件中包含了在CVI内核中定义的库函数信息。 2. 如果您需要添加一些与硬件相关的函数库,比如说DAQ、VXI等,您需要在cvi\extlib目录下查找相关的函数库,并把他们包含进来(比如dataacq.lib和nivxi.lib)。 3. 如果外部编译环境需要以WinMain为程序切入点开始执行,您还需要包含cviwmain.lib函数库。 4. 如果您使用的是标准C语言,则不论您使用什么样的编译环境,只要包含该编译环境目录下的...

    阅读全文>>

  • 问题: 我定制的CVI函数似乎只能临时的改变它的参数的值。通过变量窗口(在debug模式下,对代码进行步调),我发现在函数内部,值发生改变了,但一旦退出函数,参数就还原为在函数调用之前的值。为什么会这样? 解答: 这实际上是C语言的问题而不是CVI本身。多数情况下是因为你通过值来传递你的参数而不是通过引用。当你用值来传递一个参数,一个数据的拷贝会被产生并传递给函数。一旦函数运行完毕,拷贝数据对应的内存区域将被释放或重新分配,在函数内部,对该参数任何你所认为的修改都将随之丢失。 如果你希望即使函数运行结束了,函...

    阅读全文>>

  • 问题: 在Teststand中回调函数Callback是什么? 解答: 回调函数是在某些特定的条件下由Testsdand引擎调用的序列。Testsdand有三种回调函数序列,取决于回调函数在哪里定义以及调用回调函数的实体。 Model回调函数 Model回调函数是在过程模型(process model)文件或是在客户序列(client sequence)文件中定义的,并且是在过程模型(process model)中的序列调用的。Model回调函数可以实现过程模型(process model)中的每个序列自定义的运行。您可以在过程模型(process model)文件中创建Model回调函数,标记为Model回调函数,并且在执行进...

    阅读全文>>

  • 问题: 我想要在 LabWindows/CVI 中发送参数到线程回调函数。我应该如何做? 解答: 启动第二个线程并让它执行需要使用 CmtScheduleThreadPoolFunction() 函数的函数。这个函数通知 CmtNewThreadPool() 函数创建的线程池,您就可以从线程池的一个线程中执行函数。 第二个线程执行的线程回调函数必须具有下列原型: int CVICALLBACK ThreadFunction (void *functionData); CmtScheduleThreadPoolFunction() 函数指定执行的函数以及传递到该函数的数据。函数的第二个输入参数 threadFunction 表示函数执行的调度。第三个参数...

    阅读全文>>

  • 问题: 在IMAQ Vision 5.0的CVI和C++的接口函数中找不到imaqView3D函数 解答: 这个函数在驱动的DLL库文件中,它的相关重要信息在接口库中。这意味着我们还是可以调用它,但是却没有函数原型或CVI中的函数面板。 要调用这个函数,我们需要先声明函数原型: int __stdcall imaqView3D (Image* dest, Image* source, const View3DOptions); 前面的两个参数是目标图像与源图像,View3DOptions结构在nivision.h中有具体定义: typedef struct View3DOptions_struct { int sizeReduction; int maxHeight; Direction3D directi...

    阅读全文>>

  • 问题: 下面是一个总结。 在CVI里,您调用DLL的一个开辟内存的函数,它返回一个指向这段内存空间的指针。 CVI然后调用free函数来这段内存。这是否可行? 这有两种可能情况: 如果这个DLL是用CVI创建的,那么开辟的内存可以由CVI来释放,这个没有一点问题。 如果这个DLL是由外部编译器,您必须使用外部编译器的内存管理方法(比如他们的malloc函数)他们的malloc函数返回的指针是不能被CVI版本的free函数来调用的。必须调用这个外部编译器的free函数。 解答: 两种方法: 在进行动态内存分配的时候,只使用CVI来...

    阅读全文>>

  • 问题: 我的NI-DAQmx库函数和NI-DAQ库函数在LabWindows/CVI的函数目录下被禁用了,为什么? 解答: 产生这种现象的原因可能有以下几种: NI-DAQmx库函数和NI-DAQ库函数没有被LabWindows/CVI自动加载。鼠标右键单击CVI Library Tree上的Libraries文件夹,选择Customize Library Menu...打开自定义库函数菜单对话框,您也可以选择菜单上的 Library » Customize来实现该功能。检查NI-DAQmx 和Traditional NI-DAQ 的复选框,如果没有被选中请勾选后重新启动LabWindows/CVI。 DAQ驱动安装时并没有安装对LabWindows/CVI的支持。修复DAQ驱动,确定...

    阅读全文>>

页次:1/3 每页15条记录,共33条  分页:  [1][2][3] [下一页][尾页]