LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

I cannot create a channel write: LabVIEW says that the element is an array, even though it isn't

Capture.png

As the title says, LabVIEW keeps saying that the element I am attempting to create a channel writer for is an array, even when it isn't. This happens regardless of what kind of writer I choose and which element I am trying to connect to.

 

I have attached a basic VI in which I cannot create any form of channel writer. 

 

I am currently using LabVIEW 2018 (required by work), I am assuming there is something going on with my install but I have no idea where to look.

0 Kudos
Message 1 of 8
(302 Views)

Works fine in 2020. Not sure if 2018 had a bug...

 

altenbach_0-1756243515370.png

 

0 Kudos
Message 2 of 8
(272 Views)

LabVIEW didn't say the element was an Array -- you said it!  Write Multiple and Read Multiple require Array inputs/outputs.   

 

Although I've been using Channel Wires since LabVIEW 2015 (when they were a "Hidden Feature"), I don't think I've ever used Read Multiple or Write Multiple.  These require Arrays as the basic data type to send or receive -- if you want to pass elements, use Write or Read.  For example, I've passed Arrays with Stream Channels (for example, the output of a DAQmx buffer of 1000 samples at 1 kHz, i.e. a second of data), but they got passed with "Write" (and the entire array was sent as a single "element").  

 

Can you explain your "use case" for Read/Write Multiple?  

 

Bob Schor

 

 

0 Kudos
Message 3 of 8
(249 Views)

I apologize if I wasn't clear. This is regardless of what kind of channel writer I choose.

 

Single write stream and all other channel writer options behave the exact same way and show the same message. This is regardless of which one I choose or which element I am trying to write from. Believe me, I tried every single kind of writer to find an exception, there are no differences at all.

0 Kudos
Message 4 of 8
(205 Views)

Please attach some LabVIEW code (that's a file that has the extension .vi, and which will show the version of LabVIEW that created it).  Somewhere I have code that uses Channel Wires (mostly Messenger and Stream) saved in LabVIEW 2017, 2019 and 2021.  I'm travelling tomorrow, but if you post today, I should be able to say something.

 

But first, tell us a little bit about your LabVIEW environment.

  • What Operating System are you running (include whether a 32-bit or 64-bit OS).
  • What version(s) of LabVIEW are installed.  Include year, release, 32-bit or 64-bit, and whether Base, Full, Professional, or Academic.
  • Who installed LabVIEW on your computer?
  • Have you ever tried to remove LabVIEW from your computer?  Have you ever edited the (Windows) Registry to do a "complete removal"?  If "Yes", please elaborate.

Note that the last Bullet Point, if answered "Yes", will require some effort to repair.  I've done it twice ...

 

Bob Schor

0 Kudos
Message 5 of 8
(168 Views)

OK, I wrote a demo VI in LabVIEW 2018 and saved it for 2018 (so if you have a working value of LabVIEW 2018, this should run).  I'm posting a LabVIEW Snippet of the 2019 code, and (since its a simple VI) have attached the 2018 version that was "Saved for Previous Version".DEMO Stream Example.png

 

Write if something isn't clear.

 

Bob Schor

 

P.S. -- I expect the attached VI should work on a properly-installed LabVIEW 2018 system.  If it fails, answer the questions I posed in my previous response, and if there is Very Bad News, I'll let you know.

0 Kudos
Message 6 of 8
(153 Views)
  1. I am on Windows 10 64bit
  2. I am Running LabVIEW 2018 SP1 32bit, professional edition.
  3. LabVIEW has been installed on my computer by the lead developer.
  4. I have uninstalled and reinstalled LabVIEW several times due to driver conflictions. 

 

Additional helpful information: 5 different computers on our team are all lacking the ability to create channel wires, and I have double checked that this was not somehow done intentionally;  the lead developer is not aware of anything that has been disabled in LabVIEW on our computers (or if it's even possible).

 

I attempted to load the VI you provided, here is the result. It does load and work properly in LabVIEW 2025 on the same computer. During loading, it asked for a slew of library files that do not exist in the Data folder for LabVIEW 2018. They are present in the 2025 Data folder; it seems like LabVIEW 2018 is not generating the library files.

 

 

chismgr_0-1756384812392.png

 

Every missing SubVI gives a message similar to the following when using context help.

 

chismgr_2-1756385732320.png

 

 

 

0 Kudos
Message 7 of 8
(120 Views)

I can think of a number of possibilities that might (?!?) cause your problem.  You mention that the computer you tested my code on has (both) LabVIEW 2018 and LabVIEW 2025 installed.  I suspect that is the direct cause of your problems.

 

In 2017 (I think), NI introduced the NI Package Manager as the "installer" for LabVIEW.  Prior to that release,

LabVIEW was issued (and installed) from "oldest to youngest", i.e. you installed LabVIEW 2015 in August of 2015, then you installed LabVIEW 2016 in August of 2016, etc.  In my case, I was working with colleagues who had installations from 2013 to 2016.  If you wanted to construct a "multi-version" installation of LabVIEW, you installed the oldest version first, then newer versions.

 

In 2018, I tried multiple times to create what I called a "Quadruple LabVIEW Installation" -- LabVIEW 15, 16, 17, and 18.  I started with a PC that had no LabVIEW installation.  If necessary, I "prepared" it by going to Control Panel, Programs and Features, and uninstalling "National Instruments Software", a process that could take some time, and usually had to be repeated more than once "to get it all".  [When NIPM was the installer, the first pass removed everything except NIPM, the second pass removed NIPM, then a third pass removed miscellaneous bits and pieces].  I didn't touch the Registry.

 

I then started installing one version at a time as though it was a "standard (old) LabVIEW installation", complete with toolkits and drivers I wanted, oldest first.  I forget where it bombed out, but it was an obscure error message in 2017 or 2018.  Long exchanges (with copious documentation) with Marina, my Tech Support buddy, who took my woes to the developers and came back with a radical suggestion:  Install 2018 first, then 2017, then 2016, then 2015.  I didn't believe her, tried it my way, it failed again, uninstalled, then tried it her way, and it worked!

 

This was my rude introduction to the new "version compatibility rules" for LabVIEW.  LabVIEW versions were to be "compatible" for the most recent installed version and backward compatible for 5 years (so if you install 2025, it will be compatible with 2024, 2023, 2022, and 2021).  Now that the "awkward" period of pre-NIPM and post-NIPM installers has passed, NIPM can install newer versions "on top of" older versions without breaking them, as long as you don't violate the 5-year compatibility.  [That doesn't mean that LabVIEW 2020 wouldn't work, but it might not!]

 

So my current "guess" to your woes is having LabVIEW 2025 installed.  Try installing only LabVIEW 2018 on a computer and see if my code runs.  [Note -- I don't have 2018 installed on my PC, but I do have 2019, which is what I used to develop the demo, saw that it worked, then "Save for Previous" to 2018].  I suspect that the slew of special Library Files that you encountered (they drove me crazy, as well) are there, in part, to implement the new "compatibility" rules.

 

Bob Schor

 

Bob Schor

0 Kudos
Message 8 of 8
(62 Views)