LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Channel Writers/Readers just disappear. No error messages or anything.


@Kyle97330  ha escrito:

Bob, I'm going to go ahead and disagree here and say that a gif is actually pretty good as far as showing the issue and precisely what he was trying to do.

 

As far as replicating the issue, it's with near-certainty a problem with his specific computer at this moment and not a problem with LabVIEW 2017 or channel wires in general.

 

To the original poster:  Do you have a license in good standing including NI support?  It couldn't hurt to ask.  They are after all the people who have the password to the VI that might be able to give you a hint at what's wrong with your setup.

 

Since this may be trying to write something to disk, could you try it either with your antivirus disabled or by running LabVIEW as administrator just in case there's a weird issue there?

 

Is this something where you could take the nuclear option if need be?  Complete uninstall and reinstall?


I no longer have a license unfortunately, it expired and we screwed up by waiting more than a year to renew it so it costs more again.

 

I actually have admin rights and I'm able to run LabVIEW with elevated permits. The reason I had discarded the anti-virus is because I can see the channel utilities being created in the folder.

 

There's also another computer with the same specs and software, except that it doesn't have admin rights but it works there.

 

I can try the nuclear option in the end.

0 Kudos
Message 11 of 17
(1,896 Views)

@Kyle97330 wrote:

Bob, I'm going to go ahead and disagree here and say that a gif is actually pretty good as far as showing the issue and precisely what he was trying to do.

 


Not so good.  The problem with a GIF is that you really can't tell where it starts or ends or how long it lasts.  An MPEG would at least let you know that.

0 Kudos
Message 12 of 17
(1,885 Views)

Ok. So I fixed it.

 

I have no idea why it worked. But basically every time I created a channel writer/reader, the creation seemingly "failed". BUT, the dependencies were generated in the ExtraVILib folder.

 

So I just dragged the channel to the block-diagram. Then I attempted to re-create the channels and poof, it worked!

 

I don't think I've solved the root issue however. If I try to create a new channel reader, I get the same issue. (I must drag the read.vi to the Block Diagram) then try again. (This also applies to some new types that haven't been created yet.)

 

I attached a .gif again where I successfully create writers for two types and then fail to create the readers UNTIL I drag their read.vi to the block diagram. (This next thing isn't in the gif) Afterwards I tried to create one for a string and failed. I repeated the same procedure and it worked.

 

In essence:

  • The channel creation utility seems to create all the necessary dependencies at first glance. BUT the read.vi or write.vi simply disappears right afterwards.
  • Whenever a channel creation fails, I just need to drag their method write or read to the block diagram and try again. Then it fixes it for all subsequent channel writers or readers of that type respectively.

 

I've tested the channels and they work, BUT I noticed one thing I'm not sure is normal. See this picture:

HorseBattery_Stapleguy_0-1616639634454.png

 

Are they supposed to have a ")" in the name?

And that's it. The work-around is good enough for me, so I'm happy.

 

Note: I attached the gif purely for reference. If its too big let me know to take it down or something.

0 Kudos
Message 13 of 17
(1,880 Views)

The name starting with ')' is correct. I too am curious to the naming choice.

 

Nice gif, looks like you solved it enough to not have to reinstall. 

 

(Agree that a video would be better, although I understood the first gif and issue description. You can also embed gifs or videos. )

Certified LabVIEW Architect
0 Kudos
Message 14 of 17
(1,852 Views)

I just experienced the same error (LabVIEW 2019 SP1) after installing on a new PC. Moving and pointing the LabVIEW Data folder did not do it for me - see attached video. I got this advice from the support which worked - though I am hereby sharing it:

 

NI Support:

"If I understood correctly this might be the solution for the issue you are facing To Fix the Channel Wires Try the following:

 

-Delete the ChannelInstances folder in the ExtraVILib folder in your LabVIEW Data Directory. " see attached"

 

You will lose all of your Channel Definitions and assorted support code, but when you load your Project, they should be rebuilt. Once Channel definitions for a Project have been realized, they are likely to remain stable unless you make significant changes to the definitions associated with the Channels in the Project."

 

After having done that the issue remained when I created the first ch readers and writers, but after first trial the stuck to the BD

 

Hopes this helps anyone in the future

0 Kudos
Message 15 of 17
(717 Views)

I am sorry you are having so much trouble with my favorite LabVIEW Feature, Asynchronous Channel Wires.  I use them all the time, and have a dozen or more in the Project I'm currently developing.

 

Channel Wires are "created" when you invoke a Channel Writer.  The code that supports the Channel is generated in a folder called ChannelInstances that can be found in the "Default Data Directory", which is (by default, no pun intended) in your Documents folder under LabVIEW Data, inside a folder called something like "2019(32-bit}".  Inside this folder, you will find the folder "ExtraVILib", and inside that, you will find "ChannelInstances".  This last folder contains all of the code that LabVIEW has created for all of the Channels you have created.

 

Note that Channels are named for the type of Channel (e.g. Messenger, or Tag) and their Content (e.g. str, bool, or t'TypeDefName'.  Channels are not associated with a Project, which means if you have two Projects with a Channel that uses a user-defined TypeDef (say "Subject Info", a cluster with Name, Age, etc.) that have the same name but different Typedefs, you will have a problem as only a single Channel definition will apply.  Also (and this caused me some trouble) if you are developing a Real-Time Project and use Channels in both the Host and Target code, you should definitely use separate names for Host and Target Channels (H-Subject, T-Subject, for example).

 

Large Projects (several hundred VIs, a dozen or more Logical Folders) with multiple Channel Wires defined at different "levels" of the code can sometime fail to compile.  If your Project has a "nesting" structure (such as a sub-VI with lots of its own "private" components, but one that uses Channel Wires), you can usually cure the problem by taking the following steps:

  1. Find the ChannelInstances Folder for your version of LabVIEW and delete it.
  2. Open your Project.  Find the deepest-nested Virtual Folder that includes Channel Wires.  Open the VIs in that folder that contain the Channel Writers (you only need one instance, so if there's a "Main" VI in the Folder that calls the others, open that one).  That should cause LabVIEW to build its "local" Channels (and possibly some higher ones, as well.
  3. After you have the lowest level Virtual Folders opened and their VIs loaded into memory (building their Channels), go up one Folder Level and repeat.  When you get to the Top Level, you'll have safely build all the Channel Wires in your routine.

A note on LabVIEW 2019 -- at some point, (as part of Service Pack 1?), a change was made to the Messenger Channel.  The eagle-eyed among you might have noticed reference to a "Messenger2" Channel.  If (when you open ChannelInstances) you notice a mixture of Messenger and Messenger2 Channels, you might also notice some flakey behavior if you use Messenger Channels (this is probably the Channel I use the most).  If this happens, close your Project, delete ChannelInstances, and load your Project (and redefine your Channel Wire) again.

 

Bob Schor

0 Kudos
Message 16 of 17
(710 Views)

If possible, upgrade to LV2020 or higher. I had some issues with channel wires that were present in LV2019SP1 but not in LV2020.

 

Now I only have a few issues with channel wires, the most important being: Never change namespace.

Also, if you want to use channel wire probes, do not use lvlibs.

Certified LabVIEW Architect
0 Kudos
Message 17 of 17
(682 Views)