NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Modifying parallel dialog

I hope someone can help a poor LabVIEW programmer. I'm running a TestStand 2.01 sequence with the parallel model. I already modified modelsupport.dll to display up to 10 sockets by changing modelpanels.uir and paralleluutdlg.c. Now I need to add a new text control for additional user entry before the sequence runs. I added the control, created the callback, and made some more changes to paralleluutdlg.c. Basically, what I want is after a serial number is entered, to go to new control and when a value is entered there, run. The problem is that when I run seqedit.exe from CVI, I get
NON-FATAL RUN_TIME ERROR
"paralleluutdlg.c",line 271, col 5, thread id 0x000000414
 
Library function error (return value==-64(0xffffffc0))
The value passed is not a valid control mode for this control
 
This happens right after the RunUserInterface function is called in the RunParallelUUTDialog function of the DLL. When this happens, I cannot click the OK button to start the sequence. The display for the first socket shows correctly but the information for the other sockets is just displaying the Initializing mode. I've tried several things including commentating out the callback and most of the other changes I made but the problem is still there. I've attached a file with the files in the CVI project. Any help given will be greatly appreciated.
0 Kudos
Message 1 of 10
(3,549 Views)
I haven't been able to look at the attachment, but as a possible clue for someone who is looking at it, I remember that older versions of CVI give that error when you try to put an ActiveX control on a tab control. That would be something to rule out as a cause before proceeding deeper.
Message 2 of 10
(3,544 Views)
Thanks, but it's just a copy of the existing text control called SERIAL_NUM.
0 Kudos
Message 3 of 10
(3,542 Views)
No one has any other ideas?
0 Kudos
Message 4 of 10
(3,516 Views)

I have a couple.

 

First, try changing using VAL_HOT in place of VAL_NORMAL when setting the control mode of the new string control. The following lines had been setting the control mode to normal:

 

Line 639:

 

FWCtrlMode = VAL_HOT;

 

Line 1240:

 

errChk( SetCtrlAttribute (panel, testSocketData->ctrls[kTSCtrl_FW],

                        ATTR_CTRL_MODE, VAL_HOT));

 

 

The next idea probably won’t make a difference, and it’s worth a shot. Try adding a line, to the initialize ctrls section of the MakeNewTestSocketCtrls function, to set the value of the new string control. That is, starting at line 352:

 

// initialize ctrls

sprintf(tmpNumBuf, "%d", testSocketIndex + 1);

errChk( SetCtrlVal (childPanel, newTestSocket->ctrls[kTSCtrl_TestSocketIndex],tmpNumBuf));

errChk( RecessFrame(childPanel, newTestSocket->ctrls[kTSCtrl_SerialNum]));

errChk( SetCtrlVal (childPanel, newTestSocket->ctrls[kTSCtrl_FW],""));

errChk( RecessFrame(childPanel, newTestSocket->ctrls[kTSCtrl_FW]));

 

I hope this helps.

 

Regards,

 

Eric M

Message Edited by Eric M on 07-19-2005 07:49 AM

0 Kudos
Message 5 of 10
(3,504 Views)

Thanks Eric,

Those are both things I've tried with no success. I'll keep plugging away.

0 Kudos
Message 6 of 10
(3,491 Views)
I've got it working. There was nothing wrong with the C code. I had been using a slighlty modified version of the parallel process model. When I ran the unmodified version, everything worked fine.
0 Kudos
Message 7 of 10
(3,477 Views)

Good to know!

It was fine then to have the control mode of the string control getting set to VAL_NORMAL?

Thanks for the update.

Eric M.

0 Kudos
Message 8 of 10
(3,470 Views)
I don't know about the VAL_NORMAL. I wanted it to be hot but I was trying all sorts of things to see if they made a difference.
0 Kudos
Message 9 of 10
(3,467 Views)

Understood. Thanks for letting me know.

Regards,

Eric

0 Kudos
Message 10 of 10
(3,465 Views)