labview/cvi 出现错误 求大神指点

#include "toolbox.h"
#include <analysis.h>
#include <cvirte.h>
#include <userint.h>
#include "实验八.h"
int EventFunction();
static int panelHandle;
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "实验八.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK graph (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
double sin[1024]; double x[1024]; int i;
switch (event)
{
case EVENT_COMMIT:
for(i=0;i<1024;i++)
x[i]=i;
SinePattern (1024, 1.0, 0.0, 1.0, sin);
PlotXY (panelHandle, PANEL_GRAPH, x, sin, 1024, VAL_DOUBLE, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);

break;
}
return 0;
}
int CVICALLBACK stripchart (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{ int i;double value[100];
switch (event)
{
case EVENT_COMMIT:
//for (i=0;i<100;i++)
// value[i]=Random(0,100);
// PlotStripChart (panelHandle, PANEL_STRIPCHART, value, 100, 0, 0, VAL_DOUBLE);
InstallMainCallback (EventFunction, 0, 1);
SetIdleEventRate (100);
break;
}
return 0;
}
int CVICALLBACK digitalgraph (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{ int array[12]={0,2,3,5,6,0,15,0,9,21,0,1};
switch (event)
{
case EVENT_COMMIT:

PlotDigitalLines (panelHandle, PANEL_DIGGRAPH, array, 12, VAL_INTEGER, 3);
break;
}
return 0;
}
int CVICALLBACK EventFunction (int panelOrMenuBarHandle, int controlOrMenuItemID, int event,
void *callbackData, int eventData1, int eventData2)

{ int a;
double value[1];
value[0]=Random(0,100);

a = PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, value[0]);

return 0;
}
int CVICALLBACK QuitCallback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}
return 0;
}
运行时没有错误,退出时却出现错误

NON-FATAL RUN-TIME ERROR: "实验八.c", line 75, col 10, thread id 0x000008B4: Library function error (return value == -13 [0xfffffff3]). Invalid control ID

第1个回答  2016-07-20
在退出函数中加入一行InstallMainCallBack(NULL,0,0);你的主回掉函数没有关闭,所以在推出的时候会出错。
第2个回答  2016-03-22
不用将PlotStripChartPoint函数的输出结果赋给变量a,直接输出就好了。

如何调试 LabVIEW 调用的DLL
首先在 Debug 模式下 build 出一个 DLL 来。 (VC 7.1 即便是 release 模式下也可以设置断点,单步运行,但别的编译器不一定行。)然后用这个新的 Debug DLL 覆盖原有的DLL。在 VC 中设置好断点。在 LabVIEW 中运行想要调试的 VI。程序会停在你设置断点的地方。

labwindows\/cvi这个工具好使吗?
如果你只是用来搭建小的测试或控制系统且没有多少软件基础的话,LabVIEW的确不错,简单易学,功能强大。但并不是说LabVIEW不能做复杂的东西,事实上在美国很多大的系统都是LabVIEW开发的。LabWindows\/CVI就是C语言,结构简单,功能强大且灵活,但对使用者需要有一定的软件基础,不太容易上手。目前LabVIEW在...

labview和cvi有啥不同呢?
1、两者所指的软件不同 LabVIEW是基于图形化编程语言的软件,LaWindows\/CVI是基于文本式编程语言的软件,LaWindows\/CVI跟传统的编程语言(比如C)很相似。2、两者本质不同 LabVIEW是美国国家仪器公司开发的一种虚拟仪器平台,它是一种用图标代码来代替文本式编程语言创建应用程序的开发工具;LabWindows/CVI将...

labwindowscvi和labview有什么不同?
2. LabVIEW:它使用的是图形编程语言G,也被称为G编程语言。这种语言通过图形化的方式来表示程序逻辑,不同于传统的文本编程语言。它允许开发者通过图形化的方式创建代码,使得编程过程更加直观和易于理解。应用领域:LabWindows\/CVI广泛应用于自动化测试设备、测控系统等领域。由于其使用C语言的基础,它在性...

LabWindows CVI和LabVIEW有什么不同?
首先,从软件本身来看,LabVIEW是基于图形化编程语言的软件,而LabWindows\/CVI则是基于文本式编程语言的软件。这意味着在使用LabVIEW进行编程时,开发者主要通过图形化的代码块(或称为图标代码)来创建应用程序,而无需去编写传统的文本式代码。相比之下,LabWindows\/CVI则要求开发者使用更接近于传统C语言的...

LabWindows CVI和La
LabVIEW更适用于小型和简单应用的开发,而LabWindows\/CVI则更适合处理中大型复杂测试软件的开发需求。LabWindows\/CVI在实际应用中展现出广泛的应用价值,尤其是在无损检测、电力仪表系统、温控系统、流程控制系统以及故障诊断和医疗等领域,其设计的虚拟仪器发挥着关键作用,极大地推动了这些行业的技术进步和效率...

LabVIEW和LabWindow\/CVI有什么不一样
LabVIEW 是图形化编程语言,编程过程主要是拖放各种图形控件并把它们按程序流程连线。编程非常直观,开发速度快。但是代码效率会低一些。LabWindows\/cvi是结合了LabVIEW优点(可视化,大量的图形控件等)的C语言开发环境,它可以调用LabVIEW的大量控件,但是本身是C语言编译器。所以开发出的程序符合标准C,代码...

labview中怎么调用c++写的程序啊?
可以把C++功能封装成DLL,然后使用LabVIEW的【调用库函数节点】来间接实现。或者你的C++程序编译成.exe文件,可以使用LabVIEW的【执行系统命令节点】来直接执行.exe文件 另一个变通的方法是直接使用LabWIndows\/cvi,它有很多跟LabVIEW类似的控件,也可以直接调用LabVIEW的控件,但是完全符合C\/C++语法。

LabWindows\/CVILabWindows\/CVI 2009
工程师和科学家们现在可以在一个32位或64位操作系统上建立64位应用程序,并且能在Windows 7操作系统中运行或安装64位应用程序。使用64位操作系统提高了应用程序的性能,扩大了存储容量并提升了直接加载的数据量的能力。连接到LabVIEW FPGA的全新C接口,使得LabWindows \/ CVI的开发人员可以通过创建上位机应用...

带有复杂结构的DLL文件怎样被Labview或CVI调用
2. 简单懂得了Agent的传感器输入运算处理履行输出——映射到虚拟仪器的体系中相当于将传感器的旌旗灯号应用数据采集卡采入计算机经LabVIEW或其它软件法度榜样处理后应用数据卡反馈输出数字和模仿旌旗灯号等用这些旌旗灯号再驱动响应的设备来履行特定的动作。抑或应用高低位机的情势经由过程必定的协定实现高低位...

相似回答