LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

This control refers to a LabVIEW class that is missing.

Solved!
Go to solution

Hi 
I'm Picking Up the work of a collegue, I need create a New Project and add references to vi copied 
I fixed all the dependencies and i Went to Run it 

Progetto.png

 

but it didnt run 

 

Error List.pngù

 

those VI and Class reference  are in 

%HOMEPATH%\Documents\LabVIEW Data\2017(64-bit)\ExtraVILib\ChannelInstances

 

Librerie.png

 

this is Bad because my Project base can not be dependent by the user logged in, i can't SVN those file

 is there a way to move them?

 

 

if you look at the project the vi are present in the last line of the dependencies and there is no signal fore errors or conflict but the progect do not run, the only hint is if I open the node 

 

NOdo.PNG

that class is not loaded, but if i go there and Load that the project manager say it cannot be loaded

no other Hint or possibilities...

 

How do I Fix the Import so that the project run?

 

 

 

0 Kudos
Message 1 of 10
(3,840 Views)

Your code has a Stream Channel Wire in it, one based on a TypeDef called Sensor Interface.  I tried looking at your code to see where this is defined, but since you didn't post it, I can't provide additional help.

 

My recommendation:  compress the folder that contains the Project (which creates a .zip file).  Reply to this post, and attach the code (the .zip file).  We can then take a look at it and try to suggest a fix.  Among other things, we would be able to determine what version of LabVIEW you are using ...

 

Bob Schor

0 Kudos
Message 2 of 10
(3,816 Views)

Your project contains the Sensor Interface class but not the library. If you look at the error message it states that Sensor Interface.lvlib:StreamData.lvclass:<VI Name> is missing. Instead of adding the class to the project, add the lvlib file to the project. That will pull in all of the contents of the library including the classes.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 3 of 10
(3,805 Views)

I am using Labview 2017   17.0 (64bit)

 

the problem about the class not loading was solved by restarting the Project Explorer. 

The part of the code that is misplaced is about a "Sensor board " developed by  my company, I moved the classes back to the specific path, and everithing worked.

 

But this is not accettable, if i switch user I need to copy those and, SVN those things in a User dependent path make no sense

Sensor Interface.png

I Tried to move the Library files but when i put them in the project i have the previous errors, the project references do not change properly 
I added the Zip files, the KFX contain the Project and 2017 contain the parts that go under <User>\Documents\LabView Data

 

Download All
0 Kudos
Message 4 of 10
(3,762 Views)

Why is library code saved to a user's documents directory?  It should be saved to User.Lib under the LabVIEW program's install directory.

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

That's exactly my question, I picked up this project from the previous employee, so i do not know

0 Kudos
Message 6 of 10
(3,677 Views)

You might have to contact that previous employee.  And if you can't, hopefully anyone he worked with or his supervisor will know what these files are and where they came from.

 

Is the PC he worked on still available?  Look on there.

0 Kudos
Message 7 of 10
(3,672 Views)

First backup what you have in "\ExtraVILib\ChannelInstances" so that you can restore it if needed.

 

Then just blow away the folder "...\ChannelInstances".

 

When you open LV and that project again LV should automatically recreate that folder.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 8 of 10
(3,670 Views)
Solution
Accepted by topic author Matteo_R_C

@Ben wrote:

First backup what you have in "\ExtraVILib\ChannelInstances" so that you can restore it if needed.

 

Then just blow away the folder "...\ChannelInstances".

 

Ben


To expand slightly on Ben's answer and to give an answer to the "missing class" question:

 

Starting with the introduction of Channel Wires in LabVIEW 2016, Channel Wires were added to LabVIEW.  Each Channel Wire requires code to support it, code that is generated when the Channel Wire is created and is unique to the Channel Wire "type".  The Design Team saved the code as a LabVIEW Library, but "named" for the Channel Wire, itself.  Where to save it?  If in vi.lib, then all Channel Wires for all users of the PC would live "together", and there could well be name clashes (especially Channels involving user-created TypeDefs).  If inside the Project, there were other "negatives", possibly related to "bloating" the Project (I'm speculating here).  So a decision was made to create an "ExtraVILib" for each User, "hiding" it in the User's LabVIEW Data folder inside a folder specific to the particular version of LabVIEW as the ChannelInstances sub-folder.

 

When you open a Project that has Channel Wires, as it loads the Project, it tries to connect with the corresponding Channel Wire support .lvlib file stored in the ChannelInstances ExtraVILib folder -- if it doesn't find the file, it regenerates it.  

 

One consequence of the "User-centric" location of ExtraVILib, and the "Project-centric" nature of Channel Wire definitions, two Projects could define two Channel Wires with different properties but identical names, which produces a "clash".  The easiest (and, so far in my experience, perfectly safe) way to "fix" this is to simply delete the entire ChannelInstances folder from the appropriate ExtraVILib file in the LabVIEW Data folder.  Loading the Project will force all the Channel Wires to be recreated (which could take a minute or two) -- you should think about which (other) Project might have a Channel Wire of the same name but different "reality" (again, usually arising from a Project-specific TypeDef sharing a Name with a different TypeDef in another Project).  Decide which Project's TypeDef needs to be renamed, and avoid the Clash next time.

 

Bob "Channel Wire" Schor

0 Kudos
Message 9 of 10
(3,645 Views)

Thanks for the explanation but, i switched user and labview didn't regenerate the channel, that folder on the new user wasn't  there at all, i'll give it another Try but it was difficult to move code from one user to another and somehow the regeneration process wasn't seamless... i guess I'll investigate a little bit more maybe open a new post

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