|
为了从LabWindows™/CVI™向TestStand返回一个结构体,您需要遵照如下步骤:
1.在LabWindows/CVI中创建一个结构体,该结构体包含您想要传递至TestStand的数据。
struct ErrorStruct {2.在TestStand中创建自定义数据类型(TestStand Container),它与您在LabWindows/CVI中创建的结构体极为相似。
3.将新的数据类型重命名为ErrorStruct(必须与CVI中结构体的名字一致)。
4.在新的数据类型中右击,选择Insert Field-> Boolean,在数据类型中插入一个新的field。
5.将新的field重命名为errorFlag。
6.在新的数据类型中右击,选择Insert Field-> Number,在数据类型中插入一个新的field。
7.将新的field重命名为errorCode。
8.在新的数据类型中右击,选择Insert Field-> String,在数据类型中插入一个新的field。
9.将新的field重命名为errorMessage。
10.在树形结构中右击您刚才创建的数据类型,选择属性,打开数据类型属性对话框。
11.选择C Struct Passing选项卡。
12.使能Allow Objects of This Type to be Passed as Structs选项。
13.选择errorMessage属性,确保String Type控件设定为C String buffer。
14.确保为属性选择恰当的数据类型:
errorFlag - 有符号16位整型
errorCode - 64位实数(双精度型)
15. 点击OK(保存修改)。
16.设置完成后,您就可以使用DLL Adapter来调用LabWindows/CVI 模块,该模块的原型类似于:
void __declspec(dllexport) Test(struct ErrorStruct *errorCluster);
现在您就可以从CVI将数据传递至TestStand:
//Change the TestStand structure contents
errorCluster->errorCode = 999;
errorCluster->errorFlag = 1;
strcpy (*ErrorCluster->errorMessage, "Error Occurred");
17.下一步是在TestStand中创建ErrorStruct类型的局部变量。
18.局部变量可以随机命名。
19.最后一步是将CVI Action添加到序列中并配置dll:
20.请在附件中查找本教程的代码(TestStand Sequence和LabWindows/CVI代码)。
|