NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

TS engine insists my VI protypes have changed after deployment

Solved!
Go to solution

But I don't see how, or when, or where.

 

I hope I'm just doing something incorrectly. My situation is :

 

Dev System has Dev Suite, using TS 4.2 and LV 8.6.1

 

Target system has TS 4.2 Base deployment engine, LV 8.6.1 std runtime

 

@ Dev System (in TS Seq Ed)

  • Open TS workspace
  • Aside from program VIs, the workspace includes 3 dynamically loaded VIs, and the Executable built from the TS Simple UI in LV
  • Configure->Adapter->LV Dev System 8.6.1
  • Tool->Update VI Calls
  • (Note that no prototypes were updated)
  • Tools->Deploy TS System
  • Load the deployment config file
  • The deployment config ha different than the default :

        'Deploy Files from TS Workspace File' checked

        In 'LV Options' on Distributed Files :
           'Check for Broken VIs During Analysis' checked

           'Check for Broken VIs After Build' checked

           'Remove Unused VI Components' checked

        A Program Item for the UI executable

        'Create Installer' checked, with directories specified

        No drivers or engines selected

  •  BUILD
  • Tell it to clear out the old build directory
  • Build looks OK - 1 warning about illegal name renamed/moved (Blasted HP8341 driver)


Copy the resulting Vol 1 directory tree to my flash drive.

 

@ The target system (again, has TS 4.2 base deployment, LV 8.6.1 std RTE)

  • Plug in flash drive
  • Navigate to installer directory
  • Run 'setup.exe'
  • Click through the installer
  • Watch install go
  • Run the UI executable
  • Hit 'OK' for the admin login, no passwd
  • Point it @ my SuperDuperSpiffyCoolTS.seq file
  • 'Single Pass'
  • BOOM

 

       'Error loading step 'xxxxx' of sequence 'MainSequence' in file 'SuperDuperSpiffyCoolTS.seq'.

       The prototype of VI '<path to vi>' changed.

       The prototype needs to be updated before executing the VI.

       To update the protytpe, open the Specify Module dialog

 

       Failed to load a required step's associated module. [Error Code: -17600]

 

  • The step it fails on is the first 'action' step with an associated LV module in the sequence.

I can fix this by running the 'programmatic_reload.seq' TS sequence from NI on the installed SuperDuperSpiffyCoolTS.seq on the target machince, and everything functions as expected after that.

 

So where are my VI prototypes being changed? As part of the deploy step?

 

Thanks for any thoughts/idea/help

 

Tom McManus

0 Kudos
Message 1 of 10
(5,509 Views)

Hi,

 

What was the path to your VI, was its relative or absolute?

 

Regards

Ray Farmer

 

 

Regards
Ray Farmer
0 Kudos
Message 2 of 10
(5,507 Views)

Ray -

 

The path was absolute - 'C:\Program Files\$MY_DIR\$LV_FILES_DIR\$ANOTHER_SUBDIR\<VI name>.vi

 

 

 

 

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

Thomas

 

Can you please post the sequence file, the VI and its subVIs reported in the error. 

 

Thank you 

Regards

Anand Jain

National Instruments

0 Kudos
Message 4 of 10
(5,486 Views)

Anand -

 

I can't post the entirety of it, but I managed to reproduce the behaviour with the attached.

 

I've included a workspace, project, 1 sequence file that calls 1 LV VI, with 1 custom control. I've also attached the deployment config I used to build the installer, although some of the default pathnames probably will not work (%My Documents% != %Your Documents%)

 

This behaves the same way - I build it into an installer using Deploy TestStand System, install it on my target, and I get the same 'prototype changed' error as in the 'real' sequence/VI set.

 

Thanks again for any help

 

Tom

 

 

0 Kudos
Message 5 of 10
(5,472 Views)

Hi,

 

The problem appears to be your type define Cal_Files_typedef.ctl. In the deployed files, it is longer a Type Def.

 

Which is way you have to reload the prototype

You might have to disconect this if it is.

 

Regards

Ray Farmer 

 

Regards
Ray Farmer
Message 6 of 10
(5,439 Views)

Hi,

 

The problems is defiantly that the TypeDef has been disconnected and removed. its not deployed in the SupportVI folder.

 

 

Regards

Ray Farmer

Regards
Ray Farmer
Message 7 of 10
(5,438 Views)
Solution
Accepted by topic author mc_vibraphone

Hi Tom,

 

I believe you are seeing this behavior because you have the "Remove Unused VI Components" option checked in the LabVIEW VI Options dialog box. If you uncheck this option, your deployment will build properly and you will not see this error on your target machine.

 

I tested your attached files with the "Remove Unused VI Components" option checked and reproduced the error but was unable to reproduce the error with the option unchecked.

 

Please test this workaround to see if it behaves properly on your end as well. Thanks for bringing this to our attention! We'll work on correcting this in a future release of TestStand.

Manooch H.
National Instruments
Message 8 of 10
(5,429 Views)

OK, the problem is explained and a workaround found between Ray and Manooch.

 

Ray, you're right - the SupportVIs folder doesn't contain everything it presumably should.

 

Manooch, you're right, the 'Remove Unused VIs' appears to be the setting that causes that.

 

Attached are screen shots of the SupportVIs folder where one build has 'Removed Unused VIs,' and the other does not, with no other changes to the deploment config. (Sorry I couldn't just do a folder diff - I got tired of fighting our diff tool.)

 

Manooch, do you hypothesize that the TS deployment engine with that option selected is incorrectly deciding whether something is an unused VI?

 

Thanks again for everyone's help.

 

Tom

 

 

Message Edited by Thomas McManus on 06-24-2009 10:21 AM
0 Kudos
Message 9 of 10
(5,407 Views)

Hi Tom,

 

Yes, I do believe that is what's happening. This was reported to R&D (#176525) for further investigation. Thank you for bringing this to our attention Tom!

Manooch H.
National Instruments
0 Kudos
Message 10 of 10
(5,371 Views)