NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Conflict with the "UUT" custom data type

I modified the SequentialModel.seq custom data type "UUT" to contain the UUT Part Number also. My application works fine on my developement system, but when I install the TSEngine on my target system and try to run my application I get an error that states there is a conflict with the existing "UUT" type. I thought the problem was that I needed to specify what station model I use with my sequence file on my target system through the "Edit>>Sequence File Properties pulldown, but the "Edit" menu is not available through the CVI Operator Interface. Any suggestions how to solve this problem?
0 Kudos
Message 1 of 11
(5,892 Views)
Hi,

Did you move across the modified reportgen_txt|html.seq as this is also affected by the change to UUT type.

Do you know where the error occurs?

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 2 of 11
(5,893 Views)
The message you are receiving from TestStand involves a "type conflict", meaning that you have probably loaded a file with a definition for the type "UUT" that is different from the definition of "UUT" that another file which is already loaded contains. If you look at Chapter 9 of the TestStand User Manual under the section "Storage of Types in Files and Memory" you will find a good explanation of the rules behind type definitions.

To solve your problem you will need to decide which file has the proper definition that you want to use and make the appropriate selection in the type conflict dialog box for handling the problem. If you know the file that you are loading in the scenario you presented is the definition that you want, then select to use the one in that file. You may want to make sure that these type conflicts are resolved on your development machine first though, as this is the best place to ensure that your sequence files are up to date, since you can't develop on a deployment system that just has an operator interface (This is why you are not able to see the Edit>>Sequence File Properties selection in the CVI OI).

One last note on specifying the process model file to use. You can specify in two different places what process model file should be used for a given client sequence file, in the station options (for all files that have their process model option set to "use station model") or in the specific client sequence file you can specify that it use a specific process model. As you saw you won't be able to edit the client sequence file on the deployment system from within the OI, but you can change the station options to point to a different model for the station. This will work if you have specified in your client sequence file (during development) that it will "use the station model". For more information on setting up the process model, look at Chapter 14 of the TestStand User Manual. Anyone developing in TestStand should read this specific Chapter thoroughly so they understand the basic concepts of process models.

Jason F.
Applications Engineer
National Instruments
www.ni.com/ask
0 Kudos
Message 3 of 11
(5,893 Views)
Ray,
I have moved across reportgen_txt.seq because I have modified the header to meet the company requirments for reports. I have installed it in the components user folder. I have not done any mods to the html version of the file.
The error occurs after I have opened the client sequence file in the operator interface. My file loads but I can't execute it without getting a popup window that states "Type "UUT" is invalid because it conflicts with the existing type of that name. To avoid this error message, you should open the file with the type conflict in the Sequence Editor and resave it." and then my modified process model file is called out. I copied the SeqEdit over to the system and saved my process model file. This fixed the problem, but I don't wan
t to have to distribute the SeqEdit with my install because this will go to a remote customer and I don't want them to have to take this action to fix this issue.

Thanks,
Mark
0 Kudos
Message 4 of 11
(5,893 Views)
Jason,
I don't get the conflict window that you are talking about until I install SeqEdit on my target system. After that I get the dialog box that you indicate and then I am able to fix the problem, but I don't want to distribute the SeqEdit with my install process. This will be distributed to a remote customer and I don't want them to have to go through this process so that they can get this to work. Also I don't have this problem on my developement system, it occurs after I install the TestStand engine with CVI operator interface and the client sequence files.
One thing that I noticed when I followed some of the suggestions in Chapter 9 of the User manual for finding the files that use a specific type is that my modified station model and the SequentialM
odel.seq were listed. I modified the "UUT" type in my station model and set up my client seq file properties to use my station model. Shouldn't my client seq file properties that I want to use a different station model transfer over with my install?

Thanks,
Mark
0 Kudos
Message 5 of 11
(5,893 Views)
Jason and hopefully Ray sees this also,
I was able to fix the problem also by renaming the SequentialModel.seq file in the NI components folder. So the conflict is with this file. If I have set up the station options to use another station model and I have also set up my sequence files properties to use a specific station model why the conflict? Is the TS station model being loaded into memory also? If so why?
Mark
0 Kudos
Message 6 of 11
(5,893 Views)
When you specify a sequence file to use a specific process model, this does not change what the station process model is. So yes, if the station model and the specific model your client sequence file is set to use are different then both will potentially be loaded. What I was trying to say is that if you were to set your client sequence file's model option to "use station model" and you set the station's model to the custom one you have created that has the UUT type definition you want, then only that process model will be loaded (until you load another client sequence file that specifies it uses a process model other than the station spec.).

Jason F.
Applications Engineer
National Instruments
www.ni.com/ask
0 Kudos
Message 7 of 11
(5,893 Views)

So what you're saying then is that the configuration step

 

Edit-> Sequence File Properties -> Advanced tab -> Model Option -> require a specific sequence model.

 

...then pointing the sequence to a specific sequence model....

 

    doesn't work?  Even if you try to require a specific model, you still have to modify the station options as well?  (To use, as default, the modified sequence model)

 

    I'm using TestStand 4.1.1, LabVIEW 8.6.1, and WinXP.  I'm trying to use a specific sequence model with my test sequence because I don't want to change the station's default model.

 

    Apparently, the default sequence model has the custom type definition for "UUT", and since my specific model was based on (copied and modified from) the default sequence model, it also has the custom type definition.

 

   According to the above thread, even if you're requiring your sequence to use a specific sequence model, the default station sequence model still gets loaded.  Hence the conflict.  Ok, is there a way to remove the conflicting type definition from my modified sequence model?  And why just this one?  It appears that there are a few custom data types defined in the default sequence model.  Since my sequence model is based on the default, am I going to need to remove all of the custom types from it?  If I do so, will I be able to rely upon the custom types defined in the default sequence model?

 

 

0 Kudos
Message 8 of 11
(5,189 Views)

The simplest thing you can do is put the custom data type in a type palette file and give it a higher version than the type has in other files. Then when any model file is loaded, its version of the type will get automatically updated to the version you put in the type palette file. You should try to keep your changes to the type backwards compatible (i.e. don't rename or delete any existing properties), then both the default model and your modified model should still work.

 

Hope this helps,

-Doug

0 Kudos
Message 9 of 11
(5,185 Views)

Ok, I've tried to do my due diligence, but I haven't found it.  How do I put the UUT custom data type (used in SequenceModel.seq and another model I have) into a type palette file and give it a higher revision?  I'll need to do this, and instruct everyone else in my department to do the same, since we share a lot of code.

 

I guess I don't understand what changed.  This type conflict came up just today, and I've been requiring my sequence to use a specific sequence model for a while now.  I haven't changed either model.  I also found out that this may be causing a problem in a deployment built by a coworker.

0 Kudos
Message 10 of 11
(5,162 Views)