NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Calculate VI Checksum used in TestStand

Can anyone tell me what kind of (TD)checksum calculation is used in TestStand! I want to automatically update my VI's! This is because otherwhise I have to open every step in TestStand and reload prototype!! This is not handy! Could anyone help me????
 
0 Kudos
Message 1 of 11
(5,916 Views)

Hi,

Can you explain, as its not clear what your problem is?

What do you mean update you VI's?

What's this (TD) checksum calculation?

Regards

Ray Farmer

Message Edited by Ray Farmer on 02-14-2006 01:33 PM

Regards
Ray Farmer
0 Kudos
Message 2 of 11
(5,910 Views)
When you ad a step to TestStand a checksum calculation is done! So then Teststand can see if an update for that VI has been done! This TDChecksum is stored in the .seq file! When I add a value to for example an enumeration, I have to update every step where this VI has been used! When I know how the Checksum has been calculated I can make a tool which does this do for me! I hope I am clear now!
0 Kudos
Message 3 of 11
(5,909 Views)

Updating the checksum value directly is not recommended.  It could cause run-time errors.

To update the prototype, you can create a tool that calls the TestStand API method LabVIEWModule.LoadPrototype on each of your LabVIEW steps.  LoadPrototype will read the prototype of the VI and will update the checksum value for you.

Regards,

Jose Hernandez

 

0 Kudos
Message 4 of 11
(5,900 Views)
Could you please tell me how these api calls work! Are there any examples?
0 Kudos
Message 5 of 11
(5,881 Views)
Here is a rundown of the methods you will have to use to programatically Reload the prototype of a LabVIEW module.  For example, if I was going to reload every LabVIEW module's prototype, I could do the following pseudo-code.  It will vary based on what language you are using.
 
//get sequence file
Engine.GetSequenceFileEx(fileName)
//iterate on each sequence
For i = 0 to SequenceFile.NumSequences -1
SequenceFile.GetSequence(i)
//iterate over each step in each step group.
For stepGroup = 0 to 2
For step = 0 to Sequence.NumSteps(stepGroup)
Sequence.GetStepByIndex(step)
//check if Module is LabVIEW
Step.Module.Adapter.KeyName
//Cast Step.Module object to LabVIEWModule
LabVIEWModule.LoadPrototype()
End For
End For
End For
 
Let me know if you need more detailed information or an example in a specific language.

Allen P.
NI
0 Kudos
Message 6 of 11
(5,863 Views)
I tried to make your example in labview. Now I still have some troubles! When I use the LabVIEWModule.LoadPrototype the pop-up that something was changed still appears! And I get an error "Server execution failed (-2146959355)". Is it also necesairry to set the VI-path? And which path is this and where can I retrieve this??? I hope you understand me and can help me!
0 Kudos
Message 7 of 11
(5,794 Views)
I had the same need.  I created a VI that worked for me, and I have posted it here.  I am using LabVIEW 8.0 and TestStand 3.5.  I don't know if it will work with other versions.
I make no claims about whether it will work in all instances, but it got me started.
0 Kudos
Message 8 of 11
(5,625 Views)

Sorry for the archeology, but I have a problem with the VI from post above (the one for updating the prototypes in TestStand).

 

I'm using it to update the prototypes in my sequence after changes in the LV project - it works flawleslly, as long as I'm referencin the VIs to the lvproj, when I change the reference to an lvlibp I am unable to load the prototypes (the VI that is doing the loading is outside the lvlibp).

 

Thank you in advance

0 Kudos
Message 9 of 11
(4,519 Views)

But why do you need some custom VI for updating of prototypes? You can use native TestStand tool. Just go via menu Tools -> Update VI Calls; and select there option in the tab File to Update -> Type of Calls to Update -> Process Standard VI Calls -> Force Prototype Reload.

But I don't know, whether this functionallity is present in older TS versions (I use TS 2014 sp1)...

 

logos_middle.jpg

Message 10 of 11
(4,502 Views)