From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error after creating Tag channel

The operation should be simple enough: create a Tag Channel writer from my typedef'd cluster and send it directly to a Tag Channel reader. But the moment I create the writer, my VI shows a broken arrow and reports errors within the VIs that make up the channel itself. Creating a corresponding reader, which seems too be necessary, still doesn't make the errors go away.

 

I have some idea what happened: the typedef was a "pink cluster" which didn't work for me, so later I got rid of an array inside it, changing it to a "brown cluster". But the channel class had already been created. Deleting all instances of channel readers and writers and starting over does not cause the channel class to be re-created, so I don't know how to get out of this mess. Help!

 

Attached you will find both my VI's (Tag Channel Error.vi is main) and the library that was created in forming the channel.

 

Errors reported:

Channel errors list.PNG

The cause:

Troubled Get.vi.png

 

Observed in LabVIEW 2017 running on Windows 7.

Download All
0 Kudos
Message 1 of 3
(2,170 Views)

After closing LV you try to blow away...

 

C:\Users\bar\Documents\LabVIEW Data\2017(32-bit)\ExtraVILib\ChannelInstances

 

and then open the VI again. LV will rebuild it if it is not there.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 3
(2,165 Views)

I was able to open your File and the Tag Channel Wire Reader and Writer (which it built while I watched) were fine.

 

Channel Wires depend on support code that is generated when the Channels are first created.  This code is saved on a "per-user" basis by living in the User's Default Data Directory, the LabVIEW Data folder.  These "generated-during-development" support codes form an addition to VI.lib called "ExtraVILib", and include the ChannelWires support VIs.

 

If you only use Channel Wires in one LabVIEW Project, you will probably not encounter the problems you faced.  The Support Routines are generated based on the name (and types) of the Channel Wires that you create.  Where you "get into trouble" is when you become a Channel Wire Enthusiast (as I am) and use them widely in multiple LabVIEW Projects.

 

When Channel Wires were first introduced, I argued with the Development Team that Channel Wire support code should be Project-based, so that a Messenger Channel based on the type "Message" in Project A would not "clash" with a Messenger Channel based on the type "Messge" in Project B (I ran into this when testing Channel Wires in LabVIEW 2015).  The "trick" of "wiping the Slate Clean" by deleting the ChannelWires Folder was a "fix" that was offered at that time -- I'm still hoping that something more transparent will be forth-coming.

 

Bob Schor

0 Kudos
Message 3 of 3
(2,139 Views)