多语言展示
当前在线:1344今日阅读:86今日分享:14

LabVIEW中簇和C语言中的结构体

本文将讲解Labview如果调用由C语言生成的动态连接库dll中的结构体数据类型。
工具/原料
1

Labview

2

C

c生成dll
2

定义生成dll的接口函数:_declspec(dllexport) void CLUSTERSimple(TD1 *input, TD1 *output);

3

实现函数功能(本函数的输入结构体按顺序包含一个DBL型数据、一个I32型数据和一个布尔型数据。计算DBL型数据的平方值、取I32型数据值的一半,并将布尔值取反):_declspec(dllexport) void CLUSTERSimple(TD1 *input, TD1 *output){  output->DBL = input->DBL * input->DBL;  output->I32 = input->I32 / 2;  if(input->Boolean)  {    output->Boolean = FALSE;  }  else  {    output->Boolean = TRUE;  }}

LabVIEW调用dll
1

新建VI,在程序框图放置调用库函数节点(位于:函数选板-函数-互连接口-库与可执行程序-调用库函数节点);

2

函数:1)选择以及生成dll的文件;2)选择函数名称;3)选择运行方式;4)选择调用规范。

3

参数:1)设置返回值名称和类型;2)设置输入传递参数名称、数据类型和数据格式;3)设置输出传递参数名称、数据类型和数据格式;

4

回调和错误检查保持默认:

5

LabVIEW实现调用dll的前面板和程序框图如下所示:

6

请保持簇里面的控件顺序和C语言结构体中的变量顺序一致。

注意事项
1

注意LabVIEW簇里面的控件顺序和C语言结构体中的变量顺序一致

2

有不明白的地方,可以联系作者或者留言。

3

请点赞,收藏。

推荐信息