09-09-2024 01:38 PM
The details
Windows 10 Enterprise
TestStand 2021 SP1
Labview 2022Q3
I have properly configured my teststand database options, both Logging/DataLink Options and the schema. They connect and validate according to the TestStand configuration buttons.
When I run my MainSequence I do not get any errors, but when I run Execute->Test UUTs, I get this error:
Completed[Error = The type library information for "TestStand Database Options" was not found.
A mouse-over also adds:
Ensure the server is registered on the computer.
I get no other errors or messages. Someone else, from years ago had the same error, but no resolution in that thread was given.
The server is definitely registered on the computer. I use other tools to directly access it. My DataSource is the correct connection details.
I kind of understand what this means, but I do not know which type information is not right. I must have missed something, but I don't know what.
Where do I start looking?
be well,
DLC
Solved! Go to Solution.
09-09-2024 05:45 PM - edited 09-09-2024 06:41 PM
I forgot one really important detail.
I am migrating the code base from TestStand 4.2 to TestStand 2021 SP1.
I have manually dealt with models and such, but this of course opens up all kinds of things with sequences.
I am afraid I am descending into a series of rabbit holes without knowing really what I am looking for.
Looking for configuration files to deal with. Migration suggestions took me here:
https://www.ni.com/docs/en-US/bundle/teststand/page/configuration-files.html
Which got me to look for TypePalettes.cfg which got me a file here:
C:\Users\Public\Documents\National Instruments\TestStand 2021 (32-bit)\Components\TypePalettes\MyTypes.ini
which got me to look at this: <value arrayindex='[0]'>%TestStandPublic%Components\TypePalettes\MyTypes.ini</value>
which gives me this list:
But I still don't know what TestStand is complaining about or where specifically to find and fix it.
Still scratching my head...
be well,
DLC
09-10-2024 04:01 AM
There is a simple explanation, why the configuration window shows no errors:
it uses the current infrastructure of the ProcessModel DatabasePlugin.
Since TestStand 4.x there has been a major rework of the process models. So using old and modified process models is a bit of a challenge.
As you realized yourself, this is probably not the only rabbit hole you'll find during this migration, so it might be more efficient to have a consultant helping you with this.
In this case, the modified ProcessModel has trouble with the TypeDef for the Database Option
You might get a better idea of what has changed, if you compare the 4.x TypeDef File and the current one using the File Diff/Merge tool that comes with TestStand
Do yourself a favour.... use a SCC system to allow rollbacks
Good Luck!
09-10-2024 09:30 AM
Regarding the error, there is some step that is in the process model that TestStand is trying to preload its module and it failing. One option would be to run the Sequence Analyzer feature against the process model files that are being used and look for steps that have modules that are not found. Once you find those steps, you will need to determine the cause of the module not being loadable. If the model file is from 4.x, it is configured to call the module that came with 4.x, which has a different type library definition than what the DB Options DLL has that comes with 2021.
Stepping back, the process models changed between TestStand 2010 and 2012. This is a good help topic to be aware of:
There is also a topic in the help called "Legacy Model Switcher" to be aware of. Ideally NI recommends migrating to the use the new models, otherwise this type of migration issue will impact you with each version of TestStand going forward.
For others to help you, you might need to outline how and what model related files you are migrating.
09-10-2024 09:42 AM - edited 09-10-2024 10:41 AM
Thanks all, I appreciate the help and suggestions. Migration from 14 year old installs is no doubt fraught with hazard, especially since the implementation of the model plugins instead of hard codes, a logical step forward, if difficult for me to deal with. I need to find all the models that were customized. Ick.
You are all broadening my understanding of the infrastructure, quite a leap for me who is steeped in procedural programming and more "traditional" OO design.
I will inform the group as I proceed and see what I manage to do. Clearly, this effort will not be a part-time work.
Any your point is well taken, just substituting the models means we'll have to do this again on the next update. Thanks for that warning.
Which leads me to my next questions. Initial work on this migration started with contractors back in 2021, they just substituted these models for the ones currently in use:
BatchModel.seq
ModelSupport.seq
ParallelModel.seq
SequentialModel.seq
I am jumping the fence without reading more of the migration instructions...but, can I simply add the required sequences to the current TS models? I do not understand the types mismatch, where to find the types or how to change them. I am assuming that the types must match the models, but where? I have gotten reasonably astute with VI creation and editing, but TestStand is vastly more complex to deal with.
If I add the sequences to the new
be well,
DLC
09-10-2024 11:20 AM
My edit session timed out before I finished. Picking up where I left off...
So with that in mind.
Can I add the sequences that were customized or created for these projects to the current revision models? If I do, does that then change some type map somewhere? I imagine there is some document in the trove here that suggests methods for doing that. For any who have handled this arcane process, do you have suggestions that make the NI process more clear, I find that some of the NI "how to's" assume a level of understanding I just don't have.
be well,
DLC
09-11-2024 10:32 AM
The changes to the model were significant after 2010 and how the model sequence files were redesigned and the addition of model plug-ins makes copying sequence files from one to the other problematic.
I have seen other TestStand users take one of two paths, and both paths take effort:
1) Pull over the custom model files from the older system, including required model support files, like TsDBOptions.dll, register the any ActiveX servers using regsvr32.exe, and they work from there.
2) Use legacy model switcher and then modify the legacy models to match those from the older system.
A third option is to redesign your customizations to fit the new models and the plug-in architecture.
09-11-2024 10:45 AM
The changes to the model were significant after 2010 and how the model sequence files were redesigned and the addition of model plug-ins makes copying sequence files from one to the other problematic.
I have seen other TestStand users take one of two paths, and both paths take effort:
1) Pull over the custom model files from the older system, including required model support files, like TsDBOptions.dll, register the any ActiveX servers using regsvr32.exe, and they work from there.
2) Use legacy model switcher and then modify the legacy models to match those from the older system.
A third option is to redesign your customizations to fit the new models and the plug-in architecture.
Thanks Scott.
The prior team obviously took the first approach, and that is working, but it required me to echo their changes from the TS2016 to my TS2022 SP1. It will also require me to move all current changes that occurred on the original code that were made in the intervening years. Lots of work.
I have not done enough study to know how to use the Legacy Model Switcher, but I THINK I know what you are talking about.
I really want to move the code base to the modern paradigm so I do not need to do anything to keep up with the future TS changes. However, they made two major changes in the last ten years, so is that even something that makes sense?
Maybe the only reasonable path is the one of least resistance because it will all change in the future and something else will be needed then.
be well,
DLC
09-12-2024 11:51 AM
I really want to move the code base to the modern paradigm so I do not need to do anything to keep up with the future TS changes. However, they made two major changes in the last ten years, so is that even something that makes sense?
Unsure, it depends on what the major changes are and how easy it is to implement within the newer design. If you give more details here on those two changes, we might be able to give you more guidance.
09-12-2024 12:24 PM
Scott,
Actually the major changes I refer to were NI changes in TestStand. Any mods I do to standard models will just have to be re-done again with the next release. If I can figure out how to use custom model plugins then I won't have to keep hacking the system.
The test has a custom sequential model that is used, but then there are the Test UUTs calls and I don't understand yet how all those fit together.
be well,
DLC