发布消息到并行处理模型的UUT对话框中的状态文本控件中
主要软件:
主要软件版本: 3.5
主要软件修正版本: N/A
次要软件: LabWindows/CVI Development Systems>>LabWindows/CVI Base Package
问题: Test UUTs 并行模型的执行进入点显示了一个包含每个当前测试座上的状态信息的UUT对话框. 我想要在其状态文本控件中包含自己的状态信息. 这可能么?
解答: 是的, 是可以在状态文本控件中包含自定义的信息.
并行UUT的对话框功能是在
modelsupport2 中实现的,该工程可以在
<TestStand>\Components\NI\Models\TestStandModels\
目录下找到. 在默认情况下 状态文本控件将包含标准的状态信息. 然而, 是可以修改
modelsupport2 工程的源代码来使能客户自定义的信息的.参考下面的源代码来实现.
(
注意: 在你修改任何源代码之前, 拷贝
TestStandModels
目录到
<TestStand>\Components\User\Models\
目录.)
- 启动LabWindows/CVI 并且打开modelsupport2 工程.
- 在工程树中, 打开在源代码文件夹中的
paralleluutdlg.c
源文件.
- 翻到源文件最底部并插入如下代码:
int DLLEXPORT _stdcall PostParallelUUTDialogStatusMessage(int dlgHandle, int testSocketIndex, char *statusMsg)
{ int error = 0;
ERRORINFO errorInfo;
int panelId = dlgHandle;
int childPanel = -1;
PUUT_PanelData *panelData = NULL;
TestSocketData *testSocketData = NULL;
errChk( GetPanelAttribute (panelId, ATTR_FIRST_CHILD, &childPanel));
errChk( GetPanelAttribute (panelId, ATTR_CALLBACK_DATA, &panelData));
testSocketData = &(panelData->testSocketDataArray[testSocketIndex]);
errChk( ResetTextBox (childPanel, testSocketData->ctrls[kTSCtrl_Status], statusMsg));
Error:
return error;
}
这个函数接受三个参数,分别是:
- dlgHandle - 指向UUT对话框的句柄,利用一个整型数表示.
- testSocketIndex - 指向当前执行中的当前UUT的索引.
- statusMsg - 指向将被插入状态文本控件中的字符串.
该函数利用测试座索引来获取状态文本控件的句柄. 然后通过ResetTextBox 函数调用来发布 statusMsg
到状态文本控件.
- 重新编译
modelsupport2.dll
通过选择Build » Create Dynamic Link Library. (注意: 更新过的modelsupport2.dll
文件在附件中.)
为了给这个函数发送消息, 在TestStand序列编辑器中使用C/C++ DLL 适配器创建一个新的序列,使用如下的参数:
- dlgHandle (int) - 指向UUT对话框的句柄,被存贮在并行处理模型的Test UUT的入口序列文件的局部变量中. 该句柄是在
modelsupport2.dll
中创建并且存贮的.在"Locals.ModelData.DialogHandle" 变量中. 为了在客户端的客户的序列文件中访问到该变量使用如下属性:"RunState.Root.Parameters.ModelData.DialogHandle".
- testSocketIndex (int) - TestSocket 索引被存贮在 "RunState.TestSockets.MyIndex"中.
- statusMsg (char *) - 在状态文本控件中显示的客户定义的字符串.
相关链接: KnowledgeBase 3K3FC7RY: What is a Process Model?KnowledgeBase 363E93RY: How Can I Access my Client Sequence FileGlobals from my TestStand Process Model?
附件: - modelsupport2.dll
报告日期: 03/31/2006
最近更新: 04/30/2008
文档编号: 3VUG2BA8
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.